Mein Ansatz bis jetzt:
//Für den Zufallsgenerator (rand...)
include <time>
include <stdio.h>
include <stdlib.h>
//...
time_t t;
time(&t);
/* Zufallsgenerator initialisieren */
srand((unsigned int)t);
//... //Der Array bekommt zufällige Zahlen, auch doppelte
for (int i = 0; i < 20; i++)
{ S1.EigeneRoute[i] = (rand() % 20); }
int i1, i2;
for (int i1 = 0; i1 < 20; i1++) //jetzt möchte ich prüfen, ob die Zahl bereits
{ //vergeben ist und wenn ja, eine neue
//Zufallszahl vergeben
for (int i2 = 0; i2 < 20; i2++)
{
while (S1.EigeneRoute[i1] == S1.EigeneRoute[i2])
{
S1.EigeneRoute[i1] = (rand() % 20);
}
}
}
ANMERKUNG: S1. ist eine Klasse. Ich glaube ich habe mich da etwas verlaufen, die letzte While-Schleife würde zwar einen neuen Zufallswert vergeben, aber dieser könnte wieder an einer anderen Stelle doppelt sein. Für einen intelligenteren Ansatz wäre ich euch sehr dankbar.