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