Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. using namespace std;
  4. int i, j, n, m;
  5. int a[10][10];
  6. int main()
  7. {
  8. cout << "enter number of lines: ";
  9. cin >> m;
  10. cout << endl << "enter number of columns: ";
  11. cin >> n;
  12. cout << endl;
  13. for (i = 0; i < m; i++)
  14. {
  15. for (j = 0; j < n; j++)
  16. {
  17. cout << "Enter [" << i + 1 << "-" << j + 1 << "] array element: ";
  18. cin >> a[i][j];
  19. }
  20. }
  21. cout << "Array" << endl;
  22. for (i = 0; i < m; i++)
  23. {
  24. for (j = 0; j < n; j++)
  25. {
  26. cout << a[i][j] << " ";
  27. }
  28. cout << endl;
  29. }
  30. int buff[10]; // буфер
  31. int s_now, s_prev, z; // суммы
  32. s_now = 0;
  33. s_prev = 0;
  34. for (z = 0; z < m; z++)
  35. {
  36. int *temp_a = &a[z][0]; //указатель на массив z-ого ряда
  37. for (i = z; i < m; i++)
  38. {
  39. for (j = 0; j < n; j++)
  40. {
  41. s_prev += *temp_a;
  42. s_now += a[i][j]; // вычисляем сумму
  43. }
  44. if (s_prev > s_now)
  45. {
  46. for (int k = 0; k < n; k++)
  47. {
  48. buff[k] = a[i][k]; // заполняем буфер меньшим рядом
  49. a[i][k] = *temp_a; // заполняем меньшим = большим
  50. *temp_a = buff[k]; // берем из буфера меньший
  51. // и вставляем на место которого стоит указатель
  52. temp_a++; // присваиваем указателю следующее значение столбца
  53. }
  54. temp_a -= n; // возвращаем указатель на первоначальное место
  55. }
  56. s_now = 0; // обнуляем суммы
  57. s_prev = 0;
  58. }
  59. }
  60. //вывод отсортированного массива
  61. cout << "sorted matrix" << endl;
  62. for (i = 0; i < m; i++)
  63. {
  64. for (j = 0; j < n; j++)
  65. cout << a[i][j] << " ";
  66. cout << endl;
  67. }
  68. system("pause");
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement