로또 생성 프로그램 ㅜㅜ
풀큰
질문 내용 : 로또를 생성하는 프로그램입니다... 6자리를 생성하고 중복되지 않습니다.
문제는.. 제가 입력한 것과 똑같을 때까지 계속 루프를 해야 하는 데요.....
허허허... 잘 안되네요... 문제는 빨간색으로 칠해 놓은 소스가 문제가 있는 것 같은데 ㅡㅜ
소스좀 수정해 주시면 감사하겠습니다...#include stdio.h
#include stdlib.h
#include time.h
#define MAX 6
void random(int lotto[]);
int main(void)
{
int i,j;
int cou=0;
int me[MAX];
int lotto[MAX];
srand(time(NULL));
printf(****************************************************\n);
printf(로또 프로그램 입니다.);
printf(숫자를 6개 입력하세요\n);
for(i=0; iMAX; i++)
{
printf(%d번째 입력 : ,i+1);
scanf(%d, &me[i]);
}
random(lotto);
for(i=0; iMAX; i++)
{
for(j=0; jMAX; j++)
{
if(me[i] != lotto[j])
{
random(lotto);
i--;
cou++;
}
else
break;
}
}for(i=0; i MAX; i++)
printf(%d, ,lotto[i]);
printf(\n);
for(i=0; i MAX; i++)
printf(%d, ,me[i]);
printf(\n 카운터 : %d, cou);
return 0;
}
void random(int lotto[])
{
int i, j, temp;
for(i=0;i MAX; ) //=========================로또 중복 안되게 생성
{
temp = rand()%45+1;
for(j=0; j i; j++)
{
if (lotto[j]==temp)
break; /* 처음 부터 검색해서 방금 만든
난수와 같은 수가 나오면 안쪽for문을
빠져나온다. */
}
/* i와 j가 같다면 */
if (i==j)
lotto[i++]=temp; /* num의 i번째에 r값 저장하고 i를 1증가 */
} //=====================================로또 생성 끝
}