Заполнить матрицу по образцу - Free Pascal (523)

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

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

Разработать такую программу которая в двухмерном массиве заполнит числами (1,2,3........) по вертикали. Операторы для работы должны быть в цикле.(Фри паскаль) Заранее огромное спасибо!!!!!!!!!!!!!

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

textual
Листинг программы
uses crt;
const n=10;
var a:array[1..n,1..n] of integer;
    i,j,k:integer;
begin
clrscr;
k:=0;
for j:=1 to n do
 begin
  for i:=1 to n do
  if ((j<i)and(j<n-i+1))or((j>i)and(j>n-i+1)) then
   begin
    k:=k+1;
    a[i,j]:=k;
   end
  else a[i,j]:=0;
 end;
writeln;
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.

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

  1. Установка начального значения переменной k равным 0.
  2. Два вложенных цикла for для заполнения матрицы.
  3. Условие внутри вложенных циклов проверяет, является ли элемент i меньше элемента j и одновременно меньше значения n-i+1 (для диагонали с положительным наклоном) или больше значения n-i+1 (для диагонали с отрицательным наклоном).
  4. Если условие выполняется, то значение переменной k увеличивается на 1 и элемент матрицы a[i,j] присваивается значение переменной k.
  5. Если условие не выполняется, то элемент матрицы a[i,j] присваивается значение 0.
  6. Цикл for для вывода значений матрицы a.
  7. Внутри цикла for используется функция write для вывода каждого элемента матрицы a.
  8. Цикл for завершается вызовом функции writeln.
  9. Программа ожидает ввода пользователя с помощью функции readln.

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


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

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

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