Zadejte hledaný výraz...

Rozpočítadlo

kowestra
verified
rating uzivatele
(3 hodnocení)
4. 11. 2009 21:08:05
Při hledání příkladů na procvičení programování jsem narazil na jeden příklad:
Je dán počet dětí, délka rozpočítadla a pořadové číslo dítěte, od kterého se začíná rozpočítávat. Určete pořadí, v jakém budou děti vypadávat z kola. (zdroj: http://eliska.kymlickova.sweb.cz/Poznamky/Priklady.html) a vůbec nevím, jak na to.
Podle mně tam bude:
cyklus (while nebo do...while)
po čase bude délka rozpočítadla delší než počet dětí => vnořený cyklus(while)
Pls pomozte mi.
4. 11. 2009 21:08:05
https://webtrh.cz/diskuse/rozpocitadlo#reply398529
drago
verified
rating uzivatele
(73 hodnocení)
4. 11. 2009 21:29:56
Jen navrch narychlo :)
1 Zakladem bude deti nahazet do array s tim se pak dobre pracuje.
2 Kdyz dite vypadne zapiseme si jej do nejake textove promene a vymazeme jej z pole
3 Opakujeme bod 2 dokud v nem bude nejake dite :)
V bodu 2 se bude muset zohlednit, ze rozpocitani muze byt aktualni cislo ditete + rozpocitani vetsi nez je soucet deti. Proste bude li vypocet pres musime snizit pocet o to pres. Proste mame li 10 deti a vyslo nam ze ma vypadnout 14te, tak musime tuto hodnotu snizit o 10, aby vypadlo 4te. Pozor tady se muze stat ze mas 3 deti a ma vypadnout 7me, takze snizni o 3 by te dovedlo na zacatek, takze to chce zakomponovat do skriptu.
4. 11. 2009 21:29:56
https://webtrh.cz/diskuse/rozpocitadlo#reply398528
kowestra
verified
rating uzivatele
(3 hodnocení)
4. 11. 2009 22:02:31
Napsal drago;390514
V bodu 2 se bude muset zohlednit, ze rozpocitani muze byt aktualni cislo ditete + rozpocitani vetsi nez je soucet deti. Proste bude li vypocet pres musime snizit pocet o to pres. Proste mame li 10 deti a vyslo nam ze ma vypadnout 14te, tak musime tuto hodnotu snizit o 10, aby vypadlo 4te. Pozor tady se muze stat ze mas 3 deti a ma vypadnout 7me, takze snizni o 3 by te dovedlo na zacatek, takze to chce zakomponovat do skriptu.
jj tam bude asi ten vnitřní cyklus:
//dětí je 10
while (count($deti) != 1)
{
$delkaRozpocitadla = 10;
while($delkaRozpocitadla > count($deti))
{
$delkaRozpocitadla = $delkaRozpocitadla - count($deti);
}
echo 'Vypadává: '.$deti;
//a teď vymazání dítěte, ale nevím, jak je to v PHP
clear($deti); //nevím, jestli je to správně
}
4. 11. 2009 22:02:31
https://webtrh.cz/diskuse/rozpocitadlo#reply398527
ttt99
verified
rating uzivatele
(3 hodnocení)
4. 11. 2009 22:31:13
Nebolo by lepsie cez modulo ? (zvysok, ked vydelime cislo ktore urcuje, ktore v poradi ma vypadnut delene pocet deti a zvysok je vlastne poradie dietata ktore ma vypadnut.. )
Alebo sa mylim ? (ak som to zle pochopil...)
4. 11. 2009 22:31:13
https://webtrh.cz/diskuse/rozpocitadlo#reply398526
toshi
verified
rating uzivatele
(4 hodnocení)
4. 11. 2009 23:35:25
boha
$delka = 8;
$deti[] = ...
$lastoffset = 0;
while(count($deti)) {
$offset = ($delka + $lastoffset - 1) % count($deti);
// cislo vyhozeneho v poradi v poli
$arr = array_splice($deti, $offset, 1);
echo "vyrazuje se $arrn";
// nejjednodusi zpusob jak vypsat a odstranit jeden prvek z pole?
$lastoffset = $offset;
// kde zacina dalsi rozpocitavani
}
4. 11. 2009 23:35:25
https://webtrh.cz/diskuse/rozpocitadlo#reply398525
Pro odpověď se přihlašte.
Přihlásit