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

Помогите скомпилировать С++

НАйти максимальный элемент главной и побочной диагонали и поменять местами строки содержащие эти элементы
когда ввожу эту программу он вывод мне дает очень странный
вот программа:
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
const int m=4,n=4;
double a[n][m]={{3,4,7,5},{-7,0,5,4},{8,3,1,-2},{-8,7,6,9}};
int i,j,nmax,nmin;
double max,min,p;
for (i=0;i<=m;i++)
{
for(j=0;j<n;j++)>[j]);
}
cout<<endl;>>max)
{
max=a;
nmax=i;
}
}
min=a[0][n];
for(i=1;i<=n;i++)
{
if(a[n-i]<min)>[n-i];
nmin=i;
}
}
for (j=0;j<=n;j++)
{
p=a[nmax][j];
a[nmax][j]=a[nmin][j];
a[nmin][j]=p;
}
for (i=0;i<m;i++)>[j]);
}
cout<<endl;>>st;
}
ошибок вроде нет, или есть? кто подскжает?
Benito Benito
Benito Benito
458
Тут уже и без pastebin'а видно m, n перепутаны местами, хорошо еще, что они равны и это не будет влиять на результат работы программы. И вообще, когда говорят о диагоналях, обычно имеют ввиду квадратные матрицы, т. е. достаточно ввести только одну размерность (достаточно одной константы n). Применяется сравнение <=, а элемента с индексом равным n в массиве не будет, ну и т. д.

#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int const n = 4, m = 4;
    double a[n][m] = {{3,4,7,5},{-7,0,5,4},{8,3,1,-2},{-8,7,6,9}};
    int i, j;
    cout << "matrix:\n";
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) cout << setw(4) << a[ i][j];
        cout << endl;
    }
    int mxm = 0, mxs = 0;
    for (i = 1; i < n; i++) {
        if (a[ i][ i] > a[mxm][mxm]) mxm = i;
        if (a[ i][m - i - 1] > a[mxs][m - mxs - 1]) mxs = i;
    }
    if (mxm != mxs) {
        for (j = 0; j < m; j++) swap(a[mxm][j], a[mxs][j]);
    }
    cout << "result:\n";
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) cout << setw(4) << a[ i][j];
        cout << endl;
    }
    return 0;
}
МШ
Мереке Шадаев
82 453
Лучший ответ
мэйл похерил код. Выложи исходник на другом сайте, а сюда напиши ссылку.
pastebin.com например.
Efefff .
Efefff .
3 164