ich brauch für ein Programm in C zehn Zufallszahlen, die unterschiedlich sind.
ich hab das so gemacht:
Code: Alles auswählen
int zahl[10];
zahl[0] = rand()%(anzahl_zeilen)+1;
do{
zahl[1] = rand()%(anzahl_zeilen)+1;
}while (zahl[0] == zahl[1]);
do{
zahl[2] = rand()%(anzahl_zeilen)+1;
}while (zahl[2] == zahl[1]|| zahl[2] == zahl[0]);
do{
zahl[3] = rand()%(anzahl_zeilen)+1;
}while (zahl[3] == zahl[2]|| zahl[3] == zahl[1]||zahl[3] == zahl[0]);
do{
zahl[4] = rand()%(anzahl_zeilen)+1;
}while (zahl[4] == zahl[3]|| zahl[4] == zahl[2]||zahl[4] == zahl[1]||zahl[4] == zahl[0]);
do{
zahl[5] = rand()%(anzahl_zeilen)+1;
}while (zahl[5] == zahl[4]|| zahl[5] == zahl[3]||zahl[5] == zahl[2]||zahl[5] == zahl[1]||zahl[5] == zahl[0]);
do{
zahl[6] = rand()%(anzahl_zeilen)+1;
}while (zahl[6] == zahl[5]|| zahl[6] == zahl[4]||zahl[6] == zahl[3]||zahl[6] == zahl[2]||zahl[6] == zahl[1]||zahl[6] == zahl[0]);
do{
zahl[7] = rand()%(anzahl_zeilen)+1;
}while (zahl[7] == zahl[6]|| zahl[7] == zahl[5]||zahl[7] == zahl[4]||zahl[7] == zahl[3]||zahl[7] == zahl[2]||zahl[7] == zahl[1]||zahl[7] == zahl[0]);
do{
zahl[8] = rand()%(anzahl_zeilen)+1;
}while (zahl[8] == zahl[7]|| zahl[8] == zahl[6]||zahl[8] == zahl[5]||zahl[8] == zahl[4]||zahl[8] == zahl[3]||zahl[8] == zahl[2]||zahl[8] == zahl[1]||zahl[8] == zahl[0]);
do{
zahl[9] = rand()%(anzahl_zeilen)+1;
}while (zahl[9] == zahl[8]|| zahl[9] == zahl[7]||zahl[9] == zahl[6]||zahl[9] == zahl[5]||zahl[9] == zahl[4]||zahl[9] == zahl[3]||zahl[9] == zahl[2]||zahl[9] == zahl[1]||zahl[9] == zahl[0]);
Klappen tuht es natürlich. Aber meine Frage: Hat jemand eine Idee, wie das kürzer geht? Sieht nämlich etwas lang und kompliziert aus.
(Bin noch Programmier-Anfänger^^)