Board logo

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

作者: 陳品肇    時間: 2019-5-10 22:47     標題: 產生不重複之隨機亂數

本帖最後由 陳品肇 於 2019-5-11 14:51 編輯

試產生4個範圍介於0~9, 不重複之隨機亂數.
[attach]6451[/attach]
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {         
  6.    
  7.     srand(time(NULL)); //給定亂樹種子
  8.     int n[4];
  9.    
  10.     cout<<"4個介於0~9的不重複隨機亂數為:";
  11.    
  12.     for(int i =0;i<4;i++)
  13.     {                        
  14.         n[i] = rand()%10;  // rand()%(最大值-最小值+1)+ 最小值 值放進陣列
  15.         
  16.         for(int j=0;j<i;j++)  //跑我之前已經產生的結果
  17.         {
  18.              if(n[i]==n[j])  //比較值是否已經存在
  19.              {
  20.                  i--;
  21.                  break;
  22.              }
  23.         }
  24.     }
  25.    
  26.    
  27.     for(int i=0;i<4;i++)
  28.     {
  29.        cout<<n[i]<<" ";
  30.     }
  31.     cout<<endl;
  32.     system("pause");
  33.     return 0;   
  34. }
複製代碼

作者: 田宇任    時間: 2019-5-11 14:39

本帖最後由 田宇任 於 2019-5-11 14:51 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int r[4];
  8.       
  9.     for(int a=0;a<4;a++)
  10.     {
  11.            r[a] = rand()%10;
  12.            
  13.            for(int b=0;b<a;b++)
  14.            {
  15.                  if(r[b] == r[a])
  16.                  a--;
  17.                  break;   
  18.            }        
  19.     }
  20.    
  21.     for(int a=0;a<4;a++)
  22.     {
  23.             cout<<r[a]<<endl;
  24.     }
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 吳孟修    時間: 2019-5-11 14:41

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

作者: 吳孟書    時間: 2019-5-11 14:42

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

作者: 王瑞喻    時間: 2019-5-11 14:42

本帖最後由 王瑞喻 於 2019-5-11 14:53 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int n[4];//宣告陣列  長度四
  8.     for(int i=0;i<4;i++)
  9.     {
  10.         n[i]=rand()%10;//0~9
  11.         for(int j=0;j<i;j++)
  12.         {
  13.             if(n[j]==n[i])
  14.             {
  15.                 i--;
  16.                 break;
  17.             }        
  18.         }
  19.     }
  20.     for(int i=0;i<4;i++)
  21.     {
  22.         cout<<n[i]<<" ";
  23.     }
  24.     cout<<endl;
  25.     system ("pause");
  26.     return 0;   
  27. }
複製代碼

作者: 湯郡一    時間: 2019-5-11 14:43

本帖最後由 湯郡一 於 2019-5-11 14:51 編輯
  1. include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int n[4];  
  8.          
  9.     for(int i=0;i<4;i++)
  10.     {
  11.         n[i] = rand()%10;
  12.         
  13.         for(int j=0;j<i;j++)
  14.         {
  15.             if(n[j] == n[i])
  16.             {
  17.                 i--;
  18.                 break;
  19.             }
  20.         }
  21.     }
  22.    
  23.    
  24.     for(int i=0;i<4;i++)
  25.     {
  26.        cout<<n[i]<<endl;
  27.     }
  28.    
  29.     system("pause");
  30.     return 0;
  31. }
複製代碼

作者: 洪寬瀧    時間: 2019-5-11 14:45

本帖最後由 洪寬瀧 於 2019-5-11 14:51 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int n[4];
  8.     for(int i=0;i<4;i++)
  9. {
  10.           n[i]= rand()%10;
  11.    
  12.     for(int j=0;j<i;j++)
  13.   {
  14.     if(n[j]==n[i])
  15.     {
  16.     i--;
  17. break;
  18.     }
  19.   }
  20. }  
  21.     for(int i=0;i<4;i++)
  22.     {
  23.        cout<<n[i]<<endl;
  24.     }
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 曲書辰    時間: 2019-5-18 13:13

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6. srand(time(NULL));
  7. int n[4];

  8. for(int i=0;i<4;i++)
  9. {
  10.          n[i]=rand()%10;
  11.          for(int j=0;j<i;j++)
  12.          {
  13.           if(n[i]==n[j])
  14.           {
  15.            i--;
  16.            cout<<"發生錯誤"<<endl;
  17.            break;           
  18.           }      
  19.          }        
  20. }
  21. for(int k=0;k<4;k++)
  22. {
  23.    cout<<n[k]<<"\t";
  24. }
  25. system("pause");
  26. return 0;   
  27.    
  28. }
複製代碼





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