Сформировать квадратную матрицу и подсчитать сумму заданных элементов - 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.

Объяснение кода листинга программы

  1. Переменная nmax устанавливается равной 20.
  2. Создается переменная a, которая представляет собой массив целых чисел размером от 1 до nmax на 1 до nmax.
  3. Определяются переменные n, k, p, i, j и s, которые будут использоваться в цикле.
  4. Используется функция randomize, чтобы инициализировать генератор случайных чисел.
  5. Запускается цикл repeat, который будет выполняться до тех пор, пока не будет введено четное число от 10 до nmax и n не будет делиться на 2 без остатка.
  6. Внутри цикла repeat запрашивается размер матрицы и число k.
  7. Вычисляется среднее значение p путем деления n на 2.
  8. Инициализируется переменная s значением 0.
  9. Запускается внутренний цикл for, который будет выполняться для каждого элемента матрицы a.
  10. Внутри внутреннего цикла проверяется условие: если i меньше или равно p и j больше p, или если i больше p и j меньше или равно p, то присваивается значение k элементу a[i,j].
  11. Если условие не выполняется, то генерируется случайное число от 1 до 10 и присваивается элементу a[i,j].
  12. Значение s увеличивается на сумму элементов матрицы a.
  13. Выводится значение a[i,j] с помощью функции write.
  14. Выводится символ новой строки с помощью функции writeln.
  15. Внутренний цикл завершается.
  16. Выводится сумма элементов матрицы a в выделенной части с помощью функции writeln.
  17. Цикл repeat завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы