C#, csharp bizonytalanság. A program bekéri a számokat és ha olyannal találkozik, ami már volt visszalép. Szeretném ha Valaki elmagyarázná, hogy honnan tudja tm[j], hogy milyen már bekért számok voltak már? Melyik részen kapja meg ezt az infót? Thx
int[] tm = new int[5];
int i, j;
bool nem_volt = true;
for (i=0; i<5; i++)
{
Console.WriteLine("Kérem a {0}. számot",i+1);
tm[i] = Convert.ToInt32(Console.ReadLine());
nem_volt = true;
j = 0;
for (j = 0; j < i; j++)
if (tm[i] == tm[j])
{
i--;
break;
}
}
a nem_volt változó nincs használva, felesleges.
legyen a tm tömb ilyen: {5, 6, 7}
most i = 3
bekér egy számot a tm tömb i-edik helyére, legyen ez 6.
végigmegy a tömbön 0tól i-1 ig, ha egyezést talál, akkor csökkenti a változót, ha nincs egyezés, akkor úgyhagyja.
mivel 6-os már volt a tömbben, csökken az i értéke 2re.
a for ciklus növeli 1-gyel az i értékét, szóval most is i=3, mert az előbb olyan számot adtunk meg ami már volt.
Ha olyat adtunk volna meg, ami még nem volt, akkor i = 4 lenne.
Legközelebb használd a debuggert....
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!