Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement