Informatică, întrebare adresată de kdjhasachf, 8 ani în urmă

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 de andriesboss92
1

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.

Alte întrebări interesante