I am creating a C-prog that requires an array of 17 integers, all being less than 18 and unique. This is what I could do until now:
int ques_arr[17];
int x,y;
time_t t;
srand((unsigned)time(&t));
for(int a=0; a<17; a++)
{
x=rand()%18; //Assume that srand() has been declared in the program
for(int aa=0; aa<17; aa++)
{
if(x==ques_arr[aa])
{ do{
y=0;
y=rand()%18;
}while(y==ques_arr[aa]);
x=y;
ques_arr[a]=x;
}else ques_arr[a]=x;
}
}
My current algorithm is that everytime rand() generates a number, that number will be checked throughout array whether same number already exists or not, if it does, rand() keeps on generating a number until a unique number is obtained and then it is stored in the array.If such a number doesn't exist in the array, it's directly fed in to it.
As of now, numbers stored in the array are not unique.
Any help would be appreciated.