Присвоить каждому диагональному значению разницу между суммами элементов соответствующих рядков и столбцов - C (СИ)
Формулировка задачи:
Borland C++!
В матрице K[n,n] элементы главной диагонали равны 0, присвоить каждому диагональному значению разницу между сумами элементов соответствующих рядков и столбцов!
А вот дальше не знаю как =((
#include <iostream>
int main()
{
int K[n][n];
int S=0;
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
cout<<endl;Решение задачи: «Присвоить каждому диагональному значению разницу между суммами элементов соответствующих рядков и столбцов»
textual
Листинг программы
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 5
int main()
{
randomize();
int A[N][N],sum=0,raz=0;
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
{
A[i][j]=rand()%3;
cout<<A[i][j]<<" ";
}
cout<<endl;
}
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
{
sum+=A[i][j];
}
raz-=sum;
if (raz==-sum)
raz=abs(raz);
sum=0;
}
cout<<"\nРазница: "<<raz<<endl;
cout<<"\nРезультат:\n";
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
{
if (i==j)
A[i][j]=raz;
cout<<A[i][j]<<" ";
}
cout<<endl;
}
}
Объяснение кода листинга программы
В этом коде генерируется случайная матрица 5x5, вычисляется сумма элементов каждой строки и столбца, затем находится их разница (raz). Если разница равна нулю, то в этом случае разница берется по модулю (abs(raz)). Затем в каждой строке и столбце матрицы заменяется диагональное значение на полученную разницу. В конце выводится полученная матрица и разница.