Из одномерного массива сформировать матрицу - 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.

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

  1. Объявлены переменные:
    • a - одномерный массив на 100 элементов типа integer;
    • b - двумерный массив на 50 строк и 50 столбцов элементов типа integer;
    • n, L, m, i, j, k - целочисленные переменные для выполнения алгоритма.
  2. Выполняется инициализация генератора случайных чисел.
  3. Цикл повторяется до тех пор, пока пользователь не введет размер массива от 10 до 100.
  4. В цикле заполняется одномерный массив a случайными числами от 10 до 90.
  5. Цикл повторяется до тех пор, пока пользователь не введет количество столбцов матрицы от 2 до (n div 2).
  6. Если n mod L=0, то m=n div L, иначе m=n div L+1.
  7. Переменная k инициализируется нулем.
  8. В двух вложенных циклах происходит заполнение двумерного массива b значениями из одномерного массива a.
  9. Если k<=n, то b[i,j]=a[k], иначе b[i,j]=0.
  10. Выводится значение элемента b[i,j] в формате 4-х знаков.
  11. После окончания внутреннего цикла выводится символ новой строки.
  12. После окончания внешнего цикла выводится символ новой строки.
  13. Код повторяется до тех пор, пока не будет выполнено условие окончания работы программы.

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


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

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

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