Hi,
Am writing this program to write only unique random numbers to an array. The randomly generated numbers isnt the problem, its writing only unique numbers to the array thats a bother. Any ideas?
Code:/*A program to generate random numbers and then write them to an array ONLY IF no such number exists in the array*/ #include <stdio.h> #include <stdlib.h> int GetRand(int min, int max); int const MAX=5; int main(void) { int i, r, j,x; int array[MAX]; for (i = 0; i < MAX; i++) { r = GetRand(0, 4); //generate random numbers btwn the 2 numbers indicated printf ("the random number is %d\n", r); if(i == 0 ) //writing first generated # to the array automatically for obvious reasons { array[0]=r; printf("array[0]: %d\n\n",array[0]);/*this line works*/ }//end of if statement if( i > 0 )//comparing from the 2nd # & upwards generated to whats in the array already { for( j=1; j<MAX+1; j++ ) { if(r == array[j-1]) { i=i-1; break; } else x=1; } if( x = 1 ) array[j]=r; }//end of if statement }//end of for loop return(0); } int GetRand(int min, int max) //function to generate random numbers { static int Init = 0; int rc; if (Init == 0) { srand(time(NULL)); Init = 1; } rc = (rand() % (max - min + 1) + min); return (rc); }//end of GetRand function



LinkBack URL
About LinkBacks


