返回列表 發帖

[作業] 產生不重複之隨機亂數 (三)

本帖最後由 陳品肇 於 2022-4-23 10:22 編輯

假設班上有五位同學: 子耕, 思惟, 璽安, 侑成, 挺桂.
試做一程式, 可隨機地抽選出三位同學. (抽籤的目的自由發揮)


提示:試試看一樣的邏輯隨機取index
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;   //0~4
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"以下為本校參加全國摔角大亂鬥的同學:";
  8.     int n[3];     
  9.         string m[5]={"子耕" ,"思惟" ,"璽安", "侑成", "挺桂"};   
  10.     srand(time(NULL));
  11.     for(int j=0; j<3; j++)
  12.     {
  13.         n[j]=rand()%5;
  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<3; j++)
  24.     {
  25.         cout<<m[n[j]]<<" ";
  26.     }
  27.     cout<<endl<<"念到的同學請到教務處填寫個人資料以便報名及聯絡,謝謝"<<endl;
  28.     system("pause");
  29.     return 0;   
  30. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;   //0~4
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;  
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;   //0~4
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;   
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.      string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.      int x[3];
  9.      srand(time(NULL));
  10.      for(int i=0; i<3;i++)
  11.      {
  12.          x[i]=rand()%5;
  13.          for(int j=0;j<i;j++)
  14.          {
  15.              if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }   
  20.          }   
  21.      }
  22.      cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0;i<3;i++)
  11.     {
  12.         x[i]=rand()%5;
  13.         for(int j=0;j<i;j++)
  14.         {
  15.             if(x[i]==x[j])
  16.             {
  17.                 i--;
  18.                 break;         
  19.             }        
  20.         }        
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0;i<3;i++)
  11.     {
  12.        x[i]=rand()%5;
  13.        for(int j=0;j<i;j++)
  14.        {
  15.           if(x[i]==x[j])
  16.           {
  17.              i--;
  18.              break;           
  19.           }
  20.        }   
  21.      }  
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0;i<3;i++)
  24.     cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;         
  28. }   
複製代碼

TOP

  1.     #include<iostream>
  2.     #include<cstdlib>
  3.     using namespace std;
  4.     int main()
  5.     {
  6.         re:
  7.         string n[7]={"子耕", "思惟", "璽安", "侑成", "奇奇", "阿尼", "挺桂"};
  8.         int x[3];
  9.         srand(time(NULL));
  10.         for(int i=0; i<3; i++)
  11.         {
  12.              x[i]=rand()%7;   
  13.              for(int j=0; j<i; j++)
  14.              {
  15.                   if(x[i]==x[j])
  16.                   {
  17.                       i--;
  18.                       break;              
  19.                   }
  20.              }  
  21.         }
  22.         cout<<"掃廁所三位同學: ";
  23.         for(int i=0; i<3; i++)
  24.             cout<<n[x[i]]<<" ";
  25.         cout<<endl;
  26.         system("pause");
  27.         goto re;
  28.         return 0;
  29.         
  30.         
  31.     }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.   string n[5]={"子耕","思惟","璽安","侑成","挺桂"};
  8.   int x[3];
  9.   srand(time(NULL));
  10.   for(int i=0;i<3;i++)
  11.   {
  12.     x[i]=rand()%5;
  13.     for(int j=0;j<i;j++)
  14.     {
  15.       if(x[i]==x[j])
  16.       {
  17.           i--;
  18.           break;               
  19.       }     
  20.     }
  21.          
  22.   }
  23.   cout<<"掃廁所三位同學: ";
  24.   for(int i=0;i<3;i++)
  25.   {
  26.     cout<<n[x[i]]<<" ";
  27.          
  28.   }  
  29.    
  30. system("pause");
  31. return 0;
  32. }   
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕", "思惟", "璽安", "侑成", "挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0; i<3; i++)
  11.     {
  12.          x[i]=rand()%5;   
  13.          for(int j=0; j<i; j++)
  14.          {
  15.               if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0; i<3; i++)
  24.         cout<<n[x[i]]<<" ";
  25.     cout<<endl;
  26.     system("pause");
  27.     return 0;   
  28. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     string n[5]={"子耕","思惟","璽安","侑成","挺桂"};
  8.     int x[3];
  9.     srand(time(NULL));
  10.     for(int i=0;i<3;i++)
  11.     {
  12.             x[i]=rand()%5;
  13.             for(int j=0;j<i;j++)
  14.             {
  15.                     if(x[i]==x[j])
  16.                     {
  17.                                  i--;
  18.                                  break;                    
  19.                     }                    
  20.             }
  21.     }
  22.     cout<<"掃廁所三位同學: ";
  23.     for(int i=0;i<3;i++)
  24.     {
  25.             cout<<n[x[i]]<<" ";
  26.     }
  27.     cout<<endl;
  28.     system("pause");
  29.     return 0;
  30. }
複製代碼

TOP

返回列表