inflearn logo
강의

講義

知識共有

C++ Let's Make Games

ロト

같은 숫자반복

322

joylms99

投稿した質問数 1

0

겹치는 숫자가 없게하기위해서 알려주신대로 shuffle과 swap을 이용했는데요, 같은 숫자가 나타나는 원인이 무엇일까요?

#include <iostream>

#include<time.h>

int main()

{

    using namespace std;

    //로또만들기

    //45개 수를 배열해놓고 6개랑 추가 숫자 1개를 가져다가 써야한다.

    //1~45까지의 '겹치지 않는' 수를 이용하기위해서는 조합의 개념으로 임의로 배열되어 잇는 상황에서 6개를 뽑는게 좋다.

    //일단45개를 배열해놓고 인덱스를 swap하면 이걸 반복하면 임의로 섞이면서 shuffle이 이루어진다.

    int iLotto[45] = {};

    for (int i = 0; i < 45; ++i)

    {

        iLotto[i] = i + 1;

    }

    //타임에 시드값을 주자

    srand(unsigned int(time(0)));

    //마음대로 뽑을 인덱스가 필요하다

    int iTemp, iIndex1, iIndex2;

    

     //이제 iLotto의 값을 섞어보자

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

    {

        

        iIndex1 = rand() % 45;

        iIndex2 = rand() % 45;

      

        iTemp = iIndex1;

        iLotto[iTemp] = iLotto[iIndex1];

        iLotto[iIndex1] = iLotto[iIndex2];

        iLotto[iIndex2] = iLotto[iTemp];

    }

   

    //이제 6개 숫자와 추가숫자 1개를 뽑아보자

    

    for (int i = 0; i < 6; ++i)

    {

        cout << iLotto[i] <<"\t";

       

    }

    

    cout << "추가숫자:\t" << iLotto[7]; 

C++

回答 0

변수가 메모리에 저장되는 것을 알려주는 강의가 어떤강의였죠

1

466

1

1-E질문입니다!

0

515

2

3-L 틀린 부분 피드백 부탁드립니다.

0

816

2

1-A문제 순열재귀함수 질문입니다.

0

380

1

visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.

0

544

1

1-A 일곱난쟁이문제입니다

0

454

1

문제 풀 때 방향성에 대해

0

797

1

맥에서 vs code로 실행 관련 질문입니다

0

520

1

쉽게 배울 수 있네요!

1

278

0

왜 소리가 안나올까요?

0

301

0

질문있습니다

0

283

0

숫자야구게임 잡음

0

410

0

선생님 AI는

0

258

0

iTemCount 변수가 언제 0으로 초기화되었나요?

0

223

0

iStar 초기화

0

311

1

else if

0

429

2

조건붙일때

0

324

1

char* is incompatible with parameter of type char*

0

1119

2

쉬프트 연산자 이해가 잘 안됩니다.

2

245

0

동영상 재생이 안되요

0

310

0

실행

1

272

0

소리가 안나와요 ㅜㅜ

0

353

0

파일 문제

0

237

0

강의가 총 몇강인가요

0

290

0