inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

로또 번호 생성기

로또번호 질문

156

킴주니

작성한 질문수 24

0

강의영상 21:47분쯤에 이미 찾은 값이라고해서 number[i] == randvalue랑 비교하는 조건식이 있는데요 현재 number배열에는 아무것도 들어가있지 않은 상태아닌가요? 코드를 쭉 봤는데 랜덤수를 넣어주는 곳이 없어서 도대체 무엇이랑 비교를 하는건가요??다른 부분은 다 이해되는데 지금 로또번호가 이해가 안됩니다.. ㅠ

 

그리고 하나더 int randomvalue = 1 + (rand() % 45); 를해서

이 randomvalue를 number[i]에 for문으로 6번넣어서 출력을 할려했는데(중복 생각안하고)

근데 출력이 안됩니다 이게 계속 그래서 뭐가 문젠지 몰라서 제가 변수를 지우고 그냥 number[i]에

number[i] = 1 + (rand() % 45);를 직접적으로 대입해주니 출력이 잘 됐습니다 혹시 그 이유를 여쭤봐도 될까요??

c++

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대해 답변드리겠습니다.

첫 번째 질문에 대해, number[i] == randvalue 조건식은 배열 number 내에 이미 존재하는 값과 새로 생성된 랜덤 값 randvalue가 동일한지 비교하는 로직입니다. 현재 number 배열이 비어 있다면, 이 조건식은 단순히 초기 상태를 확인하는 것일 수 있습니다. 그러나, 보통 이러한 로직은 랜덤한 값이 배열에 이미 존재하는지 중복 체크를 위해 사용됩니다. 질문에서 언급하신 코드 상황만으로는 랜덤 수를 number 배열에 어떻게 추가하는지 구체적인 부분이 나와있지 않아, 랜덤 수를 추가하는 과정이 빠진 것 같습니다. 반복문 내에서 랜덤한 값을 생성하고 배열에 추가하는 로직이 필요할 것으로 보입니다.

두 번째 질문의 경우, int randomvalue = 1 + (rand() % 45);로 랜덤 값을 생성한 후 이 값을 number[i]에 할당하는 과정에서 문제가 발생한 것으로 보입니다. 하나의 randomvalue를 생성하고 이를 여러 번 number[i]에 할당하려 했다면, for 문을 사용하여 배열의 각 요소에 같은 값이 할당되었을 겁니다. 이로 인해 중복된 값이 생성되어 출력이 예상과 다를 수 있습니다. 반면 number[i] = 1 + (rand() % 45);를 사용하여 배열의 각 요소에 직접 랜덤 값을 할당하게 되면, 반복문의 각 단계에서 새로운 랜덤 값이 생성되어 number 배열의 각 요소에 다른 값이 할당됩니다. 이 차이로 인해 후자의 방식이 원하시는 결과를 얻는 데 성공한 것으로 보입니다.

혹시라도 더 궁금한 점이 있으시다면 추가적인 질문을 주시면 감사하겠습니다.

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

112

2

시작이 안되네요...!

0

96

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

125

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

124

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

138

2

hello world 부터 오류 ㅠㅜ

0

188

1

지역변수가 스택? 레지스터

0

127

2

마지막 문제 질문드립니다.

0

163

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

145

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

110

1

해당 코드는 왜 오류가 날까요?

0

154

1

마지막 문제 질문 있습니다.

0

118

1

강의 마지막부분에 질문이 있습니다.

0

190

2

Field초기화

0

140

1

virtual과 override 차이

0

314

2

3:30 참조자 리턴

0

167

1

map 찾기

0

158

1

프로그램 질문드려요

0

259

1

캐스팅 질문

0

138

1