Сформировать матрицу из элементов одномерного массива - Free Pascal
Формулировка задачи:
сформировать случайный одномерный массив А из 6 элементов. переслать все числа из одномерного массива А в двумерный массив В[2,3] Полученный двумерный массив вывести на экран как таблицу 2*3.
Решение задачи: «Сформировать матрицу из элементов одномерного массива»
textual
Листинг программы
var
a:array[1..6] of integer;
b:array[1..2,1..3] of integer;
i,j:integer;
begin
randomize;
write('A:[');
{заполняем одномерный массив, печатаем его}
for j:=1 to 6 do begin
a[j]:=random(199)-99;
write(a[j]:4);
end;
writeln(']');
{заполняем двумерный массив, печатаем его}
writeln('Новый массив:');
for i:=1 to 2 do begin
for j:=1 to 3 do begin
b[i,j]:=a[j+(i-1)*3];
write(b[i,j]:4);
end;
writeln;
end;
readln;
end.
Объяснение кода листинга программы
- Объявляются переменные: — a: одномерный массив из 6 элементов типа integer; — b: двумерный массив из 2 строк и 3 столбцов элементов типа integer; — i, j: целочисленные переменные для выполнения циклов.
- В блоке randomize инициируется генератор случайных чисел.
- Выводится сообщение
A:[и начинается заполнение и печать одномерного массива a с помощью цикла for, где переменная j изменяется от 1 до 6. — Каждый элемент массива a инициализируется случайным числом от 0 до 198 (random(199)-99)). — Каждый элемент массива a выводится на экран в формате 4-х знаков (write(a[j]:4)). - Завершается печать одномерного массива и выводится пустая строка.
- Начинается заполнение двумерного массива b с помощью двух вложенных циклов for, где переменные i и j изменяются от 1 до 2 и от 1 до 3 соответственно. — Каждый элемент массива b инициализируется элементом массива a, взятым с индексом (j+(i-1)*3), т.е. элементы массива a выстраиваются в 2 строки по 3 столбца. — Каждый элемент массива b выводится на экран в формате 4-х знаков (write(b[i,j]:4)).
- Завершается печать двумерного массива и выводится пустая строка.
- Программа ожидает ввода данных с клавиатуры с помощью функции readln.