| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 15.12.13 Prihlásený: 12.03.16 Príspevky: 9 Témy: 7 |
Zdravim potrebujem pomoct s jednym problemom v zadani. Ak karol prejde tym istym miestom tak tam nepolozi znacku aby si ich usetril. Potom pri navrate domou nemoze skontrolovat aku cestou sa vydat .. Program zatial vyzera nasledovne.. #include <karel.h> void darkWalk(); void control(); void turnBack(); void turnRight(); int main() { setStepDelay(200); turnOn("world1.kw"); control(); darkWalk(); turnOff(); return 0; } void turnBack() { turnLeft(); turnLeft(); movek(); } void control() { if (frontIsClear()){ movek(); } else { turnRight(); movek(); } while (noBeepersPresent () ){ turnBack(); turnLeft(); if (leftIsBlocked()){ turnRight(); } if (rightIsBlocked()){ turnLeft(); } control(); darkWalk(); } void darkWalk() { pickBeeper(); control(); } void turnRight(){ turnLeft(); turnLeft(); turnLeft(); }
|
|
Registrovaný: 24.08.12 Prihlásený: 09.02.19 Príspevky: 59 Témy: 0 | Napísal faraon: 23.10.2015 18:26 | |
|
Taková krásná úloha, a tak hnusný Karel. Co je to sakra za obludnost? TOHLE JE KAREL! Nejjednodušší řešení bude rekurze. Program prostě vyzkouší postupně všechny čtyři směry: pokud před Karlem není zeď, popojde a podívá se jestli je tam beeper. Když ano, zvedne ho a zavolá znovu sám sebe, jinak couvne. To je celé.
_________________ "Existuje pouze jeden člověk, který má méně přátel než Bill Gates, a tím je Saddám Husajn." (Paul Grayson) |
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|