오븐 노트

[C++] 로또 번호 생성기 본문

Develop/C++

[C++] 로또 번호 생성기

오 븐 2022. 7. 13. 20:54
#include <iostream>
using namespace std;

void Swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;

	return;
}

void Sort(int numbers[], int count)
{

	for (int i = 0; i < count; i++)
	{
		int best = i;

		for (int j = i + 1; j < count; j++)
		{
			if (numbers[j] < numbers[best])
				best = j;
		}

		if (i != best)
			Swap(numbers[i], numbers[best]);
	}
}

void ChooseLotto(int numbers[])
{
	// TODO : 랜덤으로 1~45 사이 숫자 6개 (단, 중복 X)
	srand((unsigned)time(0));

	int count = 0;
	while (count != 6)
	{
		int randValue = 1 + (rand() % 45); // 0~44
		bool found = false;

		for (int i = 0; i < count; i++)
		{
			if (numbers[i] == randValue)
			{
				found = true;
				break;
			}
		}

		if (found == false)
		{
			numbers[count] = randValue;
			count++;
		}
	}

	Sort(numbers, 6);
}

int main()
{
	// swap
	int a = 1;
	int b = 2;
	Swap(a, b);
	cout << a << " " << b << endl;

	// 정렬
	int numbers[6] = { 1, 42, 3, 15, 5, 6 };
	Sort(numbers, sizeof(numbers) / sizeof(int));

	ChooseLotto(numbers);

	for (int i = 0; i < 6; i++)
		cout << numbers[i] << endl;

	return 0;
}

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
 
C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다.
이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다.

 

모든 글은 제가 공부하기 위해 작성합니다.

'Develop > C++' 카테고리의 다른 글

[C++] 다차원 배열  (0) 2022.07.15
[C++] 다중 포인터  (0) 2022.07.14
[C++] 포인터 vs 배열  (0) 2022.07.11
[C++] 배열 기초  (0) 2022.07.11
[C++] 포인터 vs 참조  (0) 2022.07.10