Подсчитать сумму чисел с периметра квадрата в матрице - Turbo Pascal
Формулировка задачи:
Задача. Подсчитать сумму чисел с периметра квадрата в матрице 7х7. Ниже скину фото, чтоб поняли про какой квадрат я говорю
Решение задачи: «Подсчитать сумму чисел с периметра квадрата в матрице»
textual
Листинг программы
uses crt;
const n=7;
var a:array[1..n,1..n] of integer;
i,j,p,s:integer;
begin
clrscr;
randomize;
p:=n div 2+1;
writeln('Матрица:');
s:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(50);
if abs(i-p)+abs(p-j)=p-1 then
begin
textcolor(12);
s:=s+a[i,j];
end
else textcolor(7);
write(a[i,j]:3);
end;
writeln;
end;
write('Сумма ромба=',s);
readln
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с числами с плавающей точкой.
- Задается константа n, которая определяет размерность матрицы (в данном случае n=7).
- Создается переменная a типа array[1..n,1..n] of integer, которая представляет собой матрицу размером n на n.
- Создаются переменные i, j, p и s типа integer, которые будут использоваться для работы с матрицей.
- Функция randomize вызывается для инициализации генератора случайных чисел.
- Переменная p инициализируется значением n, деленное на 2 плюс 1. Это значение будет использоваться для определения условия, при котором будет вычисляться сумма элементов матрицы.
- Выводится сообщение «Матрица:» и с помощью функции write(a[i,j]:3) выводятся значения элементов матрицы.
- Вычисляется сумма s всех элементов матрицы, удовлетворяющих условию из предыдущего пункта.
- Выводится сообщение «Сумма ромба=», после которого с помощью функции readln считывается ввод пользователя.
- Конец программы.