C/C++

С++. Упорядочить строки массива A в порядке убывания сумм цифр первого элемента каждой строки.

С++. Упорядочить строки массива A в порядке убывания сумм цифр первого элемента каждой строки.
С рандомным динамическим массивом со значениями элементов в диапазоне [0;99], размерность которого задаётся с экрана, и пузырьковой сортировкой.
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
void print_matrix(int **a, int n, int m)
{
int i, j;
cout << endl;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout << setw(3) << a[i][j];
cout << endl;
}
cout << endl;
}
int digits(int n)
{
return n / 10 + n % 10;
}
int main()
{
int i, j, k, l, m, n;
srand(time(nullptr));
cout << "n m: ";
cin >> k >> l;
int **array = new int *[k];
for (i = 0; i < k; i++) array[i] = new int [l];
for (i = 0; i < k; i++) for (j = 0; j < l; j++)
array[i][j] = rand() % 100;
cout << "\nMatrix:" << endl;
print_matrix(array, k, l);
for (i = 1; i < k; i++) for (j = k - 1; j >= i; j--)
if (digits(array[j - 1][0]) < digits(array[j][0]))
for (m = 0; m < l; m++)
{
n = array[j - 1][m];
array[j - 1][m] = array[j][m];
array[j][m] = n;
}
cout << "Matrix after Sorting:" << endl;
print_matrix(array, k, l);
}
AA
Akhmed Aseev
66 572
Лучший ответ

Похожие вопросы