Bez cyklů toho fakt moc neuděláš (možná tak největší/nejmenší ze tří čísel), mrkni na to jak se vytvářejí a roztoč kolotoč
Ta sbírka úloh od BX je moc pěkná, hned na základní úloze č. 8 se dá krásně vyřádit. Místo prostého rozměnění na mince naprogramuj bankomat, kam se přihlásíš číslem účtu a PINem, pokud účet existuje (předpokládám vyhledání v nějakém poli, jestli je už umíš), tak se zobrazí zůstatek, po zadání požadované částky program zkontroluje jestli je kredit dost vysoký, a buď vypíše varování nebo částku vyplatí a odečte z účtu. A teprve po tom odečtení vypíše seznam bankovek a mincí příslušné hodnoty a jejich počty, jako by je tahal z pokladny.
K tomu se ti zrovna hodí SWITCH.
A jestli si rád hraješ a současně u toho přemýšlíš (což asi ano, když ses dal na programování), tak můžeš zkusit hru NIM. Nejznámější hospodská varianta je prosté odebírání zápalek, kdy prohrává ten hráč, na kterého zbyla poslední. Pravidla jsou jednoduchá:
- Na začátku hry se vygeneruje náhodný počet zápalek, což je liché číslo v rozsahu 17 až 27.
- Stejně tak se vylosuje maximum které se v dané hře smí odebírat, v rozsahu 2 až 5.
- Hraje člověk proti počítači, v tazích se střídají. Výhodnější pozici má ten kdo začíná, takže je dobré aby i první tah byl přidělený náhodně a nezačínal pořád ten samý. Nebo, pokud se hraje víc her za sebou, jednou začíná člověk a jednou počítač, a nebo může začínat ten který minule prohrál, což mu dá větší šanci na výhru. To už záleží čistě jen na tobě, co se ti víc líbí a připadá ti spravedlivější.
Ukázka hry:
Kód:
V této hře můžeš vzít 1 až 3.
Počet zápalek: 19
Hraje člověk: 3
Počet zápalek: 16
Hraje počítač: 3
Počet zápalek: 13
Hraje člověk: 4
To nejde!
Počet zápalek: 13
Hraje člověk: 1
Počet zápalek: 12
Hraje počítač: 3
Počet zápalek: 9
Hraje člověk: 3
Počet zápalek: 6
Hraje počítač: 1
Počet zápalek: 5
Hraje člověk: 2
Počet zápalek: 3
Hraje počítač: 2
Počet zápalek: 1
Vyhrál počítač.
Chceš hrát znovu? (A/N) _
Pár poznámek k programu, kromě maxima je dobré ohlídat aby nešlo odebrat záporné číslo nebo nula, což by určitě nějaký podvodník zkusil. Také nesmí jít vzít víc zápalek než leží na stole, ale když nějaký trouba zvedne poslední dvě zápalky co tam jsou místo jedné, tak samozřejmě prohraje, i když nemusel. A pro počítač se dá jeho odebírání udělat buď náhodným číslem, což bude dost hloupý a snadno porazitelný protivník, nebo zkusit vymyslet výherní strategii, která z něj udělá těžko porazitelného soupeře, co neodpustí žádnou chybu. Zrovna v téhle hře není moc složitá ;-)
Použiješ tady IF, FOR, WHILE, a výpis výsledku se dá udělat zrovna přes ten ternární výraz.