Другие языки программирования и технологии

Задача в с++. уже голову сломал

Программа сортирует прямоугольную матрицу, которая вводится с клавиатуры, за возрастанием одинаковых элементов в каждой строке.
С++
Алон Яав
Алон Яав
85
#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
using namespace std;

int main(){

size_t N, M;
cin >> N >> M;

int* A = new int[N * M];

for(size_t i = 0; i < N; i++)
for(size_t j = 0; j < M; j++){
cout << "A[" << i << "][" << j << "] = ";
cin >> A[i * M + j];
}
cout << endl;

int max = *max_element(A, A + N * M);
int min = *min_element(A, A + N * M);
bool Mm = abs(max) > abs(min);
int len = log10(abs(Mm? max : min)) + 2 + !Mm;

cout << "До сортировки: " << endl;
for(size_t i = 0; i < N * M; i++){
if(i % M == 0 && i != 0) cout << endl;
cout << setw(len) << A[i];
}
cout << endl;

for(size_t i = 0; i < N; i++)
sort(A + i * M, A + (i + 1) * M);

cout << "После сортировки: " << endl;
for(size_t i = 0; i < N * M; i++){
if(i % M == 0 && i != 0) cout << endl;
cout << setw(len) << A[i];
}
cout << endl;

delete[] A;

return 0;
}
Elvin Yusifov
Elvin Yusifov
11 157
Лучший ответ
scanf("%d",&M);
scanf("%d",&N);
int mas[N][M]; /* Так работать не будет! Размер статического массива должен быть известен во время компиляции */

mas[i][j] = 20 - rand() % 40; /* хотя бы так, а то у вас все отрицательные */

/* И неплохо бы было узнать зачем нужна функция srand() */
Алон Яав К чему все это?