返回列表 發帖

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

本帖最後由 陳品肇 於 2019-5-18 13:27 編輯

假設班上有七位同學: 雍程, 彥承, 允軒, 郁庭, 宇翔, 峻瑋, 得旗.
試做一程式, 可隨機地抽選出三位同學.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {         
  6.    
  7.     srand(time(NULL)); //給定亂樹種子
  8.                      // 0    1        2        3      4      5       6
  9.     string name[7]={"雍程", "彥承", "允軒", "郁庭", "宇翔", "峻瑋", "得旗"};

  10.     int n[3];  //宣告出三個位子     
  11.    
  12.     for(int i =0;i<3;i++)
  13.     {                        
  14.         n[i] = rand()%7;  // 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.     cout<<"隨機抽出的三位同學為:";
  27.     for(int i=0;i<3;i++)
  28.     {
  29.        cout<<name[n[i]]<<" ";  //n[i] 取出三個儲存的位子  ex: 4 3 6
  30.     }
  31.     cout<<endl;
  32.     system("pause");
  33.     return 0;   
  34. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表