Hogyan tudjuk egy ciklusban ellenőrízni, hogy a ciklus utolsó lépésében vagyunk-e?





Ez függ a ciklus típusától.
Mondjuk hogy még egy ciklussal hogyan akarod megoldani, azt nem tudom. Én inkább egy elágazásra (if) szavaznék.
A konkrét megoldáshoz meg kellene ismerni a konkrét feladatot.










Tehát pl. van egy számsor: 10, 7, 8, 5, 2, 9, 7, 11, 15; és mondjuk a ciklusmagban tudni akarod, hogy az-e az utolsó páros szám? És nem csak ennek megállapítása a cél, hanem mondjuk amennyiben ez az utolsó páros szám, akkor ott helyben le kell futnia valaminek?
Nos, ennek így semmi értelme... Ha az utolsó páros számmal kell végezned valami műveletet, akkor egy kiválasztással meghatározod azt, és a ciklus után végrehajtod. A gyakorlatban nem tudok olyan algoritmust mondani, aminél ténylegesen szükség van egy adatsorban, a feldolgozásának a vége előtt tudni róla, hogy az-e az utolsó X tulajdonságú elem. Persze, elméletben lehet ilyet. Mondjuk legyen az a feladat, hogy az utolsó páros elemhez adjuk még hozzá az utánul levőket. De ezt is meg lehet oldani anélkül, hogy előre tudnád, melyik az utolsó. Ha pároshoz érsz, akkor egy (0 kezdőértékű) összeg-változóba beleteszed, és a további elemeket hozzáadod. Kivéve, ha ismét találkozol egy párossal, mert akkor nullázod az összeg-változót, és onnantól kezded az összegzést.
Persze... meg lehet oldani úgy is, hogy végigfutsz először egyszer az összes elemen, és meghatározod az utolsó páros szám indexét. Utána pedig összegzed csak az adott számtól kezdve. De nem vagyok benne biztos, hogy ez az elegánsabb. ;-)





3
Elegancia szempontjából én az uzóbbira szavaznék, mert egyértelműbb, hogy mit csinál
Bocsi a kicsit off-topic miatt















Az utolsó lépés az, amit megadunk a ciklusfeltételben.
Az "utolsó páros szám" matematikailag nem létezik, mivel a páros számok végtelen sokan vannak.





#4: Semmi gond, igazából ez tipikusan olyan, ami ízlés kérdése is.
Ettől függetlenül elég életszerűtlen, hogy ilyesmi feladatot kelljen megoldani.










ahogy én írtam meg az a kettes szint. :)
get_index_last_odd() megszerzed az utolsó páros index helyét, és utána meg újjra végig iterálsz a listán, és az index értéke + 1-nél meghívod a methodusodat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2023, 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!