Salut,am incercat sa fac problema,insa nu am reusit....putin ajutor va rog:
Cerinţa
Se dă o matrice cu n linii şi n coloane şi elemente numere naturale. Să se determine câte elemente ale matricei se află pe linii și coloane de sumă egală. Elementul a[i,j] va fi numărat dacă suma elementelor de pe linia i este egală cu cea de pe coloana j.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n*n numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieşire
Programul afișează pe ecran numărul C, cu semnificaţia precizată.
Restricţii şi precizări
1 ≤ n ≤ 100
elementele matricei vor fi mai mici decât 1.000
Exemplu
Date de intrare
5
3 1 8 5 4
7 8 5 1 2
2 2 6 7 3
9 8 1 3 6
7 5 3 1 7
Date de ieșire
2
Explicație
Cele două elemente se află pe linia 2, coloana 3, respectiv linia 5, coloana 3.
Răspunsuri la întrebare
Răspuns de
0
#include<iostream>using namespace std;int a[101][101],n;int f(int i,int j){ int s1=0,s2=0; for (int k=1;k<=n;k++) { s1=s1+a[i][k]; s2=s2+a[k][j]; } if (s1==s2) return 1; return 0;}int main(){ int c=0; cout<<"n="; cin>>n; for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j]; } for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) if (f(i,j)==1) c++; cout<<c;}
Alte întrebări interesante
Informatică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
using namespace std;
int a[101][101],n;
int f(int i,int j)
{
int s1=0,s2=0;
for (int k=1;k<=n;k++)
{
s1=s1+a[i][k];
s2=s2+a[k][j];
}
if (s1==s2)
return 1;
return 0;
}
int main()
{
int c=0;
cout<<"n="; cin>>n;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];
}
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (f(i,j)==1)
c++;
cout<<c;
}