Заполнить двухмерный массив размера N*M случайными целыми числами, диапазон изменения...

0 голосов
68 просмотров

Заполнить двухмерный массив размера N*M случайными целыми числами, диапазон изменения которых вводится с клавиатуры.
Вывести массив на экран.
Заполнить одномерный массив, элементами которого является сумма элементов каждой строки двухмерного массива. Вывести его на экран(Тоже задание сделать и для столбцов).


Информатика (38 баллов) | 68 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
  nn = 50;
  nm = 50;
var
  Mas: array[1..nn, 1..nm] of integer;
  R: array[1..nn] of integer;
  C: array[1..nm] of integer;
  i, j, n, m, k, s, a, b, p : integer;

begin
  Write('Введите число строк и столбцов матрицы: '); Readln(n,m);
  Write('Введите границы для элементов массива: '); Readln(a,b);
  { защита от злобных буратинок }
  if a>b then begin k:=a; a:=b; b:=k end;
  { найдем количество позиций, требуемое для вывода элементов }
  k:=(b-a+1);
  if k=0 then p:=2
  else begin
    if k<0 then begin p:=4; k:=-k end<br>    else p:=3;
    p:=p+trunc(ln(k)/ln(10))
  end;
  { заполнение массива случайными числами }
  Randomize;
  Writeln('Исходная матрица');
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      Mas[i, j] := Random(b-a+1) + a;
      Write(Mas[i, j]:p)
    end;
    Writeln
  end;
  { суммы по строкам }
  Writeln('Суммы элементов по строкам');
  for i:=1 to n do
  begin
    s:=0;
    for j:=1 to m do s:=s+Mas[i,j];
    R[i]:=s;
    Writeln(s:p+1)
  end;
  { суммы по столбцам }
  Writeln('Суммы элементов по столбцам');
  for j:=1 to m do
  begin
    s:=0;
    for i:=1 to n do s:=s+Mas[i,j];
    C[j]:=s;
    Write(s:p+1)
  end;
  Writeln
end.

Тестовое решение:
Введите число строк и столбцов матрицы: 6 9
Введите границы для элементов массива: -50 200
Исходная матрица
   94  -48    2   83  -49  125   18  110   15
  168   51   57  196   18  132  -36  -25   56
   95   55    1   20  -50  -27  174  -11  -27
  109  142  155  -34  188  160  175  -46  196
   27   85  156  103  -50   13   64   36  -14
  122  116   -2   42  173  177   22  145   67
Суммы элементов по строкам
   350
   617
   230
  1045
   420
   862
Суммы элементов по столбцам
   615   401   369   410   230   580   417   209   293

(142k баллов)
0

огромное спасибо!!

0

Пожалуйста