Advertisement
Norvager

SumArr

Dec 11th, 2017 (edited)
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.02 KB | None | 0 0
  1. program n_1;
  2.  type
  3.   TM = array of array of integer;
  4.  var a, b, Suum :TM;
  5.      i, j, L1, S1, L2, S2: integer;
  6.  
  7. Procedure dsdjl(ar:TM);
  8.     Var i, j : integer;
  9.     Begin
  10.    For i:=0 to (Length(ar)-1) do
  11.      Begin
  12.       for j:=0 to (Length(ar[0])-1) do
  13.        write(ar[i,j],' ');
  14.       writeln;
  15.      end;
  16.   End;
  17.  
  18. Procedure radome(ar:TM; var arr:TM);
  19.    Var i, j : integer;
  20.    Begin
  21.      For i:=0 to (Length(ar)-1) do
  22.       Begin
  23.        for j:=0 to (Length(ar[0])-1) do
  24.         ar[i,j]:=random(10);
  25.        writeln;
  26.       end;
  27.    End;
  28.  
  29. Function SumArr(ar,br:TM):TM;
  30.     Var i, j : integer;
  31.         Sum :TM;
  32.  Begin
  33.   SetLength(Sum, Length(ar));
  34.    for i:=0 to (Length(ar)-1) do
  35.     SetLength(Sum[i], (Length(ar[1])));
  36.    If ((Length(ar))<>(Length(br))) and ((Length(ar[1]))<>(Length(br[1]))) then
  37.        Writeln('Сложение невозможно')
  38.     Else
  39.      begin
  40.       For i:=0 to Length(ar) - 1 do
  41.         for j:=0 to Length(ar[i]) - 1 do
  42.            Sum[i,j]:=ar[i,j] + br[i,j];
  43.         Writeln('Сумма матриц >> ');
  44.       dsdjl(Sum);
  45.      end;
  46.     SumArr:=Sum;
  47.  End;
  48.  
  49. Begin
  50.  Randomize;
  51.  Write('Введите кол-во строк в первой матрице >> ');
  52.  read(L1);
  53.  Write('Введите кол-во столбцов в первой матрице >> ');
  54.  read(S1);
  55.  SetLength(a, L1);
  56.  for i:=0 to (L1-1) do
  57.  
  58.   SetLength(a[i], S1);
  59.  radome(a, a);
  60.  writeln('Первая матрица:');
  61.  dsdjl(a);
  62.  writeln;
  63.   Write('Введите кол-во строк во второй матрице >> ');
  64.   read(L2);
  65.   Write('Введите кол-во столбцов во второй матрице >> ');
  66.   read(S2);
  67.   SetLength(b, L2);
  68.   for i:=0 to (L2-1) do
  69.    SetLength(b[i], S2);
  70.   radome(b, b);
  71.   writeln('Вторая матрица:');
  72.   dsdjl(b);
  73.   writeln;
  74.   SumArr(a,b);
  75.  {SetLength(Suum, Length(a));
  76.  for i:=0 to Length(a) - 1 do
  77.   SetLength(Suum[i], Length(a[1]));
  78.  Suum:=SumArr(a,b);
  79.  Writeln('Сумма матриц >> ');
  80. dsdjl(Suum);}
  81.  
  82. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement