2010년 4월 17일 토요일

난수 생성

#include

#include // rand(), srand() 함수를 사용하기 위해서 인클루드 함
#include // time() 함수를 사용하기 위해서 인클루드 함



int random(int);
void ran (int num[]);



void main(){



int tt[100]; //생성된 난수가 저장될 배열

srand(time(0)); //매번 실행 할때 마다 같은 순서의 난수값을 발생시키 않기 위해 현재 시간값을 준다.
ran(tt); //100개의 난수 발생

printf("\n*** 1부터100까지의 발생 된 난수 ***");

for(int r=0 ; r<100; r++){ //100개 난수
if(r%20 == 0) printf("\n");
printf("%3d ",tt[r]);
}



}




void ran(int num[]){

int i,j;
int sfound;

for (i=0; i<100; ++i){

while(1){

num[i] = random(100);
sfound = 0;// 이미있는값인지확인하기위해플래그설정

for (j=0; j if ( num[j] == num[i] ){ // 같은값이있으면 플래그값을 참으로
sfound = 1;
break;
}
}
if (!sfound)
break; // 같은값이없으면while문탈출
}
}
}


int random(int n) //난수 발생 함수
{
int res;
res = rand() % n; //0에서 n-1까지 난수 발생
return res+1; //그값에 1을 더해주어 반환하면 1에서 n까지 난수 발생
}

댓글 없음:

댓글 쓰기