Составить матрицу по правилу - Pascal ABC

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

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

Помогите составить матрицу вида: 11111 01110 00100 01110 11111

Решение задачи: «Составить матрицу по правилу»

textual
Листинг программы
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,i,j:integer;
begin
repeat
write('Размер матрицы до ',nmax,' n=');
read(n);
until n in [1..nmax];
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if((j>=i)and(j<=n-i+1))or((j<=i)and(j>=n-i+1))then a[i,j]:=1
    else a[i,j]:=0;
    write(a[i,j]:3);
   end;
  writeln;
 end;
end.

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

  1. В начале кода используется библиотека crt, которая предоставляет функции для работы с консолью.
  2. Константа nmax определена как максимальное значение индекса массива a, которое может быть использовано в данном коде. Это значение установлено равным 20.
  3. Переменная a объявлена как массив целых чисел размером от 1 до nmax на 1 до nmax.
  4. Переменные n, i и j используются для итерации по матрице a.
  5. В цикле repeat-until выполняется запрос размера матрицы от пользователя.
  6. Цикл for i:=1 to n do используется для итерации по строкам матрицы a.
  7. Цикл for j:=1 to n do используется для итерации по столбцам матрицы a.
  8. В условии if проверяется, что элемент матрицы с индексами i и j принадлежит диапазону от j>=i до n-i+1 и от j<=i до n-i+1. Если это условие истинно, то переменной a[i,j] присваивается значение 1, иначе - 0.
  9. После выполнения цикла for j:=1 to n do выводится значение a[i,j] с помощью функции write.
  10. Выводится символ новой строки с помощью функции writeln.
  11. Код в блоке end для каждого i завершает итерацию по строке.
  12. Код в блоке end для всей программы завершает выполнение.

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

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