Ошибка в коде с++ начинающий
Всем здравствуйте! Только начала изучать двумерные массивы и столкнулась с проблемой в задаче обмен столбцов: в заданном двумерном массиве чисел A, состоящем из n строк и m столбцов, необходимо найти номер столбца, в котором находится максимальный элемент матрицы. Затем требуется поменять местами первый столбец с найденным. Кто поможет найти ошибку? Функции и векторы использовать нельзя. Код:
#include <iostream>
using namespace std;
int main()
{
int n, m, k;
cin>>n>>m;
int a[n][m];
int max=-101;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++)
cin>>a[i][j];
}
for(int i=0; i<n; i++){
for(int j=0; j<m; j++)
if(a[i][j]>max){
max=a[i][j];
k=j;}
}
for(int i=k; i>0; i--)
swap(a[i][0], max);
for(int i=0; i<n; i++){
cout<<endl;
for(int j=0; j<m; j++)
cout<<a[i][j]<<" ";
}
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Внимательно посмотрите, что с чем нужно менять
if (k>0)
for(int i=0; i<n; i++)
swap(a[i][k], a[i][0]);