[ create a new paste ] login | about

Link: http://codepad.org/AqL2FSg7    [ raw code | output | fork ]

C, pasted on Nov 15:
#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;
	
}


Output:
1
file open error


Create a new paste based on this one


Comments: