Cerința
Se dau două matrice cu elemente numere întregi. Calculați suma lor.
Date de intrare
Fișierul de intrare msuma.in
conține pe prima linie numerele n m
, reprezentând dimensiunile primei matrice. Urmează n
linii cu câte m
valori, elementele primei matrice.
Linia n+2
conține numerele p q
, reprezentând dimensiunile celei de-a doua matrice. Urmează p
linii cu câte q
valori, elementele celei de-a doua matrice.
Date de ieșire
Fișierul de ieșire msuma.out
va conține pe prima linie numerele S T
, reprezentând dimensiunile matricei sumă. Următoarele S
linii vor conține câte T
valori separate prin exact un spațiu, reprezentând valorile din matricea sumă.
Restricții și precizări
1 ≤ n , m , p , q ≤ 100
;- valoarea absolută a elementelor fiecărei matrice vor fi mai mici decât
1.000.000.000
; - adunarea matricelor se poate efectua pentru fiecare test.
Exemplu
msuma.in
3 4 2 1 4 6 5 -8 5 5 2 5 -2 4 3 4 3 7 -5 0 1 -4 1 5 -4 2 8 7
msuma.out
3 4 5 8 -1 6 6 -12 6 10 -2 7 6 11
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema MSuma:
#include <iostream>
#include <fstream>
using namespace std;
#define NN 103
ifstream fin ("msuma.in");
ofstream fout("msuma.out");
struct Matrice{
int nrLin, nrCol;
int Tablou[NN][NN];
};
void Citire(Matrice &A, istream & in)
{
in >> A.nrLin >> A.nrCol;
for(int i = 1 ; i <= A.nrLin ; i ++)
for(int j = 1 ; j <= A.nrCol ; j ++)
in >> A.Tablou[i][j];
}
void Afisare(Matrice A, ostream & out)
{
out << A.nrLin << " " << A.nrCol << endl;
for(int i = 1 ; i <= A.nrLin ; i ++)
{
for(int j = 1 ; j <= A.nrCol ; j ++)
out << A.Tablou[i][j] << " ";
out << endl;
}
}
Matrice Suma(Matrice A, Matrice B)
{
Matrice S;
S.nrLin = A.nrLin, S.nrCol = A.nrCol;
for(int i = 1 ; i <= A.nrLin ; i ++)
for(int j = 1 ; j <= A.nrCol ; j ++)
S.Tablou[i][j] = A.Tablou[i][j] + B.Tablou[i][j];
return S;
}
int main()
{
Matrice A, B, S;
Citire(A, fin);
Citire(B, fin);
S = Suma(A , B);
Afisare(S, fout);
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1395 MSuma
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1395 MSuma de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!