Study/Cycles/Matrix
Материал из ProgSchool
Содержание |
Двумерные массивы
Сложить две строки (2 балла)
Дано m, n, матрица из m строк и n столбцов, затем даны k и l.
Нужно вывести матрицу, в которой на месте строки k стоит сумма строк k и l.
Пример:
3 2 1 2 3 4 5 6 1 3
ответ:
6 8 3 4 5 6
Т.е. мы сложили 1 и 3 строки матрицы и поставили на место первой.
Сложить две строки с учётом знаков (2 балла)
То же самое, но даны k и l, которые могут быть отрицательными. Надо складывать строки |k| и |l|, но если k или l меньше нуля, то соответствующую строку надо вычитать, а не прибавлять.
пример
3 2 1 2 3 4 5 6 -1 3
ответ
4 4 3 4 5 6
Перемножить матрицы (2 балла)
Даны числа m, n, матрица из m строк и n столбцов, числа k, l, матрица из k строк и l столбцов. Задача: если n != k, то вывести слово "ERROR", Если n == k, то вывести произведение первой и второй матрицы. Две матрицы перемножаются так: матрица C является произведением матриц A на B (AB = C), если каждый элемент матрицы C получен по формуле: c[i][j] = a[i][1] * b[1][j] + a[i][2] * b[2][j] + a[i][3] * b[3][j] +.....+ a[i][n] * b[n][j].
пример:
2 2 1 2 3 4 2 1 2 3
ответ:
8 18
Транспонирование (2 балла)
Даны числа m, n, матрица из m строк и n столбцов. Нужно транспонировать матрицу.
пример
3 2 1 2 3 4 5 6
ответ:
1 3 5 2 4 6