Сформировать квадратную матрицу и подсчитать сумму заданных элементов - Pascal
Формулировка задачи:
Буду очень благодарна.
Дано чётное натуральное n>9 и целое k. Создать квадратную матрицу порядка n, где элементы случайные числа.
Вычислить сумму элементов, отмеченных синим цветом (в примере n=6).
* * * k k k
* * * k k k
* * * k k k
k k k * * *
k k k * * *
k k k * * *
Решение задачи: «Сформировать квадратную матрицу и подсчитать сумму заданных элементов»
textual
Листинг программы
const nmax=20; var a: array[1..nmax,1..nmax] of integer; n,k,p,i,j,s: integer; begin randomize; repeat write('Введите размер матрицы, четное число от 10 до ',nmax,' n='); readln(n); until (n in [10..nmax])and(n mod 2=0); write('Введите целое число k='); readln(k); writeln('Матрица'); p:=n div 2; s:=0; for i:=1 to n do begin for j:=1 to n do begin if((i<=p)and(j>p))or((i>p)and(j<=p)) then a[i,j]:=k else begin a[i,j]:=random(10); s:=s+a[i,j]; end; write(a[i,j]:4); end; writeln; end; writeln('Сумма в выделенной части матрицы=',s); end.
Объяснение кода листинга программы
- Переменная
nmax
устанавливается равной 20. - Создается переменная
a
, которая представляет собой массив целых чисел размером от 1 доnmax
на 1 доnmax
. - Определяются переменные
n
,k
,p
,i
,j
иs
, которые будут использоваться в цикле. - Используется функция
randomize
, чтобы инициализировать генератор случайных чисел. - Запускается цикл
repeat
, который будет выполняться до тех пор, пока не будет введено четное число от 10 доnmax
иn
не будет делиться на 2 без остатка. - Внутри цикла
repeat
запрашивается размер матрицы и числоk
. - Вычисляется среднее значение
p
путем деленияn
на 2. - Инициализируется переменная
s
значением 0. - Запускается внутренний цикл
for
, который будет выполняться для каждого элемента матрицыa
. - Внутри внутреннего цикла проверяется условие: если
i
меньше или равноp
иj
большеp
, или еслиi
большеp
иj
меньше или равноp
, то присваивается значениеk
элементуa[i,j]
. - Если условие не выполняется, то генерируется случайное число от 1 до 10 и присваивается элементу
a[i,j]
. - Значение
s
увеличивается на сумму элементов матрицыa
. - Выводится значение
a[i,j]
с помощью функцииwrite
. - Выводится символ новой строки с помощью функции
writeln
. - Внутренний цикл завершается.
- Выводится сумма элементов матрицы
a
в выделенной части с помощью функцииwriteln
. - Цикл
repeat
завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д