Описать процедуру, формирующую по вещественному массиву 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 и выполняет следующие действия:

  1. Создает переменные a, b, i, j, p и k для хранения массива A, матрицы B, индексов строк и столбцов, а также счетчика p.
  2. Запрашивает у пользователя размеры массива A и сохраняет их в переменных k, m и n.
  3. Выводит массив A на экран.
  4. Выполняет цикл repeat, пока не будет введен корректный размер массива A.
  5. Запрашивает у пользователя количество строк, столбцов и сохраняет их в переменных m и n.
  6. Выполняет цикл repeat, пока не будет введен корректный размер массива A.
  7. Выводит матрицу B на экран.
  8. Выполняет цикл repeat, пока не будет введен корректный размер массива A.
  9. Выполняет цикл repeat, пока не будет введен корректный размер массива A.
  10. Вычисляет значение b[i,j] = a[j] для каждой строки i и каждого столбца j.
  11. Если размер n меньше размера k, то устанавливает все значения b[i,p] равными нулю, где p - это k+1 до n.
  12. Выводит значения b[i,j] на экран.
  13. Конец программы.

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


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

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

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