Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "RUS");
- int ROW = 0, COL = 0;
- cout << "Введите количество строчек в матрице: ";
- cin >> ROW;
- if (cin.fail() || ROW > 20 || ROW < 2)
- {
- cout << "Неверная размерность для строк!" << endl;
- return -1;
- }
- cout << "Введите количество столбцов в матрице: ";
- cin >> COL;
- if (cin.fail() || COL > 20 || COL < 2)
- {
- cout << "Неверная размерность для столбцов!" << endl;
- return -2;
- }
- int** MATR = new int* [ROW];
- for (auto i = 0; i < ROW; i++)
- {
- MATR[i] = new int[COL];
- }
- for (int i = 0; i < ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- MATR[i][j] = 0;
- cout << "Введите элемент " << (i + 1) << "-ой строки, " << (j + 1) << "-го столбца: ";
- cin >> MATR[i][j];
- if (cin.fail())
- {
- cout << "Вы ввели не число!" << endl;
- return -3;
- }
- }
- cout << endl;
- }
- cout << "Введённвя матрица:" << endl;
- for (int i = 0; i < ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- cout << MATR[i][j] << " ";
- }
- cout << endl;
- }
- cout << endl;
- /*Перестроить заданную прямоугольную матрицу, переставляя в ней строки так,
- чтобы сумма элементов в строках полученной матрицы возрастала*/
- int SUM = 0, RESERVE=0, SRAVNEN=0, TEMP=0;
- for (int i = 0; i < ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- SUM += MATR[i][j];
- }
- RESERVE = SUM;
- if (SRAVNEN > RESERVE)
- {
- int* TEMP = MATR[i - 1];
- MATR[i - 1] = MATR[i];
- MATR[i] = TEMP;
- }
- SRAVNEN = SUM;
- SUM = 0;
- }
- for (int i = 0; i < ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- cout << MATR[i][j] << " ";
- }
- cout << endl;
- }
- for (auto i = 0; i < ROW; i++)
- {
- delete[]MATR[i];
- }
- delete[]MATR;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement