返回列表 發帖

產生不重複之隨機亂數

本帖最後由 鄭繼威 於 2022-4-16 11:56 編輯

試產生20組4個範圍介於0~9, 不重複之隨機亂數.

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"4個介於0~9的不隨機亂數:"<<endl;   
  8.    
  9.     int n[4];        //產生長度為4的陣列->一組4個數

  10.     srand(time(NULL));
  11.     //外面20次裡面4次
  12.     for(int i=0; i<20; i++)                        //最外面的20次迴圈->決定第?組
  13.     {
  14.          for(int j=0; j<4; j++)                    // 跑4次的迴圈->每1組裡面有4個數字
  15.          {
  16.               n[j]=rand()%10;  //0~9隨機數放入陣列裡
  17.               
  18.               //多了幾行拿來判斷是否有重複
  19.               for(int k=0; k<j; k++)       //跑j次迴圈->決定要檢查j個數
  20.               {
  21.                    if(n[k]==n[j])          //k位置跟原本的j位置比較是否有相等
  22.                    {
  23.                        j--;                //如果有的話就跳出去(break)此迴圈,並回去(j--)原本的位置
  24.                        break;              
  25.                    }
  26.               }
  27.          }  
  28.          for(int j=0; j<4; j++)
  29.          {
  30.               cout<<n[j]<<" ";             //輸出隨機數+空格
  31.          }
  32.          cout<<endl;
  33.          _sleep(500);
  34.     }
  35.     system("pause");
  36.     return 0;   
  37. }
複製代碼

返回列表