Keresés

Új hozzászólás Aktív témák

  • Jhonny06

    veterán

    válasz atti1848 #3200 üzenetére

    Dobhat, mert gyakorlatilag az idő függvényében generálódnak a számok, így minél kisebb az értéktartomány, annál valószínűbb, hogy lesz több ugyanolyan elem is. Ha késleltetés nélkül fut, akkor meg pláne, hiszen nincs idő nagyobb tartományban generálni, ezért érdemes.

    Viszont a késleltetés megtétele után még mindig ott van a Te megoldásod, miszerint ellenőrizheted, hogy nincs-e két ugyanolyan érték a tömbben, egy egymásba ágyazott for ciklussal. Azért ajánlottam előbb a késleltetést, mert ha kicsi az értéktartomány és kvázi majdnem mindig hasonló értéket generál a kód, akkor szépen "végtelen" (persze nem teljesen) ciklus jön létre, mert ugye kap a tömb egy számot és összehasonlítja az következővel, ami ugyanaz, meg újra ugyanaz, stb. és csak akkor csinál valamit, ha a két szám nem egyezik meg, tehát ezzel nem árt vigyázni.

    Szóval az a legjobb megoldás, ha először ellenőrzöd, hogy nincs-e benne már, majd generálsz és késleltetsz.

    for (int i = 0; i < szamok.Length; i++)
    {
    for(int j = 0; j < szamok.Length; j++)
    {
    if(szamok[i] != szamok[j])
    {
    szamok[i] = rnd.Next(1, 90);
    Thread.Sleep(100);
    }
    }
    }

Új hozzászólás Aktív témák

Hirdetés