Hogy kell c# form-ban ezt megoldani?
C#-ban minden egyszerű. :)
Ez is teljesen jó megoldás.
Én amikor még nem ismertem a tömb adatszerkezeten kívül mást, akkor úgy oldottam meg, hogy létrehoztam egy akkora bool tömböt, amekkora volt a kérdések tömbje. A start gomb lenyomásár randomoltatok egy számot a 0-tömb.lengh tartományon ADDIG, amíg a tömb[kirandomoltSzám]!=true. Alapértelmezetten az egész tömb false, tehát az első randomolásnál bármi jön, az jó lesz, utána cikluson kívül true-ra állítom a tömb[kirandomoltSzámot].
Most bocsi, hogy ezt nem kóddal írtam le, de a magyarázó szöveggel talán egyszerűbb, mert a listához képest ez tényleg egy gagyibb verzió :D
Előző vagyok: csak most olvastam vissza, van pár hiba benne, a helyesírási hibákat most nem javítanám.
Logikailag ott a hiba, hogy tömb[kirandomolt]!=false. Szval addig randomoljon, amíg kvázi talál 1 olyat, amit még nem randomolt.
Létrehozok egy igazE bool tömböt, ami akkora, mint ahány kérdést tartalmaz a kérdések tömb, ebben a példában ez nyolc. Az algoritmus randomol egy számot 0-7 között, a kirandomolt értéket átállítjuk a bool tömbben true-ra. A következőt addig randomoltatjuk, amíg még olyat nem kapunk, ami nem szerepelt.
do
{
hanyadik = rnd.Next(8);
} while (igazE[hanyadik] != false);
igazE[hanyadik] = true;
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!