Kezdőoldal » Számítástechnika » Programozás » Milyen folyamatok mennek...

Milyen folyamatok mennek végbe a kódrészletben? (C#)

Figyelt kérdés

Az a feladat hogy a prímszámok kiíratása 1000-ig.

A kód maga jól működik de nem értem mert még csak most kezdtem a c#-ot de régebben már tanultam c++-t.

Hogy mehet tovább a második for ciklusnál ha j<i ha mind két változó értéke 2 és pontosan miért rakta oda a primszam változót?


for (int i = 2; i < 1000; i++) {

bool primszam = true;

for (int j = 2; j < i && primszam; j++) {

if (i % j == 0) primszam = false;

}

if (primszam) Console.WriteLine(i);}



2019. szept. 13. 19:10
 1/8 anonim ***** válasza:
Mi lenne, ha beledebuggolnál?
2019. szept. 13. 19:12
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
Nem megy tovább, pont ez a lényeg, 2 a legkisebb prímszám, tehát azt nem ellenőrzi. Tehát az i = 2 esetén a belső ciklus el se kezdődik. Aztán másodjára az i = 3 esetén már lefut egyszer.
2019. szept. 13. 19:16
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:
de amikor j=3 és i=4 akkor hogy lesz a prímszám értéke false ha 4%3 == 1 és az ellentmondást mond a leírtaknak ezért meg marad a prímszám értéke true
2019. szept. 13. 19:42
 4/8 anonim ***** válasza:
a külső ciklus i = 4 esetében is a belső ciklus j = 2 -ről indul, ahol 4 % 2 = 0, tehát abban is van már egy false.
2019. szept. 13. 20:31
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:
Addig már értem , de mitől változik vissza a j értéke 2-re és pontosan mit csinál a belső for ciklusban a && primszam
2019. szept. 13. 21:11
 6/8 anonim ***** válasza:
Írasd ki azt a nyomorult i-t és j-t egy Console.WriteLine()-al a második ciklus belsejében, hamár debuggolni túl nagy luxus.
2019. szept. 13. 21:21
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Attól változik vissza, hogy értékül van neki adva itt:

int j = 2


Ez a j változó lényegében minden belső ciklusra új változó... persze a compiler nyilván nagy valószínűséggel ugyanazt a memóriaterületet fogja használni rá mindegyik külső ciklus lefutása esetén.

2019. szept. 13. 22:26
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Rendben , már értem köszönöm a segítséget.
2019. szept. 14. 09:46

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!