Сформировать двумерный массив - Pascal (81617)
Формулировка задачи:
Здравствуйте. Можете решить задачку.Условие - Сформировать двумерный массив А размером 6*6 с помощью генератора случайных чисел и вывести элементы массива на экран. Найти суммы значений диагональных элементов матрицы отдельно и вывести их на экран и в файл. Определение сумм значений диагональных элементов матрицы оформить в виде процедуры. Язык Pascal.
Решение задачи: «Сформировать двумерный массив»
textual
Листинг программы
type mtr=array[1..n,1..n] of integer; procedure summa(a:mtr;k:byte;var s:integer); var i:byte; begin s:=0; for i:=1 to n do if k=1 then s:=s+a[i,i] else s:=s+a[i,n-i+1]; end; var a:mtr; i,j:byte; s1,s2:integer; begin randomize; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(10); write(a[i,j]:3); end; writeln; end; summa(a,1,s1); summa(a,2,s2); writeln('Сумма элементов главной диагонали=',s1); writeln('Сумма элементов побочной диагонали=',s2); end.
Объяснение кода листинга программы
- Объявляется тип массива
mtr
- двумерный массив размером n на n целых чисел. - Объявляется процедура
summa
, которая принимает двумерный массивa
размером n на n, номер диагоналиk
(1 - главная, 2 - побочная) и переменнуюs
для хранения суммы элементов. - В процедуре
summa
используется циклfor
для прохода по всем элементам массиваa
. - Если значение
k
равно 1, то выполняется операция сложения элементаa[i,i]
(элемент на главной диагонали) на переменнуюs
. - Если значение
k
равно 2, то выполняется операция сложения элементаa[i,n-i+1]
(элемент на побочной диагонали) на переменнуюs
. - После выполнения всех итераций цикла, значение переменной
s
будет содержать сумму элементов выбранной диагонали. - В основной части программы создается двумерный массив
a
размером n на n. - Используется два вложенных цикла
for
для заполнения массиваa
случайными числами от 0 до 9. - После заполнения массива, выводится на экран каждый элемент массива
a
с отступами для лучшей читаемости. - Вызывается процедура
summa
с аргументамиa
, 1 и переменнаяs1
для хранения суммы элементов главной диагонали. - Вызывается процедура
summa
с аргументамиa
, 2 и переменнаяs2
для хранения суммы элементов побочной диагонали. - Выводится на экран сообщение с суммой элементов главной диагонали.
- Выводится на экран сообщение с суммой элементов побочной диагонали.