c++초보입니다.

컴퓨터가 랜덤 선택해서 이 랜덤숫자가 중복이 안되게 하는 소스를 모르겠습니다.

3일 동안 해봤는데 저에겐 한계네요...


딱 이프문 포문 배열 배웠습니다. 이중배열x...  도와주십쇼!!


파일첨부했습니다. zip

<!-- //con_substance --> <!-- con_banner -->


#include <iostream>
#include <Windows.h>
#include <time.h>

using namespace std;

void main(void)
{
 srand(time(NULL));
 int coNum[25];
 int co1[25];
 int myNum[25];
 int dest, sour, temp;
 int count = 0;
 int garo = 0;
 int sero = 0;
 int input;
 int turn = 0;
 int coInput;
 

 for (int i = 0; i < 25; i++)
 {
  myNum[i] = i + 1;
  coNum[i] = i + 1;
 }

 for (int i = 0; i<1000; i++)
 {
  dest = rand() % 25;
  sour = rand() % 25;
  temp = myNum[dest];
  myNum[dest] = myNum[sour];
  myNum[sour] = temp;
 }

 for (int i = 0; i<600; i++)
 {
  dest = rand() % 25;
  sour = rand() % 25;
  temp = comNum[dest];
  coNum[dest] = coNum[sour];
  coNum[sour] = temp;
 }


 while (true)
 {
  count = 0;

  cout << "My BingGo" << endl;
  cout << endl;
  for (int garo = 0; garo < 5; garo++)
  {
   for (int sero = 0; sero < 5; sero++)
   {
    if (myNum[garo * 5 + sero] == input) // 맞추면 별
    {
     myNum[garo * 5 + sero] = 120;
    }

    if (myNum[garo * 5 + sero] == 120) // 별은 별
    {
     cout << "x ";
    }

    else // 숫자 보이는 상태
    {
     cout << myNum[garo * 5 + sero] << ' ';
    }
   }
   cout << endl;
  }
  cout << endl;
  cout << endl;
  cout << endl;
  cout << "Co BingGo" << endl;
  cout << endl;

  for (int garo = 0; garo < 5; garo++)
  {
   for (int sero = 0; sero < 5; sero++)
   {
    if (coNum[garo * 5 + sero] == input) // 맞추면 별
    {
     co1[garo * 5 + sero] = 120;
    }

    if (co1[garo * 5 + sero] == 120) // 
    {
     cout << coNum[garo * 5 + sero] << " ";
    }

    else
    {
     cout << "* "; 
    }
   }
   cout << endl;
  }
  cout << endl;
  
  if (myNum[0] == 'x' && myNum[1] == 'x' && myNum[2] == 'x' && myNum[3] == 'x' && myNum[4] == 'x') count++; // 가로
  if (myNum[5] == 'x' && myNum[6] == 'x' && myNum[7] == 'x' && myNum[8] == 'x' && myNum[9] == 'x') count++;
  if (myNum[10] == 'x' && myNum[11] == 'x' && myNum[12] == 'x' && myNum[13] == 'x' && myNum[14] == 'x') count++;
  if (myNum[15] == 'x' && myNum[16] == 'x' && myNum[17] == 'x' && myNum[18] == 'x' && myNum[19] == 'x') count++;
  if (myNum[20] == 'x' && myNum[21] == 'x' && myNum[22] == 'x' && myNum[23] == 'x' && myNum[24] == 'x') count++;
  if (myNum[0] == 'x' && myNum[5] == 'x' && myNum[10] == 'x' && myNum[15] == 'x' && myNum[20] == 'x') count++; // 세로
  if (myNum[1] == 'x' && myNum[6] == 'x' && myNum[11] == 'x' && myNum[16] == 'x' && myNum[21] == 'x') count++;
  if (myNum[2] == 'x' && myNum[7] == 'x' && myNum[12] == 'x' && myNum[17] == 'x' && myNum[22] == 'x') count++;
  if (myNum[3] == 'x' && myNum[8] == 'x' && myNum[13] == 'x' && myNum[18] == 'x' && myNum[23] == 'x') count++;
  if (myNum[4] == 'x' && myNum[9] == 'x' && myNum[14] == 'x' && myNum[19] == 'x' && myNum[24] == 'x') count++;
  if (myNum[0] == 'x' && myNum[6] == 'x' && myNum[12] == 'x' && myNum[18] == 'x' && myNum[24] == 'x') count++; // 대각선
  if (myNum[4] == 'x' && myNum[8] == 'x' && myNum[12] == 'x' && myNum[16] == 'x' && myNum[20] == 'x') count++;
  
  cout << "내 빙고 수는? " << count << endl;
  cout << endl;
  cout << "숫자를 입력하세요? ";
  cin >> input;
  Sleep(1000);
  
  
  

 

  
   coInput = rand() % 25+1; // 컴퓨터 랜덤입력!!

 
 
  


  cout << "컴퓨터 숫자는? " << coInput << endl;
  for (int i = 0; i < 25; i++) // 내가 입력해서 x
  {
   for (int garo = 0; garo < 5; garo++)
   {
    for (int sero = 0; sero < 5; sero++)
    {
     if (coInput == myNum[garo * 5 + sero])
     {
      myNum[garo * 5 + sero] = 'x';
     }
    }
   }

   for (int garo = 0; garo < 5; garo++) // 컴터가 숫자 입력
   {
    for (int sero = 0; sero < 5; sero++)
    {
     if (coNum[garo * 5 + sero] == coInput)
     {
      co1[garo * 5 + sero] = 120;
     }
    }
   }
  }

  
  Sleep(2000);
  system("cls");
 }
}