Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- Zufallszahlen die sich nicht wiederholen in einem Array speichern (http://www.informatikerboard.de/board/thread.php?threadid=3874)


Geschrieben von daFelix am 24.03.2018 um 17:33:

  Zufallszahlen die sich nicht wiederholen in einem Array speichern

Meine Frage:
Hallo,

Ich bin in einer Technischen Schule und bin in der 1. Klasse. Ich muss in einem Array zufällige Zahlen die sich nicht wiederholen speichern. Ich hab einen Code geschrieben aber der funktioniert leider nicht Bitte um Hilfe. Danke!

Meine Ideen:
Mein Code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
 Random r = new Random();
 for (int i = 0; i < randomPositions.Length; i++)
            {
                int help = r.Next(0, 5);
                int j = 0;  

                for (j = 0; j < randomPositions.Length; j++)
                {
                    if (help == randomPositions[j])
                    {
                        while (randomPositions[j] == help)
                        {
                            help = r.Next(0, 5);

                        }

                        randomPositions[i] = help;
                    }

                    else
                    {
                        randomPositions[i] = help;
                    }
                }
            }



Geschrieben von eulerscheZahl am 29.03.2018 um 18:21:

 

Ungetestet:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
for (int i = 0; i < array.Length; i++) {
	bool placed = false;
	while (!placed) { // wiederhole sooft mit neuer Zufallszahl, bis es klappt
		int help = r.Next(0, 5);
		bool found = false;
		for (int j = 0; j < i; j++) {
			if (array[j] == help) found = true;
		}
		if (!found) { // kein doppelter Eintrag
			placed = true;
			array[i] = help;
		}
	}
}


Forensoftware: Burning Board, entwickelt von WoltLab GmbH