Dodawanie i odejmowanie macierzy

Zadanie 4 z 14 · rozdział 13Trudność: 1 z 3macierzearytmetyka

Treść zadania

Wczytaj dwie macierze A i B o wymiarach n×m.

a) Wypisz ich sumę $A + B$.

b) Wypisz ich różnicę $A - B$ (pierwsza minus druga).

Element wyniku w wierszu i i kolumnie j to odpowiednio $A_{ij} + B_{ij}$ oraz $A_{ij} - B_{ij}$.

Dane wejściowe

  • 1. linia: n — liczba wierszy
  • 2. linia: m — liczba kolumn
  • następnie n linii macierzy A (po m liczb całkowitych)
  • następnie n linii macierzy B (po m liczb całkowitych)

Dane wyjściowe

Najpierw n linii sumy, zaraz po nich n linii różnicy (bez pustej linii i dodatkowych napisów między nimi).

Ograniczenia

  • 1 ≤ n, m ≤ 20

Przykład

Wejście
2
2
1 2
-2 0
5 -3
1 7
Wyjście
6 -1
-1 7
-4 5
-3 -7
Zasady obowiązujące w rozdziale 13

Zadania w tym rozdziale ćwiczą pracę z listami dwuwymiarowymi (macierzami): tworzenie, wczytywanie, przechodzenie po wierszach i kolumnach oraz przekształcanie.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście.
  • Wiersz macierzy na wejściu to jedna linia z liczbami oddzielonymi spacjami — wczytaj całą linię i rozbij ją po spacjach (input().split()).
  • W wyjściu macierzy: każdy wiersz w osobnej linii, elementy oddzielone pojedynczą spacją.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
2
2
1 2
3 4
5 6
7 8
Oczekiwane wyjście
6 8
10 12
-4 -4
-4 -4

Test 2

Nie uruchomiono
Wejście
1
3
0 -1 2
3 0 -2
Oczekiwane wyjście
3 -1 0
-3 -1 4

Test 3

Nie uruchomiono
Wejście
1
1
5
5
Oczekiwane wyjście
10
0

Test 4

Nie uruchomiono
Wejście
3
2
1 0
0 1
2 2
4 -1
-3 5
0 0
Oczekiwane wyjście
5 -1
-3 6
2 2
-3 1
3 -4
2 2

Test 5

Nie uruchomiono
Wejście
2
3
10 20 30
40 50 60
1 2 3
4 5 6
Oczekiwane wyjście
11 22 33
44 55 66
9 18 27
36 45 54
Uruchom z własnymi danymi