SHARE
TWEET

Untitled

a guest Oct 16th, 2019 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     setlocale(LC_ALL, "RUS");
  7.  
  8.     int ROW = 0, COL = 0;
  9.     cout << "Введите количество строчек в матрице: ";
  10.     cin >> ROW;
  11.     if (cin.fail() || ROW > 20 || ROW < 2)
  12.     {
  13.         cout << "Неверная размерность для строк!" << endl;
  14.         return -1;
  15.     }
  16.  
  17.     cout << "Введите количество столбцов в матрице: ";
  18.     cin >> COL;
  19.     if (cin.fail() || COL > 20 || COL < 2)
  20.     {
  21.         cout << "Неверная размерность для столбцов!" << endl;
  22.         return -2;
  23.     }
  24.  
  25.     int** MATR = new int* [ROW];
  26.  
  27.     for (auto i = 0; i < ROW; i++)
  28.     {
  29.         MATR[i] = new int[COL];
  30.     }
  31.  
  32.     for (int i = 0; i < ROW; i++)
  33.     {
  34.         for (int j = 0; j < COL; j++)
  35.         {
  36.             MATR[i][j] = 0;
  37.             cout << "Введите элемент " << (i + 1) << "-ой строки, " << (j + 1) << "-го столбца: ";
  38.             cin >> MATR[i][j];
  39.             if (cin.fail())
  40.             {
  41.                 cout << "Вы ввели не число!" << endl;
  42.                 return -3;
  43.             }
  44.         }
  45.         cout << endl;
  46.     }
  47.  
  48.     cout << "Введённвя матрица:" << endl;
  49.     for (int i = 0; i < ROW; i++)
  50.     {
  51.         for (int j = 0; j < COL; j++)
  52.         {
  53.             cout << MATR[i][j] << " ";
  54.         }
  55.         cout << endl;
  56.     }
  57.     cout << endl;
  58.  
  59. /*Перестроить заданную прямоугольную матрицу, переставляя в ней строки так,
  60.     чтобы сумма элементов в строках полученной матрицы возрастала*/
  61.     int SUM = 0, RESERVE=0, SRAVNEN=0, TEMP=0;
  62.  
  63.     for (int i = 0; i < ROW; i++)
  64.     {
  65.             for (int j = 0; j < COL; j++)
  66.             {
  67.                 SUM += MATR[i][j];
  68.             }
  69.             RESERVE = SUM;
  70.             if (SRAVNEN > RESERVE)
  71.             {
  72.                 int* TEMP = MATR[i - 1];
  73.                 MATR[i - 1] = MATR[i];
  74.                 MATR[i] = TEMP;
  75.             }
  76.             SRAVNEN = SUM;
  77.             SUM = 0;
  78.     }
  79.    
  80.  
  81.  
  82.  
  83.     for (int i = 0; i < ROW; i++)
  84.     {
  85.         for (int j = 0; j < COL; j++)
  86.         {
  87.             cout << MATR[i][j] << " ";
  88.         }
  89.         cout << endl;
  90.     }
  91.  
  92.  
  93.  
  94.  
  95.     for (auto i = 0; i < ROW; i++)
  96.     {
  97.         delete[]MATR[i];
  98.     }
  99.     delete[]MATR;
  100.     system("pause");
  101. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top