Как подсчитать наружный круг Двухмерного Массива - Free Pascal
Формулировка задачи:
Во первых, ДА! я нуб и не горжусь етим, не ругайте меня за не правильный код.
Во вторых, Я не русский по этому не ругайте за ужасную граматику.(Буду старатся соблюдать хотябы пунктуацию).
Кхмм, так вот. Данный код создаёт рандомизированный массив 5х5, от -100 до 100.
Задача: Подсчитать наружный круг Двухмерного Массива.
Пример Массива :
20 -21 25 12 52
-12
-22 56 3422
-11
100 25 99-99
55 66 77 88 99
Тоесть, надо подсчитать 1 ряд, последнию колонну и последний ряд и первую колонну. Благодарю за помощь!Program masivi;
uses crt;
const m=5;
n=5;
var a:array[1..m,1..n] of integer;
i,j,c,p,count:integer;
sg:real;
Begin
randomize;
for i:=1 to m do
for j:=1 to n do
a[i,j]:=-100+random(201);
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j]:5);
writeln;
end;
writeln;
count:=0;
c:=1;
p:=1;
while c<=n do
begin
for i:=1 to m do
begin
if a[i,c]>0 then
begin
p:=p*a[i,c];
count:=count+1;
end;
end;
end;
End.Решение задачи: «Как подсчитать наружный круг Двухмерного Массива»
textual
Листинг программы
Program masivi;
uses crt;
const n=5;
var a:array[1..n,1..n] of integer;
i,j,c,p,sum:integer;
begin
clrscr;
randomize;
writeln('Матрица');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=-100+random(201);
write(a[i,j]:5);
end;;
writeln;
end;
sum:=0;
for i:=1 to n-1 do
sum:=sum+a[1,i]+a[i,n]+a[n,i+1]+a[i+1,1];
write('Сумма элементов периметра=',sum);
readkey;
end.
Объяснение кода листинга программы
- Объявляется массив a размером [1..n,1..n] для хранения чисел.
- В цикле заполняются все элементы массива a случайными числами от -100 до 100.
- Выводится на экран заполненная матрица.
- Вычисляется сумма элементов периметра матрицы, используя цикл.
- Выводится на экран значение суммы элементов периметра.
- Программа ожидает нажатия клавиши для завершения работы.