Prosím pomozte s paskalem – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prosím pomozte s paskalem – Pascal – Fórum – Programujte.comProsím pomozte s paskalem – Pascal – Fórum – Programujte.com

 

mr.mistr0
Duch
17. 6. 2008   #1
-
0
-

Dělám program, který by měl vyhledávat číslo z pole, splňující zadané podmínky. Jenže podmínky jsou zadány slovně a je neurčitý jejich počet, tudíž netušim jak to udělat. Kdybyste někdo věděl jak na to, napište prosíím. Předem díky

Nahlásit jako SPAM
IP: 195.47.97.–
Mircosoft+1
Věrný člen
18. 6. 2008   #2
-
0
-

Jak ty podmínky vypadají?

Nahlásit jako SPAM
IP: 147.32.161.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Mitch0
Newbie
18. 6. 2008   #3
-
0
-

To mr.mistr :
To jo no, si nám toho moc neřekl teda.....na to neurčito musíš použít něco z dynamických struktur..

Nahlásit jako SPAM
IP: 81.28.18.–
mr.mistr0
Duch
18. 6. 2008   #4
-
0
-

ok......vstup je zhruba takovejto:

4 pocet podminek
vetsi
1 hledany cislo x je vetsi nez 1
mensi
10 hledany cislo je mensi nez 10
deli
100 hledany cislo x muze celocislene delit 100
nasobek
2 hledany cislo jenasobkem dvojky
...........................................
s tim ze u jinejch vstupu muze byt i nedeli tzn. ze x celocislene nedeli napr.100-podle toho co tam je zo jo :-)
.............................
tudiz hledame x, ktere by splnovalo tydle podminky jo a x je cislo z pole[1..500]

Nahlásit jako SPAM
IP: 195.47.97.–
Mircosoft+1
Věrný člen
18. 6. 2008   #5
-
0
-

Aha.

Takže nejdřív si přečteš počet podmínek. Kolik podmínek je, tolikrát potom přečteš dvojici řádků - první text podmínky, druhý číslo. Předpokládám, že sada podmínek je daná, takže si můžeš předem nadefinovat seznam (pole) řetězců ('deli','nasobek' atd.), se kterými pak budeš načtenou podmínku porovnávat (procházej ten seznam a koukej, kdy narazíš na stejný text jako ten přečtený; samozřejmě je dobré z něj napřed ořezat případné mezery a jiné neplatné znaky a převést ho na stejnou velikost písmen, jakou máš v tom seznamu). Tím si v podstatě text podmínky přetransformuješ na číslo (kolikátá podmínka v tom seznamu to byla), které použiješ pro rozvětvení pomocí příkazu Case, ve kterém budeš mít připraveno vyhodnocení jednotlivých podmínek.

Na to vyhodnocení mě napadá použít množinu (typ Set). Na začátku ji naplníš všemi čísly od 1 do 500 a pak postupně, jak budeš načítat a zpracovávat jednotlivé podmínky, budeš z té množiny vyhazovat ta čísla, která je nesplňují (tj. třeba přečteš "větší než 200", tak vyhodíš všechno, co je <= 200). Po vyhodnocení všech podmínek ti v množině zůstanou všechna čísla, která je splňují (takže můžeš ošetřit i případy, kdy bude víc řešení). Protože se ale do standardní množiny vejde jenom 256 prvků, budeš muset buď použít množiny dvě, čímž se to trochu zkomplikuje (první třeba pro čísla od 0 do 250 a druhou od 251 do 500), nebo si napsat vlastní implementaci množiny a nebo použít nějakou už hotovou (např. http://mircosoft.ic.cz/download/NFSUP.PAS).

Nahlásit jako SPAM
IP: 85.132.158.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Laaca0
Stálý člen
18. 6. 2008   #6
-
0
-

...anebo se na množiny vykašlat a řešit to přes druhé pole. Tedy že budeš mít pole kandidati s rozsahem 1..max kde budou všechna čísla, která budeš prověřovat a pole vyhovuji, které bude mít stejný rozsah a kde budou ta čísla, která vyhovují podmínkám.
Pole Vyhovuji bude ze začátku prázdné a budeš do něj postupně přidávat vyhovující prvky.

Nahlásit jako SPAM
IP: 81.0.253.–
DOS-u-akbar
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

Pomozte mi prosim... — založil Robo

PROSÍM, POMOZTE — založil Jakub Chábek

Prosim pomozte — založil Screpheep

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý