Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 22. 10. 2010 22:48

piiity
Příspěvky: 43
Reputace:   
 

Uloha na prelevani vody

Dobry den, byl bych vdecny kdyby mi mohl nekdo poradit jak implementovat tuto, pro me hodne nepochopitelnou ulohu, do pascalu.
Zadani:

Máme tři nádoby o celočíselných objemech a,b,c (a,b,c nejsou větší než 10) ve kterých je na začátku objem x,y,z vody, v tomto pořadí.

Vodu můžeme přelévat z nádoby do nádoby, a to vždy tak, že nádobu kam lijeme, zcela zaplníme nebo tak, že nádobu odkud lijeme, zcela vyprázdníme. Objem přelité vody je určen tím, která z těchto variant nastane dříve.

Vodu nesmíme vylévat nikam jinam ani doplňovat z nějakého jiného zdroje.

Vstupem programu jsou po řadě čísla a,b,c a x,y,z udávající objemy a počáteční obsahy nádob.

Program vytiskne seznam všech objemů (včetně nuly, lze-li), kterých lze přeléváním dosáhnout (celý objem vody v kterékoliv z nádob) a u každého z nich uvede za dvojtečkou minimální počet potřebných přelití. Objemy v tomto seznamu budou vytištěny v rostoucím pořadí.
Příklad:

Vstup:
  4 1 1  1 1 1

Odpovídající výstup:
  0:1 1:0 2:1 3:2

Chtel bych spise poradit s logikou a jen naznacit kroky jak toho docilit. Napoveda je, ze mame pouzit prohledavani do sirky, coz vubec nevim co to je. Musim to udelat v pascalu a ja umim jen v c++, tak kdyby byla implementace hodne rozdilna, prosim zduraznete kde.
Dekuji

Offline

 

#2 22. 10. 2010 23:37

Oxyd
Příspěvky: 614
Škola: MFF UK, teoretická informatika
Pozice: Student
Reputace:   31 
 

Re: Uloha na prelevani vody

↑ piiity:

Bude třeba nastudovat si prohledávání do šířrky. Google o tom něco ví, anglicky se to jmenuje "breadth-first search", preferuješ-li anglické zdroje. Libovolná úvodní učebnice na algoritmy a datové struktury o prohledávání do šířky bude určitě taky mluvit. A zřejmě i nějaké slajdy z přednášky, pokud něco takového máte.

Obávám se, že bez znalosti prohledání do šířky nemá moc smysl pokoušet se úlohu řešit. Snad jen k té implementaci: Nebude příliš odlišná. Syntax samozřejmě bude jiná, ale v zásadě to bude "to samé v bledě modrém".

Pár odkazů: BFS na Wikipedii, na Algoritmy.net, zápisky z přednášky Martina Mareše.


Mýlím se častěji, než bych chtěl. Pokud vám v mém příspěvku něco nehraje, neváhejte se zeptat.
Jsem stále mlád a je mi příjemnější tykání. :)

Offline

 

#3 23. 10. 2010 16:29

piiity
Příspěvky: 43
Reputace:   
 

Re: Uloha na prelevani vody

↑ Oxyd:
Diky za dobrou radu to urcite pomuze.

Offline

 

#4 08. 12. 2010 14:38

Mamros
Zelenáč
Příspěvky: 4
Reputace:   
 

Re: Uloha na prelevani vody

celkom zaujimava uloha

mate niekto na to riesenie?

Offline

 

#5 06. 12. 2013 19:52

rexcor
Zelenáč
Příspěvky: 2
Reputace:   
 

Re: Uloha na prelevani vody

prosím neměl by někdo zdroják tato uloha by mě zajimala :-)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson