C/C++

Срочно нужен код программы на С++

Дана матрица (nXm). Упорядочить строки матрицы так, чтобы суммы положительных элементов в строках были расположены по убыванию
#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

int main()
{
srand(time(nullptr)); // для генерации "случайных" чисел
int n,m,**A,sum1,sum2,tmp;
do
{
cout << "n: ";
cin >> n;
}while(n < 1);
do
{
cout << "m: ";
cin >> m;
}while(m < 1);
A = new int* [n]; // выделение памяти
for(int x = 0; x < n; x++)
A[x] = new int [m];

// генерация значений
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
A[x][y] = rand() % 31; // "случайные" значения [0;30]
cout << A[x][y] << '\t'; // выводим на экран
}
cout << endl;
}
cout << endl;

// теперь сортировка строк
for(int x = 0; x < n; x++)
{
for(int y = x + 1; y < n; y++)
{
sum1 = sum2 = 0;
for(int z = 0; z < m; z++)
{
sum1 += A[x][z]; // сумма одной строки
sum2 += A[y][z]; // сумма другой строки
}
if(sum1 < sum2)
{
// обмен значениями
for(int z = 0; z < m; z++)
{
tmp = A[x][z];
A[x][z] = A[y][z];
A[y][z] = tmp;
}
}
}
}

// вывод на экран сортированной матрицы
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
cout << A[x][y] << '\t';
cout << endl;
}

// очистка памяти
if(A != (int**) nullptr)
{
for(int x = 0; x < n; x++)
{
if(A[x] != (int*) nullptr)
{
delete [] A[x];
A[x] = (int*) nullptr;
}
else exit(1);
}
delete [] A;
A = (int**) nullptr;
}
else exit(1);
return 0;
}
БА
Болат Ахаев
61 192
Лучший ответ
1. наверное все же не суммы, а просто положительные элементы?
2. строка 8, 22, -3, 19, 38 - как должна выглядеть после сортировки? к чему стремимся?
Алекс 202
Алекс 202
1 900