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

Ajutati-ma va rog!!!Să se scrie un program ce va prelucra un masiv bidimensional cu n linii şi m coloane, avînd următoarea condiţie:
De calculat diferenţa dintre suma elementelor primului rînd şi suma elementelor rîndului doi.
în C++

Răspunsuri la întrebare

Răspuns de lucaciucandrei
5

#include <iostream>

using namespace std;

int main(){

int n, m, a[101][101], s1=0, s2=0;

cin>>n>>m;

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

for(int j=1;j<=m;j++){

cin>>a[i][j];

if (i==1) s1+=a[i][j];

if (i==2) s2+=a[i][j];

}

}

cout<<s1-s2;

}


anitreanu: ai telegram ca sa iti arat cum lucreaza programul?)
lucaciucandrei: ai IG?
anitreanu: da
lucaciucandrei: spune numele si-ti dau msj
anitreanu: andrei.nitreanu
Răspuns de Excelsis
1

Răspuns:

#include<iostream>

using namespace std;

int n,m,a[25][25],s,s1,j,i;

int main()

{

   cin>>n>>m;///citim n si m

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

       for(j=1;j<=m;j++)

           cin>>a[i][j];///citim elementele matricii

   for(j=1;j<=m;j++) ///parcurgem matricea doar pe liniile dorite

   {

       s+=a[1][j];/// calculam suma elementelor de pe randul 1

       s1+=a[2][j];/// calculam suma elementelor de pe randul 2

   }

   cout<<s-s1; ///afisam diferenta lor

}

Explicație:


anitreanu: de fiecare data mi se da diferenta -32, probabil ceva sa nu ajunga in cod((
lucaciucandrei: pai deja am dat eu raspunsul mai sus :))
Excelsis: daca primul rand are suma elementelor mai mare decat al doilea sigur ca iti va da cu minus, nu ai precizat ca diferenta sa fie absoluta sau minima, adica din suma cea mare sa scazi suma mica, la mine in program orice as afisa imva da diferenta dintre primul rand si al doilea
lucaciucandrei: exact, adica suma nu tre sa fie neaparat pozitiva, poate fi si negativa, daca aia de pe prima linie > aia de pe a 2-a
depinde ce date citeste in matrice
spre ex daca citeste pt n 2 si pt m 2 si apoi citesti 4 5 1 2 iti va da suma pozitiva ca o sa ai 4+5-(1+2)=9-3=6
daca citeai pt n 2 si pt m 2 si apoi citeai 2 3 5 6 iti dadea suma negativa ca ai fi avut 2+3-(5+6)=5-11=-6
Excelsis: asta am spus si eu
anitreanu: de cate ori am schimbat valorile in tabel...mi se da raspuns -32
Excelsis: e cam imposibil deoarece la mine cand il testez imi da valorile potrivite
Excelsis: iti mai puns odata codul aici in comentarii
Excelsis: #include
using namespace std;
int n,m,a[25][25],s,s1,j,i;
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>a[i][j];
for(j=1;j<=m;j++)
{
s+=a[1][j];
s1+=a[2][j];
}
cout<}
Alte întrebări interesante