아.... 이걸 못찾고 계속 엄한곳에서 고치고 있었네요 감사합니다~
Lyn 님이 쓰신 글 :
: int num[5] 로 선언해 놓고 num[5] 에 접근한것부터가 에러
:
: 박지수 님이 쓰신 글 :
: : 이렇게 저렇게 코딩해서 여기까지 왔습니다..
: : 마지막에 check[0] 과 num[5] 가 같은 값이 나오더라구요...
: : num배열은 난수를 담는 배열이고
: : check는 난수를 받은 수를 몇번 받았는지 담는 배열입니다.
: : 실행하면 check[0] 과 num[5]값이 같은 값으로 나오더라구요 왜 그런걸까요...
: : 어디 쪽이 잘못되서 이러는건지...
: : 또 총 45개의 check 난수 담은 배열 카운터를 보면
: : check[0]은 num[5]와 같은 값으로 나오는상황
: : check[1]은 다른 check[2]-[44] 보다 평균적으로 많이 카운터 되더라구요
: : 난수라고 하지만 check[1]도 먼가 잘못 코딩된듯 싶어요
: : 100000번을 돌렸을때 보통 다른 check[2]~[44]은 13xxx번 정도 카운터 되는데 비해
: : check[1]만 15xxx번 카운터 되더라구여
: : 이쪽도 코딩이 잘되서 그런건지 알고 싶습니다..
: :
: :
: : {
: : int check[45], num[5], temp;
: : srand(time(NULL)); //난수 초기화
: : for(int i=0;i<=44;i++){check[i]=0;} //시작전 초기화
: : for(int a=1;a<=1;a++){ //난수이벤트 중복 실행 횟수 결정
: : for(int j=0;j<=5;j++){ //난수이벤트 시작
: : k:
: : num[j]=0; //번호 초기화
: : num[j]=rand()%45+1; //난수 발생
: :
: :
: :
: : if(num[j]==num[j-1]||num[j]==num[j-2]||num[j]==num[j-3]||
: : num[j]==num[j-4]||num[j]==num[j-5]){goto k;}
: : for(int i=1;i<=45;i++){ //배열의 난수값 비교 카운터 증가
: : if(num[j]==i){check[i-1]=check[i-1]+1;}
: : }//for(int i=1; i<=45; i++)
: : }//for(int j=0;j<=5;j++)
: : }//for(int a=0;a<=1000;a++)
: : /* for(int i=0; i<=44; i++){
: : if(check[i]<check[i+1]){
: : temp=check[i];
: : check[i]=check[i+1];
: : check[i+1]=temp;}
: : }*/
: : Edit5->Text=num[0];
: : Edit6->Text=num[1];
: : Edit7->Text=num[2];
: : Edit8->Text=num[3];
: : Edit9->Text=num[4];
: : Edit10->Text=num[5]; //check[0]와 같은값이나옴
: : Edit11->Text=check[0]; //num[5]와 같은 값이 나옴
: : Edit13->Text=check[5];
: : }