Free Pascalban hogyan tudom azt megcsinálni, hogy egy mondatot bekérek és csak a leghosszabb szót iratom ki ami a mondatban szerepelt? (ha két ugyan olyan hosszúságú szó van akkor mindkettőt)
régen pascaloztam, de ott annyira nem könnyű feladat ez elsőre, ahogy emlékszem
egy egyszerű megoldás:
egy segédtömbben eltárolsz inteket, amik a szavak hosszúságát jelzik, majd ezekből a legnagyobbakat megkeresed, utána meg ezeknek az indexe segítségével kiírod az eredeti stringből
Én inkább a szavakat gyűjteném ki egy segédtömbbe, és egy változóban tárolnám az aktuális legnagyobb hosszt. Mindig, amikor egy szót beírok a tömbbe, ellenőrizném azt is, hogy nem hosszabb-e az eddiginél, és ha igen, arra cserélném. A végén egy ciklussal végigmennék a szavak tömbjén, és amelyiknek a hossza megegyezik a változó értékével, azt kiíratnám (lehetne a hosszokat is könyvelni, hogy ne kelljen újra meghívni a length függvényt, de szerintem nem nagy nyereség).
Mindez akkor is m működik, ha az összes szó egyforma hosszú -- ezt csak azért említem, mert a kérdés szerint csak két leghosszabb lehet, de hol van az előírva? Persze, ha követelmény, akkor úgy is lehet, hogy kettő kiírása után már ne keressen tovább.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!