void Swap(OUT int& num1, OUT int& num2)
{
int temp = num2;
num2 = num1;
num1 = temp;
}
void Sort(int number[], int count)
{
for (int j = 0; j < count; ++j)
{
for (int i = 0; i < count - 1; ++i)
{
if (*(number + i) > *(number + i + 1))
{
int temp = *(number + i);
*(number + i) = *(number + i + 1);
*(number + i + 1) = temp;
}
}
}
}
이렇게해야 성능에 조금 더 좋다.
지금 Sort함수의 두번재 인자로 계속 정수를 넣어주는데
sizeof(numbers); // int(4) * 6 => 24
sizeof(int); // => 4
배열의 크기는 sizeof(numbers) / sizeof(int) => 6 나온다.
Sort(numbers, sizeof(numbers) / sizeof(int) );
// 이렇게해주면 됨.
정렬된 상태로 만들어라
이중반복문 안에서 이중안에서 break써도 for문 빠져나간다.
이미 찾은건지 아닌지 boolean하나 놔두면됨.
void Lotto(int numbers[])
{
int count = 0;
srand((unsigned int)time(0));
while(count != sizeof(numbers) / sizeof(int) )
{
// 중복 X
int number = ( rand() % 45) + 1;
bool find = false;
for (int i = 0; i < sizeof(numbers) / sizeof(int); ++i)
{
if (numbers[count] == number)
find = true;
}
if (find == false)
{
*(numbers + count) = number;
++count;
}
}
Sort(numbers, 6);
}