Как подсчитать наружный круг Двухмерного Массива - 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.
- Выводится на экран заполненная матрица.
- Вычисляется сумма элементов периметра матрицы, используя цикл.
- Выводится на экран значение суммы элементов периметра.
- Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д