#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NITEM(arr) (sizeof(arr)/sizeof(arr[0]))
int main(void)
{
FILE *fp;
fp = fopen("a0427v2test.csv","w");
if((fopen("a0427v2test.csv","w"))==NULL)
{
printf("file open error");
exit(EXIT_FAILURE);
}
int no[10]={0,0,0,0,0,0,0,0,0,0};
int value[10]={2,2,4,5,5,8,9,10,2,3};
int weight[NITEM(value)];
int weight_sum;
int i, j, r;
int i_min;
for(i=0;i<=9;i++)
{
fprintf(fp,"%d\n",no[i]);
}
srand(time(NULL));
weight_sum=0;
for(i=0;i<NITEM(value);i++)
weight_sum+=(weight[i]=value[i]+0);
for(j=0;j<100;j++)
{
i_min = no[0];
int a = 0;
for(i=0;i<=10;i++)
{
if(no[i] < i_min)
{
i_min = no[i];
a = i;
}
else if(no[i] == i_min)
{
r=rand()%weight_sum;
for(i=0;i<NITEM(value);i++)
{
if(r<weight[i])
break;
r-=weight[i];
a = i;
}
}
}
no[a] = i_min+2;
}
for(i=0;i<10;i++)
{
fprintf(fp, "%d,%d\n",value[i], no[i]);
}
fclose(fp);
return 0;
}