00000001 - Jednoduchá kalkulačka
00000010 - Odebírání zápalek
00000100 - Gregoriánský kalendář
00001000 - Hádání kombinace
00010000 - Vigenérova šifra
00100000 - Hledání min
01000000 - Házení kostkou
10000000 - Conway's Game of Life
Je tu další měsíc, další neděle, a další hra. Tentokrát to nebude přímo hra, ale spíš herní statistika. Každý z nás hrál nějakou hru ve které se používají kostky, a třeba i přemýšlel nad tím, jak předpovědět které číslo padne na kostce příště. Přitom sledoval jak čísla padají po sobě, které už padlo víckrát, a které se naopak moc neobjevuje...
Kolikátá je šestka?
Jenže lidská paměť je omezená a chybující, zato počítač si dokáže pamatovat všechno co se mu řekne. Takže si dokáže zapamatovat třeba tisíc čísel hozených v řadě, a může s nimi provádět i různé zajímavé věci!
Nejdůležitější a nejčastější činnosti které programy s daty provádějí jsou vyhledávání a třídění. Tomu posledně jmenovanému bude věnován bit 01000000, protože zaznamenaná čísla je potřeba seřadit podle velikosti!
Požadavky na program jsou úplně jednoduché, musí si zapamatovat až 1000 čísel v rozsahu 1 až 6, ke každému přidat jeho pořadové číslo, kolikáté v řadě padlo, a seřazená od nejmenšího po největší je vypsat.
Příklad vstupních dat:
Kód: Vybrat vše
2 5 1 3 3 2 4 5 2 2 0
Očekávaný výstup:
Kód: Vybrat vše
1 3
2 1
2 6
2 9
2 10
3 4
3 5
4 7
5 2
5 8
V levém sloupci jsou hozená čísla, v pravém jejich pořadí, kolikátá padla. Je možné použít jakýkoliv způsob uložení v paměti, jednorozměrná pole (vektory), vícerozměrná pole (matice), pole struktur, lineární i rozvětvené seznamy, prostě cokoliv kdo bude chtít. Stejně tak způsob řazení může být úplně libovolný, jaký si jen dokážete vymyslet. Samozřejmě čím jednodušší tím lepší. Program musí dodržet jenom tato dvě pravidla:
- Vstupních čísel načte maximálně 1000, od 1 do 6, číslo mimo rozsah nebo chybný vstup je signál k ukončení načítání.
- Řazení musí být stabilní, takže pořadí stejných čísel musí zůstat v pořadí v jakém padla.
Vstupní data jsou zde:
Kód: Vybrat vše
2 5 4 5 6 5 2 5 4 5 2 1 4 1 6 5 2 5 6 5 2 1 4 1 2 3 4 5 2 1 2 5 6 5 2 1 2 5 2 1 2 5 6 5 2 5 6 3 4 5 6 3 2 3 6 5 2 5 4 1 6 5 4 5 2 1 4 5 2 1 6 1 2 3 4 1 4 1 4 3 6 1 4 1 2 1 6 5 2 1 6 3 4 5 2 3 4 1 6 1 6 1 6 1 6 5 6 3 6 3 2 3 2 3 6 5 4 5 6 5 4 1 4 5 6 3 2 3 4 3 2 1 2 3 4 1 2 5 2 1 4 5 2 1 6 3 2 3 2 3 6 5 2 3 2 3 6 5 2 3 6 1 6 5 4 3 2 5 4 1 2 5 4 3 2 1 2 5 4 3 6 3 4 3 2 3 6 1 2 5 4 3 4 1 4 5 6 3 6 3 2 3 6 5 4 5 4 1 6 5 4 3 4 5 4 5 2 3 6 1 4 5 6 3 6 5 4 5 4 5 2 3 2 5 6 3 6 5 6 3 6 1 4 3 6 1 2 3 2 5 4 3 2 5 2 3 4 1 2 3 4 3 4 3 2 1 2 3 6 5 4 5 2 1 4 5 2 5 4 3 4 1 6 3 4 5 6 1 4 3 4 1 4 3 4 3 6 1 2 5 6 5 6 1 2 3 4 5 6 1 2 5 2 5 6 1 6 1 6 5 2 1 6 1 6 3 6 3 4 5 6 1 6 5 4 1 2 3 6 3 4 5 4 1 4 5 4 1 6 3 2 1 6 1 2 5 4 5 4 1 4 1 2 5 6 3 6 1 4 5 6 5 6 1 4 1 6 3 6 5 4 3 2 5 2 5 4 1 6 1 4 1 2 5 2 3 4 1 6 5 4 3 6 5 2 1 2 5 6 5 6 5 4 5 6 1 2 5 4 1 6 3 2 1 2 5 4 5 4 5 4 3 4 3 6 3 4 3 4 5 2 5 6 5 2 1 2 3 2 5 2 5 4 3 6 1 2 1 4 5 6 3 2 3 6 3 4 1 6 5 2 3 2 3 4 5 6 3 6 1 6 3 4 1 2 1 6 1 6 5 6 5 2 5 6 3 6 5 6 5 6 3 6 3 4 5 6 5 4 3 6 1 6 1 4 5 4 5 4 5 4 3 4 3 4 1 2 3 4 1 2 5 2 3 2 3 2 5 6 3 6 5 4 3 6 3 2 1 4 5 2 1 6 3 6 5 4 5 6 5 6 3 6 5 6 3 4 5 4 5 6 5 6 5 2 1 4 1 2 1 6 3 2 5 2 5 6 3 6 1 2 3 6 1 6 5 4 3 4 5 4 5 6 3 4 5 4 3 4 5 6 1 6 5 6 5 4 1 4 1 6 5 6 1 6 5 2 5 2 1 4 3 2 5 2 5 6 1 2 1 6 3 2 3 2 5 6 3 4 5 2 3 6 3 4 3 6 3 4 3 6 1 6 3 4 3 6 5 4 1 4 1 2 5 6 5 6 1 4 1 2 5 2 5 6 1 4 3 4 5 2 3 6 1 6 5 2 3 2 1 2 1 2 5 2 3 2 3 6 5 2 5 2 3 4 3 6 5 2 3 6 3 4 3 2 3 6 5 2 1 6 5 2 1 4 5 2 1 4 5 4 3 4 1 2 1 6 3 4 5 4 1 4 1 6 1 2 5 6 3 6 5 2 3 2 1 6 3 6 1 4 3 4 5 4 5 6 3 2 3 2 5 6 5 2 3 4 1 2 5 6 1 4 1 6 5 6 1 4 1 6 5 6 3 4 1 2 5 4 5 2 3 2 5 2 3 4 5 2 3 2 5 2 1 4 1 4 1 6 1 6 1 2 5 4 1 6 1 6 3 4 5 4 5 4 1 6 1 2 5 4 5 6 3 6 5 6 5 6 1 2 3 4 3 4 5 4 1 4 1 2 3 2 5 2 5 6 3 4 3 2 3 6 5 4 3 4 1 6 1 6 3 4 3 4 3 6 5 4 5 4 3 2 5 2 5 6 1 4 1 2 1 4 5 6 3 2 5 6 3 6 3 4 3 2 1 4 1 6 1 6 3 6 1 2 1 2 3 4 1 2 3 6 5 2 3 2 3 4 5 6 1 2 5 6 5 6 1 6 1 6 3 2 1 2 3 6 5 4 3 6 3 4 3 6 1 4 3 2 1 4 5 6 1 4 3 6 1 4 5 2 5 2 5 2 3 2 5 4 1 6 0