Board logo

標題: 產生不重複之隨機亂數 [打印本頁]

作者: 鄭繼威    時間: 2022-4-15 19:09     標題: 產生不重複之隨機亂數

本帖最後由 鄭繼威 於 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. }
複製代碼

作者: 曾善勤    時間: 2022-4-16 11: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[k]==n[j])
  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. }
複製代碼

作者: 徐譽豈    時間: 2022-4-16 11:31

  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;  
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[k]==n[j])
  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. }
複製代碼

作者: 田家齊    時間: 2022-4-16 11:37

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

作者: 郭博鈞    時間: 2022-4-16 11:40

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"4個介於0~9的隨機亂數:"<<endl;



  8. srand(time(NULL));
  9.     for(int i=0;i<20;i++)
  10.     {
  11.              int n[4];                  
  12.          for(int j=0;j<4;j++)
  13.          {
  14.             n[j]=rand()%10;
  15.             for(int k=0;k<j;k++)
  16.             {
  17.                if(n[k]==n[j])
  18.                {
  19.                   j--;
  20.                   break;           
  21.                }     
  22.             }     
  23.          }
  24.        for(int j=0;j<4;j++)
  25.        {
  26.           cout<<n[j]<<" ";     
  27.        }                       
  28.    
  29.    
  30.     cout<<endl;
  31.     _sleep(500);            
  32.    }


  33. system("pause");
  34. return 0;   
  35. }
複製代碼

作者: 許宸瑀    時間: 2022-4-16 11:41

  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;  
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[k]==n[j])
  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. }
複製代碼

作者: 許馹東    時間: 2022-4-16 11:42

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.      cout<<"4個介於0~9的隨機亂數:"<<endl;
  7.      srand(time(NULL));
  8.       int n[4];        
  9.     int j=1;        
  10.     while(j<=20)
  11.     {
  12.         for(int i=0; i<4; i++)
  13.         {
  14.              n[i]=rand()%10;   
  15.              cout<<n[i]<<" ";
  16.         }
  17.         cout<<endl;
  18.         _sleep(500);
  19.         j++;
  20.     }      
  21.     system("pause");
  22.     return 0;
  23. }
複製代碼

作者: 孫子傑    時間: 2022-4-16 11:42

  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;
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[k]==n[j])
  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. }
複製代碼

作者: 柳侑辰    時間: 2022-4-16 11:43

  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;
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[k]==n[j])
  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. }
複製代碼

作者: 鍾易澄    時間: 2022-4-16 11:45

  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[k]==n[j])
  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. }
複製代碼

作者: 林鴻慶    時間: 2022-4-16 11:46

  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[k]==n[j])
  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. }
複製代碼

作者: 高鋐鈞    時間: 2022-4-16 11:57

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<iostream>
  4. #include<ctime>
  5. using namespace std;
  6. int main()
  7. {
  8.     srand(time(NULL));
  9.     for(int i=0; i<20; i++)
  10.     {
  11.          int n[4];
  12.          for(int j=0; j<4; j++)
  13.          {
  14.               n[j]=rand()%10;  
  15.               for(int k=0; k<j; k++)
  16.               {
  17.                    if(n[k]==n[j])
  18.                    {
  19.                        j--;
  20.                        break;              
  21.                    }
  22.               }
  23.          }  
  24.          for(int j=0; j<4; j++)
  25.          {
  26.               cout<<n[j]<<" ";
  27.          }
  28.          cout<<endl;
  29.          _sleep(500);
  30.     }
  31.     system("pause");
  32.     return 0;   
  33. }
複製代碼

作者: 高昀昊    時間: 2022-4-16 14:33

本帖最後由 高昀昊 於 2022-4-16 14:36 編輯
  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"4個介於0~9的不隨機亂數:"<<endl;   
  8.     int n[4];
  9.     srand(time(NULL));
  10.     for(int i=0; i<20; i++)
  11.     {
  12.         for(int j=0; j<4; j++)
  13.         {
  14.             n[j]=rand()%10;
  15.             for(int k=0; k<j; k++)      
  16.             {
  17.                 if(n[k]==n[j])
  18.                 {
  19.                     j--;
  20.                     break;              
  21.                 }
  22.             }
  23.         }  
  24.         for(int j=0; j<4; j++)
  25.         {
  26.             cout<<n[j]<<" ";
  27.         }
  28.         cout<<endl;
  29.         _sleep(500);
  30.     }
  31.     system("pause");
  32.     return 0;   
  33. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2