로또 - 당첨번호 뽑는 함수 - 중복이 삭제가 안되는 문제

2025. 3. 15. 19:18·C언어/연습장
void f_com_lotto(int com_lotto[]) //매개변수를 배열로 설정
{
    com_lotto[6]; // 컴퓨터가 선정한 로또번호 = 길이는 6

        // 당첨 번호뽑는 코드
        srand(time(NULL)); // 이게 없으면 값이 고정됨
        for (int i = 0; i < SIZE; i++) // 0 1 2 3 4 5 (총 6개 픽)
        {
            com_lotto[i] = (rand() % 45 +1); // 범위: 1~45
            printf("%d ", com_lotto[i]);
    
            for (int j = 0; j < i; j++) // 중복 걸러주기
            {
                if (com_lotto[i] == com_lotto[j]) // 먼저 뽑은거랑 같지 않아야 저장
                {
                    //j=0,i=0 > 0 0 비교 >
                    i --; // 중복이 생기면 해당 i를 제거하고 다시 뽑기
                    break;
                }
            }
        }
    printf("\n");
}

당첨번호 출력하는걸 중간에 뒀더니 중복이 발생했을 때 삭제되지않아 길이가 7로 늘어나는 문제가 발생했다.

그래서 출력코드를 for문이 끝난 다음에 배치해줬더니 해당 문제를 처리할 수 있었다.

중간에 두면 뭐가 문제였던걸까?

'C언어 > 연습장' 카테고리의 다른 글

로또 / 덩어리3 함수화 하기 전  (0) 2025.03.16
로또 기본틀 완성본  (0) 2025.03.15
로또 - 함수 없는 버전  (0) 2025.03.15
0309 <if 조건문>  (0) 2025.03.09
0309 <while반복문>  (0) 2025.03.09
'C언어/연습장' 카테고리의 다른 글
  • 로또 / 덩어리3 함수화 하기 전
  • 로또 기본틀 완성본
  • 로또 - 함수 없는 버전
  • 0309 <if 조건문>
joo_coding
joo_coding
2025.02.18~
  • joo_coding
    주코딩일지
    joo_coding
  • 전체
    오늘
    어제
    • 분류 전체보기 (163)
      • 일지 (19)
      • 계획표 (7)
      • 프로젝트 (6)
      • C언어 (35)
        • 연습장 (12)
      • C++ (3)
      • Python (28)
        • 연습장 (11)
      • TCP IP (4)
      • DB (2)
      • ubuntu (1)
      • Git (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c언어 #vscode #gcc #윈도우 #c언어윈도우 #gcc윈도우 #vscode윈도우 #c #c++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
joo_coding
로또 - 당첨번호 뽑는 함수 - 중복이 삭제가 안되는 문제
상단으로

티스토리툴바