fbpx

Problema #1395 – MSuma – Rezolvari PBInfo

de Mihai-Alexandru

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 
#include <bits/stdc++.h>
using namespace std;
ifstream fin("msuma.in");
ofstream fout("msuma.out");
int a[101][101] , b[101][101] , c[101][101];
int main()
{
    int n , m , p , q , max1 = 0 , max2 = 0;
    fin >> n >> m;
    for(int i = 1 ; i <= n ; i++)
        for(int j = 1 ; j <= m ; j++)
            fin >> a[i][j];
    fin >> p >> q;
    for(int i = 1 ; i <= p ; i++)
        for(int j = 1 ; j <= q ; j++)
            fin >> b[i][j];
    if(n > p) max1 = n;
    else max1 = p;
    if(m > q) max2 = m;
    else max2 = q;
    for(int i = 1 ; i <= max1 ; i++)
        for(int j = 1 ; j <= max2 ; j++)
            c[i][j] = a[i][j] + b[i][j];
    fout << max1 << " " << max2 <<endl;
    for(int i = 1 ; i <= max1 ; i++)
    {
        for(int j = 1 ; j <= max2 ; j++)
            fout << c[i][j] << " ";
        fout<<endl;
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa