Вматрице с [6 x 7] определить сумму элементов, лежащих в диапазоне от x до y. заменить первую строку матрицы на значение найденной суммы.

аня2838 аня2838    1   30.06.2019 05:20    1

Ответы
Snow241 Snow241  23.07.2020 21:59
В матрице 42 элемента. Заполним её случайными значениями в диапазоне от  x/2 до  2*y, тогда в среднем половина значений попадет в заданный диапазон.

const
  m=6;
  n=7;
var
  a:array[1..m,1..n] of integer;
  i,j,k,x,y,x1,y1,s:integer;
begin
  Randomize;
  Write('Введите через пробел x и y: '); Read(x,y);
  if y<x then begin s:=x; x:=y; y:=s end;
  Writeln('Исходный массив');
  if x<0 then x1:=2*x else x1:=x div 2;
  if y<0 then y1:=y div 2 else y1:=2*y;
  k:=y1-x1+1; s:=0;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i,j]:=Random(k)+x1;
      Write(a[i,j]:4);
      if (a[i,j]>=x) and (a[i,j]<=y) then s:=s+a[i,j]
    end;
    Writeln
  end;
  for j:=1 to n do a[1,j]:=s;
  Writeln('Результирующая матрица');
  for i := 1 to m do
  begin
    for j := 1 to n do Write(a[i,j]:4);
    Writeln
  end
end.

Тестовое решение:
Введите через пробел x и y: -5 10
Исходный массив
   0  11  -6  15  -8  -2  -6
   9   0   6   1  11  -2  -1
   2   9  13  -1   6   0   9
   6   1  -5   8  -3   0  -5
   8   4  -8   7  -6   6  11
  18  -1  15  -8  -9  -9  20
Результирующая матрица
  62  62  62  62  62  62  62
   9   0   6   1  11  -2  -1
   2   9  13  -1   6   0   9
   6   1  -5   8  -3   0  -5
   8   4  -8   7  -6   6  11
  18  -1  15  -8  -9  -9  20
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика