Описать процедуру, формирующую по вещественному массиву A размера K матрицу B размера M Ј N - Pascal ABC
Формулировка задачи:
Описать процедуру Matr(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M £ N(матрица заполняется элементами массива A по строкам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, то оставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры на основе данного массива A размера K и целых чисел M и N сформировать матрицу B размера M £ N.
Решение задачи: «Описать процедуру, формирующую по вещественному массиву A размера K матрицу B размера M Ј N»
textual
Листинг программы
uses crt; const max=15; type mas=array[1..max] of real; mtr=array[1..max,1..max] of real; procedure matrix(a:mas;k,m,n:integer;var b:mtr); var i,j,p:integer; begin writeln('Матрица В:'); for i:=1 to m do begin for j:=1 to n do begin b[i,j]:=a[j]; if n<k then for p:=k+1 to n do b[i,p]:=0; write(b[i,j]:5:2) end; writeln end end; var a:mas; b:mtr; i,k,m,n:integer; begin randomize; repeat write('Размер массива от 1 до ',max,' k='); readln(k); until k in [1..max]; repeat write('Количество строк матрицы от 1 до ',max,' m='); readln(m); until m in [1..max]; repeat write('Количество столбцов матрицы от 1 до ',max,' n='); readln(n); until n in [1..max]; writeln('Массив А:'); for i:=1 to k do begin a[i]:=10*random; write(a[i]:5:2) end; writeln; matrix(a,k,m,n,b); end.
Объяснение кода листинга программы
Этот код написан на языке Pascal ABC и выполняет следующие действия:
- Создает переменные
a
,b
,i
,j
,p
иk
для хранения массиваA
, матрицыB
, индексов строк и столбцов, а также счетчикаp
. - Запрашивает у пользователя размеры массива
A
и сохраняет их в переменныхk
,m
иn
. - Выводит массив
A
на экран. - Выполняет цикл
repeat
, пока не будет введен корректный размер массиваA
. - Запрашивает у пользователя количество строк, столбцов и сохраняет их в переменных
m
иn
. - Выполняет цикл
repeat
, пока не будет введен корректный размер массиваA
. - Выводит матрицу
B
на экран. - Выполняет цикл
repeat
, пока не будет введен корректный размер массиваA
. - Выполняет цикл
repeat
, пока не будет введен корректный размер массиваA
. - Вычисляет значение
b[i,j] = a[j]
для каждой строкиi
и каждого столбцаj
. - Если размер
n
меньше размераk
, то устанавливает все значенияb[i,p]
равными нулю, гдеp
- этоk+1
доn
. - Выводит значения
b[i,j]
на экран. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д