07.12.2009, 03:22
общий
это ответ
Здравствуйте, Иванов Евгений Витальевич.
Код в приложении. Картинку блок-схемы могу выслать на личную почту.
Приложение:
#include <stdlib.h>
#include <iostream>
int const n=3;
using namespace std;
void main()
{
int i,j,i1,i2,k,A[n][n],sum_diag, max_sum_diag;
max_sum_diag=INT_MIN; //практически минус бесконечность
cout<<"Enter "<<n*n<<" elements..."<<endl<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>A[i][j]; // ввод матрицы
for(i=0;i<n;i++) //в матрице n-1 диагоналей выше главной.
{
sum_diag=0;
for(j=0;j<i+1;j++)
{
sum_diag+=A[j][j+n-1-i];//Разница между столбцом и строкой меняется от n-1 до 1
// вычисляется сумма текущей диагонали.
cout<<"A["<<j<<" "<<j+n-1-i<<"]";//выводится, какие элементы считаются
}
if(sum_diag>max_sum_diag)//если текущая сумма больше найденного максимума, заменить
max_sum_diag=sum_diag;
cout<<endl;
}
for(i=0;i<n-1;i++) //в матрице n-1 диагоналей Ниже главной.
{
sum_diag=0;
for(j=0;j<i+1;j++)
{
sum_diag+=A[j+n-1-i][j];//Разница между столбцом и строкой меняется от n-1 до 1
cout<<"A["<<j+n-1-i<<" "<<j<<"]";//выводится, какие элементы считаются
}
if(sum_diag>max_sum_diag)
max_sum_diag=sum_diag;
cout<<endl;
}
cout<< max_sum_diag<<endl;
}