Дана квадратная матрица. Вычесть последнюю строку из каждой строки (реализовать с помощью подпрограмм).
Пусть переменная i обозначает номер строки, а j - последовательность элементов в одной строке. Тогда все элементы последней строки будут иметь индексы [n,j], где n - размерность квадратной матрицы. Осталось перебрать матрицу и вычесть из каждого элемента соответствующий ему элемент [n,j].
Вычитать последнюю строку из самой себя смысла нет, т.к. получатся нули.
Следует помнить, что если вычитать отрицательное число, то фактически вы его прибавляете (два знака минус дают плюс).
Реализация с помощью подпрограмм может быть различной. Как вариант: одна процедура будет заполнять матрицу, а вторая выполнять вычитание.
const n = 4; type matrix = array[1..n,1..n] of integer; var arr: matrix; i,j: byte; procedure make_matrix(var m: matrix); begin randomize; for i:=1 to n do begin for j:=1 to n do begin m[i,j] := random(100)-50; write(m[i,j]:4); end; writeln; end; end; procedure minus_last(var m: matrix); begin for i:=1 to n-1 do begin for j:=1 to n do write(m[i,j]-m[n,j]:4); writeln; end; end; begin make_matrix(arr); writeln; minus_last(arr); end.
Результат выполнения программы:
-7 46 9 -26 -15 -44 -14 -35 4 -7 -33 -33 -49 13 -13 19 42 33 22 -45 34 -57 -1 -54 53 -20 -20 -52
Обратите внимание: -7 - (-49) = -7 + 49 = 42.
Последние комментарии
1 неделя 18 часов назад
1 неделя 1 день назад
1 неделя 1 день назад
1 неделя 1 день назад
1 неделя 2 дня назад
1 неделя 2 дня назад
1 неделя 3 дня назад
1 неделя 3 дня назад
1 неделя 4 дня назад
2 недели 12 часов назад