Сформировать матрицу из массива - Turbo Pascal

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

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

Задание во вложении. Ввод/вывод написал, помогите с формированием матрицы. Индексация именно с нуля должна быть.

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

textual
Листинг программы
const n=5;
var
  a: array [0..(n-1)*2] of Char;
  b: array [0..n-1,0..(n-1)*2] of Char;
  i, j: Integer;
begin
  for i:=0 to (n-1)*2 do a[i]:=Chr(Ord('A')+i);
  FillChar(b,SizeOf(b),'0');
  for i:=0 to n-1 do begin
    j:=2*i+1; if j<n then b[i,j]:='1' else j:=n;
    for j:=j-1 downto 0 do b[i,j]:=a[2*i-j];
  end;
  for i:=0 to n-1 do begin
    for j:=0 to n-1 do Write(b[i,j]:2); WriteLn; 
  end;
end.

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

  1. Переменная n инициализируется значением 5.
  2. Создаются две переменные a и b, которые являются массивами символов.
  3. В цикле for заполняется массив a символами 'A' с помощью функции FillChar.
  4. Создается пустой массив b.
  5. В цикле for заполняется массив b нулями с помощью функции FillChar.
  6. Для каждого элемента i в массиве a и каждого элемента j в массиве b выполняется следующий блок кода:
    • j устанавливается равным 2*i+1.
    • Если j меньше n, то b[i,j] устанавливается равным '1'.
    • j устанавливается равным n.
    • Для каждого элемента j в массиве b выполняется следующая последовательность операций:
      • b[i,j] устанавливается равным a[2*i-j].
    • Для каждого элемента i в массиве a выполняется блок кода:
      • Выводится значение b[i,j] с помощью функции Write.
      • Выводится символ новой строки с помощью функции WriteLn.
  7. Код завершается.

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


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

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

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