I want to create an array which has 20 elements and each element holds different integer numbers from closed interval [0-19].
Here is the codeblock:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define SIZE 20
int main() 
{
    srand(time(NULL));
    int array[SIZE]={0}, arrayhold[SIZE]={0}, hold, i;
    for(i=0;i<SIZE;i++) 
    {
        hold = rand()%20+1;
        if(arrayhold[hold]==0)
        {
            array[i]=hold;
            arrayhold[hold]++;
        }
        else 
        {
            while(arrayhold[hold]!=0)
                hold = rand()%20+1;
            array[i]=hold;
        }
    }
    for(i=0;i<SIZE;i++) 
    {
        printf("array[%d]=%d\n",i,array[i]);
    }
}
When I run the program, the output gives array[random]=1 for many times, but it never gives array[random]=3 (just for example).
 
     
     
     
    