Nicht-Wiederholung random number generator in C

Ich soll ein Programm schreiben, so dass ich drucken Sie 10 Zufallszahlen jedes mal, wenn ich ihn laufen, der Zufallszahlen ausdrucken werden sollte, 1-10, auch Sie sollten sich nie wiederholen.

UPDATE:Sorry für die nicht unter Angabe der genauen problem, im Grunde die while-Schleife, die ist wohl neu ordnen Sie die Zufallszahlen nur, wenn es hasent wurden verwendet, verursacht mein Programm nicht drucken überhaupt nichts. Wenn ich kommentieren Sie die gesamte while-Schleife und lassen Sie die printf () an der Unterseite druckt es aus 10 Zufallszahlen zwischen 1-10, jedoch schreibt Sie nur wiederholt.

Könnte mir jemand sagen wie kann ich fix meinen code oder mir ein paar Tipps geben?

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

int main()
{
int array[10];
int x, p;
int count;
int i=0;

srand(time(NULL));

for(count=0;count<10;count++){
array[count]=rand()%10+1;
}

while(i<10){
int r=rand()%10+1;

for (x = 0; x < i; x++)
{
if(array[x]==r){
    break;
}
if(x==i){
    array[i++]=r;
}
}

}
for(p=0;p<10;p++){
printf("%d ", array[p]);
}
return 0;
}
Suche für Linear Feedback Shift Registers (LFSR) oder Pseudo Random Number Generator (PRNG)
Auch in Ihrem code, können Sie srand() vor dem zweiten rand() auch.
Bitte erwähnen Sie das problem, das Sie erleben.
Sorry, aktualisiert.

InformationsquelleAutor Titan | 2014-04-25

Schreibe einen Kommentar