返回列表 發帖

[隨堂測驗] 排序 (二)

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

產生10個範圍介於1~20之不重複隨機亂數, 並利用選擇排序法將它們由小而大排列出來.

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int n[10],tmp;
  9.     re:
  10.     for(int i=0; i<10; i++)
  11.     {
  12.          n[i]=rand()%20+1;
  13.          for(int j=0; j<i; j++)
  14.          {
  15.              if(n[i]==n[j])
  16.              {
  17.                  i--;
  18.                  break;
  19.              }      
  20.          }
  21.     }
  22.     for(int i=0; i<9; i++)
  23.     {
  24.          for(int j=i+1; j<10; j++)
  25.          {
  26.              if(n[j]<n[i])
  27.              {
  28.                  tmp=n[j];
  29.                  n[j]=n[i];
  30.                  n[i]=tmp;
  31.              }   
  32.          }
  33.     }
  34.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  35.     for(int i=0; i<10; i++)
  36.         cout<<n[i]<<" ";
  37.     cout<<endl;
  38.     system("pause");
  39.     goto re;
  40.     return 0;
  41. }
複製代碼

TOP

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.       int x[10],z;
  9.       re:
  10.      for(int i=0; i<10;i++)
  11.      {
  12.          x[i]=rand()%20+1;
  13.          for(int j=0;j<i;j++)
  14.          {
  15.              if(x[i]==x[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }   
  20.          }   
  21.      }
  22.      for(int i=0;i<9;i++)
  23.      {
  24.          for(int j=i+1; j<10; j++)
  25.         {
  26.             if(x[j]<x[i])
  27.             {
  28.                 z=x[j];
  29.                 x[j]=x[i];
  30.                 x[i]=z;
  31.             }
  32.         }        
  33.      }
  34.      cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  35.     for(int i=0; i<10; i++)
  36.         cout<<x[i]<<" ";
  37.     cout<<endl;
  38.    
  39.     system("pause");
  40.      goto re;
  41.     return 0;   
  42. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int n[10],tmp;
  9.     re:
  10.     for(int i=0;i<10;i++)
  11.     {   
  12.     n[i]=rand()%20+1;
  13.     for(int j=0; j<i; j++)
  14.          {
  15.               if(n[i]==n[j])
  16.               {
  17.                   i--;
  18.                   break;              
  19.               }
  20.          }  
  21.     }

  22.     for(int i=0;i<9;i++)
  23.     {
  24.        for(int j=i+1;j<10;j++)
  25.        {
  26.           if(n[j]<n[i])
  27.           {
  28.              tmp=n[j];
  29.              n[j]=n[i];
  30.              n[i]=tmp;         
  31.           }               
  32.        }
  33.     }
  34.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  35.     for(int i=0;i<10;i++)
  36.     cout<<n[i]<<" ";
  37.     cout<<endl;
  38.     system("pause");
  39.     return 0;         
  40. }   
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6.     srand(time(NULL));
  7.     int n[10],tmp;
  8.     re:
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  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<9; i++)
  22.     {
  23.          for(int j=i+1; j<10; j++)
  24.          {
  25.              if(n[j]<n[i])
  26.              {
  27.                  tmp=n[j];
  28.                  n[j]=n[i];
  29.                  n[i]=tmp;
  30.              }   
  31.          }
  32.     }
  33.     cout<<"10個範圍介於1~20之不重複隨機亂數, 由小而大依序為:"<<endl;
  34.     for(int i=0; i<10; i++)
  35.         cout<<n[i]<<" ";
  36.     cout<<endl;
  37.     system("pause");
  38.     goto re;
  39.     return 0;
  40. }
複製代碼

TOP

返回列表