Se dă un tablou bidimensional X[N][M] (matrice) De calculat diferenfa dintre
suma elementelor primului rind suma elementelor rindului doi. in c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int N, M, suma_rand1 = 0, suma_rand2 = 0;
cout << "N = "; cin >> N;
cout << "M = "; cin >> M;
int X[N][M]; // declar o matrice X de dimensiune N linii si M coloane.
for( int i = 0 ; i < N; i++ )
for( int j = 0; j < M; j++ )
cin >> X[i][j];
for( int j = 0; j < M; j++ )
suma_rand1 = suma_rand1 + X[0][j];
for( int j = 0; j < M; j++ )
suma_rand2 = suma_rand2 + X[1][j];
cout << "Diferenta dintre suma primului rand si suma randului doi este: " << suma_rand1 - suma_rand2;
}
Explicație:
Citesc N nr linii si M nr coloane.
Declar o matrice bidimensionala X de dimensiuni N si M citite ceea ce imi ofera posibilitatea de a folosi doar atat spatiu cat este nevoie evitand posibile erori de spatiu lipsa sau spatiu in plus.
Pentru a accesa primul element din prima linie a matricie vom scrie
X [ 0 ] [ 0 ]. Pentru al doilea numar din matrice apelam X [ 0 ] [ 1 ]. Vom apela X [ 0 ] [ 3 ] pentru al treilea element si tot asa. Asta inseamna ca pentru toate elementele primei linii avem nevoie de o parcurgere pe coloane care sa acceseze fiecare element al coloanei de pe linia 0 ( prima linie ). Asadar, parcurgem cu variabila j de la 0 pana la M ( M fiind numarul maxim de coloane sau numarul maxim de numere pe linie ) si calculam suma primei linii. IDEM pentru linia 2.
Afisam diferenta dintre suma numerelor fiecarei linii.