Получить действительную квадратную матрицу порядка 8, элементами которой расположенные по заданной схеме - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны действительные числа a1,...,a64. Получить действительную квадратную матрицу порядка 8, элементами которой являются числа a1,..., a64, расположенные в ней по схеме Под б

Решение задачи: «Получить действительную квадратную матрицу порядка 8, элементами которой расположенные по заданной схеме»

textual
Листинг программы
  1. const n=8;
  2. var a:array[1..n*n] of real;
  3.     b:array[1..n,1..n] of real;
  4.     i,j,k:integer;
  5. begin
  6. randomize;
  7. writeln('Последовательность А');
  8. for i:=1 to n*n do
  9.  begin
  10.   a[i]:=10*random;
  11.   write(a[i]:5:2);
  12.  end;
  13. writeln;
  14. k:=0;
  15. i:=0;
  16. repeat
  17. inc(i);
  18. if odd(i) then //если строка нечетная
  19. for j:=n downto 1 do//идем с конца
  20.  begin
  21.   inc(k);
  22.   b[i,j]:=a[k]
  23.  end
  24. else //если четная строка
  25. for j:=1 to n do
  26.  begin
  27.   inc(k);
  28.   b[i,j]:=a[k];
  29.  end;
  30. until k=n*n;
  31. writeln('Матрица змейкой сверху вниз, справа налево');
  32. for i:=1 to n do
  33.  begin
  34.   for j:=1 to n do
  35.   write(b[i,j]:5:2);
  36.   writeln;
  37.  end;
  38. end.

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

  1. Переменная n инициализируется значением 8.
  2. Создается переменная a типа array[1..nn] of real. Это означает, что a представляет собой массив из nn элементов типа real.
  3. Создается переменная b типа array[1..n,1..n] of real. Это означает, что b представляет собой массив размером n на n, где каждый элемент имеет тип real.
  4. Определяются три переменные i, j и k, которые будут использоваться в цикле.
  5. Запускается цикл randomize, который используется для инициализации генератора случайных чисел.
  6. Выводится последовательность А с помощью цикла for i:=1 до nn do. Внутри цикла каждый элемент массива a[i] инициализируется значением 10random, то есть случайным числом от 0 до 9. Затем выводится значение a[i] с помощью функции write.
  7. После завершения цикла выводится символ новой строки.
  8. Инициализируется переменная k значением 0.
  9. Запускается цикл repeat, который будет выполняться до тех пор, пока k не станет равным n*n.
  10. Если текущая строка (i) нечетная, то внутри цикла for j:=n downto 1 do идет обращение к элементам массива a с индексами, начиная с k. Значение каждого элемента присваивается переменной b[i,j].
  11. Если текущая строка (i) четная, то внутри цикла for j:=1 до n do идет обращение к элементам массива a с индексами, начиная с k. Значение каждого элемента присваивается переменной b[i,j].
  12. После завершения цикла повторяется выводиться последовательность A с помощью цикла for i:=1 до n*n do.
  13. Выводится последовательность B, которая представляет собой матрицу змейкой сверху вниз и справа налево. Для этого используется цикл for i:=1 до n do и внутри него цикл for j:=1 до n do. Выводится значение b[i,j] с помощью функции write.
  14. Выводится символ новой строки.
  15. Конец программы.

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


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

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

6   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы