Kezdőoldal » Számítástechnika » Programozás » Miért nem tud normálisan,...

Miért nem tud normálisan, maradékosan osztani a c#?

Figyelt kérdés

int x = 0;

while (x%83!=32)

{

x++;

}

label1.Text = x.ToString();


Nála az x=32

Miért?


2013. nov. 27. 18:38
1 2
 1/13 anonim ***** válasza:
76%

Teljesen helyes eredmény a 32.


Nem értem miért gondolod, hogy nem tudna osztani maradékosan.

2013. nov. 27. 18:41
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
75%
Szerintem itt te vagy aki nem tud maradékosan osztani.
2013. nov. 27. 18:41
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:

Mert 32/83, akkor a maradék 32?

Kérek már egy magyarázatot

2013. nov. 27. 18:42
 4/13 anonim ***** válasza:
100%
Tehát az a gondod, hogy az jön ki, hogy 32 % 83 = 32? Ez jó, Te nézel el valamit. Még egyszer, magyarul: 32-ben a 83 megvan 0-szor, maradék 32. Meg is van, miért áll le a ciklusod.
2013. nov. 27. 18:43
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
67%

A C# teljesen normálisan tud maradékosan osztani, legfeljebb te nem tudsz.

Nemcsak nála 32 a helyes eredmény, hanem mindenhol a világon.

32-ben a 83 megvan nullaszor, és maradt a 32.

2013. nov. 27. 18:43
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:
76%

Igen, szerintünk 32/83=0, maradék a 32. De azt még mindig nem árultad el, hogy szerinted mennyi.


Szal szerinted mennyi??

2013. nov. 27. 18:45
Hasznos számodra ez a válasz?
 7/13 A kérdező kommentje:

Ok, bocs, tényleg én vagyok a hülye :D


És akkor itt miért nem nézi az && utáni feltételeket?

while (x%83!=32&&x%110!=70&&x%135!=32)

{

x++;

}

Mert x itt is 32 marad

2013. nov. 27. 18:47
 8/13 anonim ***** válasza:
100%
Azért, mert a ciklusmagba akkor lép be, ha MINDHÁROM feltételed teljesül (ÉS operátor miatt). Ha az egyik nem teljesül, akkor nem teljesül MINDHÁROM, így nem lép bele a ciklusmagba, hanem továbbugrik.
2013. nov. 27. 18:50
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
100%
Mert "takarékos": ha az első feltétel elhasal, akkor már -az ÉS-elés miatt - nem teljesülhet a while feltétele, így nincs is értelme a többit ellenőrizni.
2013. nov. 27. 18:50
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:

Ez az utolsó válasz is helyes, de a lusta kiértékelés most irreleváns, az eredményen nem változtatna, ha nézné.

Az éselés maga a fontosabb itt. (Ha lenne valami az egyik feltételben, mondjuk egy ++ akkor jönne inkább ki a lusta kiértékelés hatása.)

2013. nov. 27. 20:56
Hasznos számodra ez a válasz?
1 2

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!