Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- int i, j, n, m;
- int a[10][10];
- int main()
- {
- cout << "enter number of lines: ";
- cin >> m;
- cout << endl << "enter number of columns: ";
- cin >> n;
- cout << endl;
- for (i = 0; i < m; i++)
- {
- for (j = 0; j < n; j++)
- {
- cout << "Enter [" << i + 1 << "-" << j + 1 << "] array element: ";
- cin >> a[i][j];
- }
- }
- cout << "Array" << endl;
- for (i = 0; i < m; i++)
- {
- for (j = 0; j < n; j++)
- {
- cout << a[i][j] << " ";
- }
- cout << endl;
- }
- int buff[10]; // буфер
- int s_now, s_prev, z; // суммы
- s_now = 0;
- s_prev = 0;
- for (z = 0; z < m; z++)
- {
- int *temp_a = &a[z][0]; //указатель на массив z-ого ряда
- for (i = z; i < m; i++)
- {
- for (j = 0; j < n; j++)
- {
- s_prev += *temp_a;
- s_now += a[i][j]; // вычисляем сумму
- }
- if (s_prev > s_now)
- {
- for (int k = 0; k < n; k++)
- {
- buff[k] = a[i][k]; // заполняем буфер меньшим рядом
- a[i][k] = *temp_a; // заполняем меньшим = большим
- *temp_a = buff[k]; // берем из буфера меньший
- // и вставляем на место которого стоит указатель
- temp_a++; // присваиваем указателю следующее значение столбца
- }
- temp_a -= n; // возвращаем указатель на первоначальное место
- }
- s_now = 0; // обнуляем суммы
- s_prev = 0;
- }
- }
- //вывод отсортированного массива
- cout << "sorted matrix" << endl;
- for (i = 0; i < m; i++)
- {
- for (j = 0; j < n; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement