Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 08:54   #1
Евгений1240
 
Регистрация: 23.04.2012
Сообщений: 3
Радость Param16. Описать процедуру ArrayToMatrRow(A, K, M, N, B)

помогите решить
Param16. Описать процедуру ArrayToMatrRow(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M × N (матрица заполняется элементами массива A по строкам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, то оставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры на основе данного массива A размера K и целых чисел M и N сформировать матрицу B размера M × N.
Евгений1240 вне форума Ответить с цитированием
Старый 23.04.2012, 10:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в разных Паскаль эта функция может выглядеть по разному...

вот, например, решение для TurboPascal:
Код:
const
  MaxASize = 100;
  MaxBSize = 100;
type
 TA_arr = array[1..MaxASize] of real;
 TB_arr = array[1..MaxBSize, 1..MaxBSize] of real;

procedure ArrayToMatrRow(A : TA_arr; K, M, N: integer; var B : TB_arr);
var i, j, g : integer;
begin
   g := 1;
   for  i:=1 to M do
     for j:=1 to N do
       if g<=K then begin
            B[i,j] := A[g];
            inc(g)
       end
       else B[i,j] := 0.0;
end;

const
 KK = 10;
 MM = 3;
 NN = 4;
var
  A : TA_arr;
  B : TB_arr;
  i,j : integer;
begin
  {заполнение исходного массива A}
  for i:=1 to KK do A[i] := i*10;

  ArrayToMatrRow(A, KK, MM, NN, B);

  {вывод массива B}
  for i:=1 to MM do begin
    for j:=1 to NN do
      Write(B[i,j]:3:0, ' ');
    WriteLn
  end;

  Readln;
    
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2012, 12:28   #3
Евгений1240
 
Регистрация: 23.04.2012
Сообщений: 3
По умолчанию

Спасибо огромное
Евгений1240 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать процедуру интервал (d,t2,t1) PHARAoN91 Паскаль, Turbo Pascal, PascalABC.NET 3 24.02.2012 13:30
Описать процедуру в С++ Devil21RUS Помощь студентам 1 17.10.2011 11:54
Описать процедуру sear Паскаль, Turbo Pascal, PascalABC.NET 1 11.05.2011 13:20
Описать процедуру, меняющую... !IRA! Помощь студентам 3 02.02.2011 23:42
Описать процедуру Remove (A,N,X) Catuney Помощь студентам 0 14.05.2010 22:02