// Поиск максимумов в строках матрицы
#include <iostream>
#include <ctime>
using namespace std;
int main() {
locale::global(locale(""));
size_t row, col;
cout << "Введите количество строк матрицы: "; cin >> row;
cout << "Введите количество столбцов матрицы: "; cin >> col;
srand(unsigned(time(0)));
int ** a = new int * [row];
for (size_t n = 0; n < row; n++) {
a[n] = new int [col];
for (size_t m = 0; m < col; m++) a[n][m] = rand() % 90 + 10;
}
for (size_t n = 0; n < row; n++, cout << endl) for (size_t m = 0; m < col; m++) cout << a[n][m] << ' ';
int max;
int * b = new int [row];
for (size_t n = 0; n < row; n++) {
max = a[n][0];
for (size_t m = 1; m < col; m++) if (max < a[n][m]) max = a[n][m];
b[n] = max;
} cout << endl;
for (size_t n = 0; n < row; n++) cout << b[n] << ' ';
for (size_t n = 0; n < row; n++) delete[] a[n];
delete[] a;
delete[] b;
cout << endl;
cin.get(); cin.get();
return 0;
}
Ошибка на ошибке.
Что плохо:
1) con в качестве переменной-константы (con зарезервировано системой)
2) cin > > a [ j ] [ i ] перепутаны строки и столбцы
3) max не присвоено начальное значение
3) a [ i ] > max неправильное обращение к двумерному массиву, нужно a [ i ] [ j ]>max
4)b [ i ] * = max зачем * залудил?