Kezdőoldal » Számítástechnika » Programozás » Az alábbi ciklust, hogy...

Az alábbi ciklust, hogy értelmezzem?

Figyelt kérdés

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 :/



2016. nov. 5. 01:10
 1/5 anonim ***** válasza:

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

2016. nov. 5. 01:19
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
T[i]>50 és ezt miért így kell írni hogy a tömb i edik eleme nagyobb mint 50 ,miért nem kisebb?
2016. nov. 5. 01:29
 3/5 anonim ***** válasza:
Mert a ciklus addig megy, amíg fennáll a benne szereplő feltétel. Tehát amíg i kisebb N-nél ÉS a tömb i. eleme nagyobb 50-nél. Nem azt mondjuk meg, mikor álljon le, hanem hogy milyen feltétel fennállása mellett fusson.
2016. nov. 5. 01:46
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
#1-et pontosítanám: nem 50-nél kisebb elemet keres, hanem 50-nél nem nagyobbat, vagyis a ciklusból akkor is kilép, ha 50-es értéket talál és ez esetben is azt írja ki, hogy: igen
2016. nov. 6. 00:06
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
Már privátban átvettük az egészet, de köszi a pontosítást :D
2016. nov. 6. 00:29
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!