nvnnaidenov

Zad46

Oct 14th, 2021
729
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int n;
  9.     int m;
  10.     int a[10][10];
  11.     int b[100];
  12.  
  13.     cout << "n = ";
  14.     cin >> n;
  15.     if(!cin)
  16.     {
  17.         cout << "Error, bad input!" << endl;
  18.         return 1;
  19.     }
  20.     if(n < 1 || n > 10)
  21.     {
  22.         cout << "Error, incorrect input!" << endl;
  23.         return 1;
  24.     }
  25.  
  26.     //Въвеждане на масива а
  27.     for(int i = 0; i <= n - 1; i++)
  28.     {
  29.         for(int j = 0; j <= n - 1; j++)
  30.         {
  31.             cout << "a[" << i << "]" << " b[" << j << "] = ";
  32.             cin >> a[i][j];
  33.         }
  34.     }
  35.  
  36.     //Извеждане на елементите
  37.     for(int i = 0; i <= n - 1; i++)
  38.     {
  39.         for(int j = 0; j <= n; j++)
  40.         {
  41.             cout << setw(5) << a[i][j];
  42.         }
  43.         cout << endl;
  44.     }
  45.  
  46.     m = -1;
  47.     for(int j = 0; j <= n - 1; j++)
  48.     {
  49.         for(int i = 0; i <= n - 1; i++)
  50.         {
  51.             m++;
  52.             b[m] = a[i][j];
  53.         }
  54.         m++;
  55.     }
  56.  
  57.     for(int i = 0; i <= n - 1; i++)
  58.     {
  59.         cout << setw(5) << b[i];
  60.     }
  61.     cout << endl;
  62.  
  63.     //Сортиране на масави b по метода на пряката селекция
  64.     for(int i = 0; i <= m - 2; i++)
  65.     {
  66.         int k = i;
  67.         int min = b[i];
  68.         for(int j = i + 1; j <= m - 1; j++)
  69.         {
  70.             if(b[j] < min)
  71.             {
  72.                 min = b[j];
  73.                 k = j;
  74.             }
  75.         }
  76.         int x = b[i];
  77.         b[i] = b[k];
  78.         b[k] = x;
  79.     }
  80.  
  81.     //Извеждане на сортираната b
  82.     for(int i = 0; i <= m - 1; i++)
  83.     {
  84.         cout << setw(5) << b[i];
  85.     }
  86.     cout << endl;
  87.  
  88.     //Конструиране на новата матрица a
  89.     m = -1;
  90.     for(int i = 0; i <= n - 1; i++)
  91.     {
  92.         for(int j = 0; j <= n - 1; j++)
  93.         {
  94.             m++;
  95.             a[i][j] = b[m];
  96.         }
  97.     }
  98.  
  99.     //Извеждане на новата матрица
  100.     for(int i = 0; i <= n - 1; i++)
  101.     {
  102.         for(int j = 0; j <= n - 1; j++)
  103.         {
  104.             cout << a[i][j];
  105.         }
  106.         cout << endl;
  107.     }
  108.  
  109.     return 0;
  110. }
RAW Paste Data