Miért nem működik rendesen a for ciklus a C# nyelven írt programomban? Mi okozhatja? (részletek lent)
Van egy N*M*10 méretű több dimenziós tömböm, amivel egy műveletet akartam végezni az alábbi módon:
"for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
for (int k=0; k<10; k++)
tömb[i,j,k]..."
Ám hibát jelzett, azzal az üzenettel, hogy "Az index a tömb határain kívülre mutatott." Átírtam a kódot, hogy nyomon tudjam követni az alábbi módon:
"for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
for (int k=0; k<10; k++)
Console.WriteLine(tömb[i,j,k]);"
Erre sorban kiírta az alábbi elemeket:
tömb[0,0,0]; tömb[1,0,0]; ... ; tömb[N-1;0,0], majd, mivel nem létezik tömb[N,0,0], ezért hibát dobott.
Na, de miért az első indexet növeli, és ha már azt növeli, miért ment túl az N-1-en?
Ez a kód:
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
for (int k=0; k<10; k++)
Nem az i-t növeli először, hanem sorban a k-t, j-t, i-t, és nem is szalad túl az indexeken.
A tömböd van rosszul deklarálva, vagy nem ezt a kódot futtatod.
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!