Az alábbi ciklust, hogy értelmezzem?
Ez egy feladat része,csak ezt a részét nem értem:i=0;
while (i<N && T[i]>50)
i++;
van=(i<N);
if(van==1) printf("\nigen");
else printf("\nNem");
Valaki ezt letudná nekem vezetni,hogy itt mit miért írunk? pl a van változót se értem,hogy miért az az értéket kapta de amúgy a többit sem :/
Az elején i értékét beállítjuk 0-ra.
Van egy T tömböd, amiben van N darab szám.
A while(i<N && T[i]>50) azt mondja, hogy addig fussona ciklus, amíg az i változó kisebb az N-nél (mert a T-ben N darab elem van, feltehetőleg), és a T tömb i. eleme nagyobb 50-nél.
Tehát a ciklus két esetben véget:
- Ha találsz egy olyan elemet a tömbben, ami kisebb 50-nél, ezesetben az i értéke az az index lesz, ahol a kisebb elem van.
- Vagy ha i eléri N értékét, ezesetben nem találtunk egy olyan elemet sem, ami 50-nél kisebb.
A van=(i<N) pontosan ezt ellenőrzi, hogy az i kisebb-e N-nél, tehát korábban megállt-e a ciklus, mivel talált 50-nél kisebb elemet. Ha kisebb, akkor talált, ha nem kisebb, akkor nem talált. És utána ez alapján írunk ki igent, vagy nemet. (A logikai értékek (igaz, hamis) rendre megfeleltethetőek 1-nek és 0-nak).
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!