Informatică, întrebare adresată de ArsulMilovan, 9 ani în urmă

Se considera un tablou bidimensional cu n linii. Sa se determine elementele care sunt situate pe linii si coloane de suma egala. Un element a[i,j] va fi afisat daca suma pe linia i este egala cu suma pe coloana j.

Răspunsuri la întrebare

Răspuns de blindseeker90
1
#include <iostream>
using namespace std;
//argumentul nr arata numarul liniei sau coloanei, 
//dim este folosit pentru a indica daca se calculeaza suma de pe linie sau coroana
//daca dim=1, atunci e linie, daca dim=2 atunci e coloana
int suma_dim(int a[100][100],int n,int nr,int dim){
int i,s=0;
//linie
if(dim==1){
for(i=0;i<n;i++){
s=s+a[nr][i];
}
}
else if(dim==2){
for(i=0;i<n;i++){
s=s+a[i][nr];
}
}
return s;
}
//Afiseaza elementele de pe linia i si coloana j
void afiseaza_elem(int a[100][100],int n,int linie,int coloana){
int i;
for(i=0;i<n;i++){
cout<<a[linie][i]<<" ";
}
for(i=0;i<n;i++){
cout<<a[i][coloana]<<" ";
}
cout<<endl;
}
int main(){

int a[100][100],i,j,n;
cout<<"Introduceti dimensiunea matricei: ";
cin>>n;
cout<<"Introduceti matricea:\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cin>>a[i][j];
}
}
cout<<"Elementele ce indeplinesc conditia sunt:\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(suma_dim(a,n,i,1)==suma_dim(a,n,j,2)){
    afiseaza_elem(a,n,i,j);
}
}
}
}
Alte întrebări interesante