返回列表 發帖

產生不重複之隨機亂數

本帖最後由 tonyh 於 2021-3-27 20:45 編輯

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

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     int r[4];
  8.     srand(time(NULL));
  9.     cout<<"20組4個範圍介於0~9, 不重複之隨機亂數:"<<endl;
  10.     for(int i=1; i<=20; i++)
  11.     {
  12.         for(int j=0; j<4; j++)
  13.         {        
  14.             r[j]=rand()%10;       //r[j] 新產生的亂數
  15.             for(int k=0; k<j; k++)
  16.             {
  17.                  if(r[j]==r[k])   //r[k] 過去產生的亂數
  18.                  {
  19.                      //cout<<"重複!"<<endl;
  20.                      j--;
  21.                      break;               
  22.                  }
  23.             }
  24.         }
  25.         cout<<r[0]<<" "<<r[1]<<" "<<r[2]<<" "<<r[3]<<endl;
  26.     }
  27.     system("pause");
  28.     return 0;
  29. }
複製代碼
  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  //0~9
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[j]==n[k])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表