返回列表 發帖

產生不重複之隨機亂數

本帖最後由 tonyh 於 2014-5-17 17:29 編輯

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

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int r[4];
  9.     for(int i=0; i<4; i++)
  10.     {
  11.          r[i]=rand()%10;
  12.          for(int j=0; j<i; j++)
  13.          {
  14.               if(r[i]==r[j])
  15.               {
  16.                   //cout<<"出現重複!"<<endl;
  17.                   i--;
  18.                   break;
  19.               }
  20.          }
  21.     }
  22.     cout<<"4個介於0~9的不重複隨機亂數為: ";
  23.     for(int i=0; i<4; i++)
  24.          cout<<r[i]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

本帖最後由 周雍程 於 2014-5-17 17:34 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.    srand(time(NULL));
  8.    system("cls");
  9.    re:
  10.    int r[4];
  11.    for(int i=0; i<4; i++)
  12.    {
  13.         r[i]=rand()%10;
  14.         for(int j=0; j<i; j++)
  15.         {
  16.             if(r[i]==r[j])
  17.             {
  18.                cout<<"出現重複!"<<endl;
  19.                i--;
  20.                break;              
  21.             }
  22.         }  
  23.    }
  24.    cout<<"4個範圍介於0~9隨機亂數是: ";
  25.    for(int i=0; i<4; i++)
  26.    {
  27.      cout<<r[i]<<" ";
  28.    }   
  29.    system("pause");
  30.    goto re;
  31.    return 0;   
  32. }
複製代碼

TOP

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

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;

  5. int main()
  6. {
  7.     re:
  8.     system("cls");
  9.     srand(time(NULL));
  10.     int r[4] = {};
  11.     for (int i = 0; i < 4; i++)
  12.     {
  13.      r[i] = rand() % 10;
  14.           for(int j = 0; j < i; j++)
  15.           {
  16.                   if(r[i] == r[j])
  17.                   {
  18.                           i--;
  19.                           break;
  20.                   }
  21.           }
  22.      }        
  23.         cout << "4個介於0~9的不重複隨機亂數為: ";
  24.         for (int p = 0;p < 4; p++)
  25.         {
  26.             cout << r[p] ;
  27.         }
  28.         cout << endl;
  29.         system("pause");
  30.         goto re;
  31.         return 0;
  32. }
複製代碼

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;

  5. int main()
  6. {
  7.     start:
  8.     srand(time(NULL));
  9.     int a[4] = {};
  10.     cout << "四個介於0~9的不重複隨機亂數為:  ";
  11.     for (int i = 0; i < 4; i++)
  12.     {
  13.         a[i] = rand() % 10;
  14.         for (int j = 0; j < i; j++)
  15.             if (a[j] == a[i])
  16.             {
  17.                      i--;
  18.                      break;
  19.             }
  20.     }
  21.    
  22.     for (int i = 0; i < 4; i++)
  23.     {
  24.         cout << a[i] << "\t";
  25.     }
  26.     cout << endl;
  27.     system("pause");
  28.     goto start;
  29.     return 0;
  30. }
複製代碼

TOP

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

TOP

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

TOP

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

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     re:
  9.     system("cls");
  10.     int r[6];
  11.     string name[]={"周雍程","張峻瑋","林宇翔","李允軒","張郁庭","張彥承"};
  12.     for(int i=0; i<3; i++)
  13.     {   
  14.         r[i]=rand()%6;
  15.         for(int j=0; j<i; j++)
  16.         {
  17.             if(r[i]==r[j])
  18.             {   
  19.                 i--;
  20.                 break;
  21.             }   
  22.         }                     
  23.     }
  24.     cout<<"隨機抽出的三位同學為: ";
  25.     for(int i=0; i<3; i++)
  26.         cout<<name[r[i]]<<" ";
  27.     cout<<endl;
  28.     system("pause");         
  29.     system("cls");
  30.     goto re;
  31.     return 0;
  32. }
複製代碼

TOP

返回列表