Zufallszahlen ohne Wiederholung
-
Ich bin noch sehr unerfahren was programmierung angeht und soll für die Uni Mastermind in C++ programmiern, dabei soll der Code aus Zufallszahlen ohne Wiederholungen bestehen, die generierung habe ich wie folgt gelöst :
void zahl ()
{
int code[5];
for (int i=0;i<5;i++)
{
code[i]= (rand() %+1;
cout << code[i] << setw(3) ;
}
return;
}nur die Zahlen wiederholen sich, wie kann ich das Einschränken , das sich die Zahlen nicht wiederholen ?
-
#include <iostream> #include <iomanip> using namespace std; void zahl() { int code[5]; for (int i=0 ; i < 5; i++) { code[i]= (rand() % 8) +1; cout << code[i] << setw(3) ; } //return; // Überflüssig } int main() { srand(static_cast<unsigned int>(time(NULL))); zahl(); return 0; }
Sollte das dein Problem nicht lösen, dann musst du genauer beschreiben, was du meinst.
-
Cranos schrieb:
Ich bin noch sehr unerfahren was programmierung angeht und soll für die Uni Mastermind in C++ programmiern,...
nur die Zahlen wiederholen sich, wie kann ich das Einschränken , das sich die Zahlen nicht wiederholen ?
das ist wohl die aufgabe die du lösen sollst. überleg mal wie du das mit einem würfel unds einem zettel machst.
-
Wenn es dir darum geht das im Code keine Ziffern doppelt vorkommt, also z.B. 11134 nicht sein darf, dann hab ich für dich folgende Idee:
1. Erstell dir ein Array, das die gültigen Ziffern enthält
2. Mische das Array zufällig
3. Nimm die ersten n Elemente aus diesem Array
4. Fertig