Из одномерного массива сформировать матрицу - Pascal
Формулировка задачи:
Здравствуйте, выручите пожалуйста. Вот такое задание по информатике:
Задан массив из целых чисел размером n и число L. Написать программу, формирующую из него матрицу, содержащую по L элементов в строке. Недостающие элементы заполнить нулями.
Спасибо огромное !
Решение задачи: «Из одномерного массива сформировать матрицу»
textual
Листинг программы
var a:array[1..100] of integer; b:array[1..50,1..50] of integer; n,L,m,i,j,k:integer; begin randomize; repeat write('Введите размер массива от 10 до 100 n='); readln(n); until n in [10..100]; for i:=1 to n do begin a[i]:=10+random(90); write(a[i]:4); end; writeln; repeat write('Введите количество столбцов матрицы от 2 до ',n div 2,' L='); readln(L); until L in [2..n div 2]; if n mod L=0 then m:=n div L else m:=n div L+1; k:=0; for i:=1 to m do begin for j:=1 to L do begin inc(k); if k<=n then b[i,j]:=a[k] else b[i,j]:=0; write(b[i,j]:4); end; writeln; end; end.
Объяснение кода листинга программы
- Объявлены переменные:
- a - одномерный массив на 100 элементов типа integer;
- b - двумерный массив на 50 строк и 50 столбцов элементов типа integer;
- n, L, m, i, j, k - целочисленные переменные для выполнения алгоритма.
- Выполняется инициализация генератора случайных чисел.
- Цикл повторяется до тех пор, пока пользователь не введет размер массива от 10 до 100.
- В цикле заполняется одномерный массив a случайными числами от 10 до 90.
- Цикл повторяется до тех пор, пока пользователь не введет количество столбцов матрицы от 2 до (n div 2).
- Если n mod L=0, то m=n div L, иначе m=n div L+1.
- Переменная k инициализируется нулем.
- В двух вложенных циклах происходит заполнение двумерного массива b значениями из одномерного массива a.
- Если k<=n, то b[i,j]=a[k], иначе b[i,j]=0.
- Выводится значение элемента b[i,j] в формате 4-х знаков.
- После окончания внутреннего цикла выводится символ новой строки.
- После окончания внешнего цикла выводится символ новой строки.
- Код повторяется до тех пор, пока не будет выполнено условие окончания работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д