Se dă o matrice cu n linii şi n coloane şi elemente numere naturale. Calculaţi diferenţa în valoare absolută dintre sumele elementelor de pe cele două diagonale.
#include
using namespace std;
int main()
{
int n, m, a[21][21], i, j;
float s1=0, s2=0, d=0;
cin>>n>>m;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
cin>>a[i][j];
for(i=1; i<=n; i++)
{
s1=s1+a[i][i];
}
for(i=1; i<=n; i++)
{
s2=s2+a[i][n+1-i];
}
d=s1-s2;
cout< return 0;
}
Poate sa imi spuna cineva va rog unde gresesc? In consola pun valorile si nu imi da nimic!
Exemplu:
Date de intrare

4
8 3 3 7
1 1 6 5
8 7 1 1
9 8 7 1

Date de ieșire

18

Răspuns :

#include <iostream>

using namespace std;

int main()

{

int n, m, a[21][21], d, i, j;

float s1=0, s2=0;

cin>>n; //Aici am scos citirea lui m deoarece nu ai nevoie de el, în condiție e spus n linii și n coloane deci e o matrice pătrată.

for(i=1; i<=n; i++)

for(j=1; j<=n; j++) //Aici am schimbat m în n

cin>>a[i][j];

for(i=1; i<=n; i++)

{

s1=s1+a[i][i];

}

for(i=1; i<=n; i++)

{

s2=s2+a[i][n+1-i];

}

d=s1-s2;

cout<<abs(d);  //Aici am adăugat abs() ceea ce înseamnă valoarea absolută

return 0;

}