Решение матрицы - Pascal (80210)
Формулировка задачи:
Помогите сделать программу для вычисления и запомнить суммы и число положительных элементов каждой строки матрицы. Результаты отпечатать в виде двух столбцов, размеры матрицы A(20,15) элементы матрицы
Решение задачи: «Решение матрицы»
textual
Листинг программы
const m=20;
n=15;
var a:array[1..m,1..n] of real;
i,j,k:byte;
s:real;
begin
writeln('Матрица');
writeln('Сумма':5*n+8,'Кол.пол.':10);
for i:=1 to m do
begin
s:=0;
k:=0;
for j:=1 to n do
begin
a[i,j]:=(1+cos(j))*ln(1+0.5*cos(i));
s:=s+a[i,j];
if a[i,j]>0 then k:=k+1;
write(a[i,j]:5:2);
end;
writeln(s:8:2,k:8);
end;
end.
Объяснение кода листинга программы
- Объявляется константа
mсо значением 20 иnсо значением 15. - Объявляется двумерный массив
aразмером m на n для хранения чисел с плавающей точкой. - Объявляются переменные
i,j,kкак байты, и переменнаяsдля хранения чисел с плавающей точкой. - Начинается блок кода.
- Выводится слово
Матрица. - Выводится форматированный заголовок для вывода суммы и количества положительных чисел в строке.
- Запускается цикл счетчика
iот 1 до m. - Внутри этого цикла переменные
sиkустанавливаются в 0. - Запускается вложенный цикл счетчика
jот 1 до n. - Внутри этого цикла присваивается значение элементу массива
aпо индексам i и j с использованием формулы, в которой используются тригонометрические и логарифмические операции. - Значение в
a[i, j]прибавляется кs. - Если
a[i, j]больше 0, увеличивается значениеkна 1. - Выводится значение
a[i, j]с форматированием. - Заканчивается внутренний цикл.
- Выводится значение
sиkс форматированием после всех значений массиваaв строке. - Заканчивается внешний цикл.
- Конец программы.