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

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

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

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

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

textual
Листинг программы
  1. uses crt;
  2. const n=10;
  3. var a:array[1..n,1..n] of integer;
  4.     i,j,k:integer;
  5. begin
  6. clrscr;
  7. k:=0;
  8. for j:=1 to n do
  9.  begin
  10.   for i:=1 to n do
  11.   if ((j<i)and(j<n-i+1))or((j>i)and(j>n-i+1)) then
  12.    begin
  13.     k:=k+1;
  14.     a[i,j]:=k;
  15.    end
  16.   else a[i,j]:=0;
  17.  end;
  18. writeln;
  19. for i:=1 to n do
  20.  begin
  21.   for j:=1 to n do
  22.   write(a[i,j]:4);
  23.   writeln;
  24.  end;
  25. readln
  26. 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

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

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

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