Kezdőoldal » Számítástechnika » Programozás » Hogyan tudjuk egy ciklusban...

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

Figyelt kérdés
Pl. páros számokat kell kiválogatni, hogyan tudjuk a cikluson belül eldönteni, hogy az utolsó páros számnál tartunk-e? Még egy ciklussal?

2023. jan. 17. 23:40
 1/10 anonim ***** válasza:

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.

2023. jan. 17. 23:43
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Minden ciklusnak van egy feltétele, ami alapján kilép. Ezt a feltételt beteszed a ciklus végére egy elágazásba, while és do while ciklus esetén ez hamis lesz ha az utolsó elemnél tartasz, ezért meg kell negálni, ha az utolsóra akarsz valamit csinálni. For ciklusnál azt kell vizsgálni, hogy a feltétel egyel kisebb-e mint a ciklusfeltétel, mert ott csak a mag után fogunk továbblépni a már nem létező elemre amire kilép. Foreach ciklusnál meg azt tudod vizsgálni, hogy a lista utolsó elemén vagyunk-e (indexOf = size-1), vagy az iterátor hasNext-je hamis-e.
2023. jan. 17. 23:48
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

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. ;-)

2023. jan. 18. 00:02
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:

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

2023. jan. 18. 03:24
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
A kérdés teljesen érthetetlen. Akkor van a ciklus az utolsó lépésben, amikor a kilépési feltétel teljesül. Ezt neked kell meghatároznod.
2023. jan. 18. 03:46
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:
Ezt a ciklus magban tipikusan nem kell tudnod. Ha kell, akkor inkább az elgondolás rossz.
2023. jan. 18. 08:51
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

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.

2023. jan. 18. 14:23
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

#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.

2023. jan. 18. 14:28
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:
Honnan kell kiválogatni? Ha mondjuk adott egy véletlen számokból álló lista vagy tömb, akkor nem fogod tudni, hogy melyik az utolsó páros, csak akkor, ha már mindet megvizsgáltad. Mert lehet, hogy az utolsó is páros, de lehet, hogy egy páros sincs a listában. Annyi lépés lesz mindig, amekkora a tömb mérete. De be lehet tenni az utoljára megtalált párost egy változóba. Nem kell másik ciklus a cikluson belül, hanem egy "if páros then mentsd el változóba" jellegű feltétel.
2023. jan. 18. 14:50
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

[link]

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.

2023. jan. 18. 15:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!