C++ Zufallsgenerator ohne Wiederholung zahlen

Ich habe gesucht hoch und niedrig für ein Typ der Funktion, wird dieser code

#include <iostream>
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

using namespace std;

void ran(int array[], int max);
int main() {
 printf("Today's lottery numbers are:\n");    
 for (int i = 0; i < 6; i++)
  srand((unsigned)(NULL));
}

in einem random number generator, die sicherstellt, dass keine Wiederholung zahlen, kann jemand mir helfen mit ihm? nach der Prüfung Plane ich, um es zu drucken mit printf("%d\n", rand()%50);

Brauche ich nur eine routine, die macht das sicher seine nicht zu wiederholen. Bitte, Wenn Sie können, geben Sie mir eine routine ich wäre sehr erleichtert und sicher sein, zu pay it forward.

Dank. Die Bibliotheken scheinen nicht zu sein, Lesen Sie rechts auf dieser scren, aber Sie sind stdio, stdlib, die Zeit und im mit namespace.

  • Bearbeiten Sie Ihre Frage: aktivieren Sie Ihren code ein, und drücken Sie dann die "101 010" - Taste.
  • Seite merken - Warum (unsigned)(NULL) ??? Nicht 0, nicht für Sie arbeiten?
  • Sie können immer speichern Sie Ihre zufällig generierten zahlen in einem stack. Dann überprüfen Sie, um zu sehen, wenn ein neuer rand ist bereits in den Stapel. Wenn dem so ist, erzeugen Sie eine neue Nummer ein und prüfen Sie erneut.
  • Was genau meinst du mit "nicht wiederholen"? Nur mit endlicher Genauigkeit, es gibt nur eine endliche Anzahl von möglichen zahlen dargestellt werden kann. Meinst du eine einzige zufällige permutation von N zahlen (Integer)?
  • Ein set würde wahrscheinlich tun Sie es, schön, nicht wahr?
  • ES IST NUR EIN ZUFALL, meine Güte. Was du suchst ist ein "SHUFFLE". Guter Kummer!

Schreibe einen Kommentar