Computer Science/자료구조

2차원배열의 전체 20%에만 값을 저장하기

신쫄이후리스 2012. 7. 28. 01:35
반응형

 

 

희소행렬을 만드는 과정에서 쓰였던 2차원 배열 전체에서 20%만 값을 할당하는 부분을 검증해 보았다.

 

이를위해 다음과 같은 코드를 작성해 보았다.

int main()
{
	int i, rannum, count=0;
	int whiCount=0;
	int sum=0;
	
	srand(time(NULL));

	while(whiCount < SIZE)
	{
		count=0;
	

	for(i=0;i<100;i++) {
		// 0~99 까지의 랜덤값을 생성하여 20 미만일때만 카운트 될 수 있도록 한다.
		rannum = rand()%100;
		if(rannum < 20){
			count++;
		}
		else {
			continue;
		}
	}
	sum = sum + count;
	printf("%d ",count);
	
	whiCount++;

	}

	printf("\n\n%d회 생성 결과 평균%d회 생성\n",SIZE,sum/SIZE);
	// 카운트된 횟수의 평균을 구한다.
}

 

 

매번 20%의 확률에 들어올 때 카운트 될 수 있게 하는 프로그램을 10000번 반복시켰을 때 평균적으로 20회 카운트 되는것을

 

결과로 얻을 수 있었다.

 

 

따라서 위의 코드는 신뢰할 만하다는 결론을 얻었다.

 

 

반응형