Даны два двумерных массива целочисленных элементов. Размер исходных массивов не превосходит 10х10 элементов. Для каждого из массивов проверить выполнение условия: все четные строки массива таковы, что суммы их элементов образуют возрастающую последовательность. Вывести соответствующее сообщение. Вычисление суммы элементов массива и проверку последовательности чисел на выполнение условия оформить в виде процедуры с передачей в нее всех необходимых элементов. (На Pascal abc)

MishaChaos1 MishaChaos1    1   05.07.2021 04:17    22

Ответы
mschibarova201 mschibarova201  04.08.2021 04:59

type mas=array[1..10,1..10]of integer;

procedure vvod(var a:mas;var m,n:integer;c:char);

var i,j:integer;

begin

repeat

writeln('Введите размеры массива ',c,' m,n от 2 до 10');

readln(m,n);

until(m in [2..10])and(n in [2..10]);

writeln('Введите элементы массива целые числа, в том числе суммы в четных строках по возрастанию');

for i:=1 to m do

for j:=1 to n do

begin

 write(c,'[',i,',',j,']=');

 readln(a[i,j]);

end;

end;

procedure print(a:mas;m,n:integer;st:string);

var i,j,s:integer;

begin

writeln(st);

writeln('Сумма':n*5+8);

for i:=1 to m do

begin

 s:=0;

 for j:=1 to n do

  begin

   write(a[i,j]:5);

   s:=s+a[i,j];

  end;

 writeln(s:8);

end;

end;

procedure check(a:mas;m,n:integer);

var i,j,k,s,s1:integer;

begin

k:=0;

i:=2;

while(i<=m)and(k=0) do

begin

 s:=0;

 for j:=1 to n do

 s:=s+a[i,j];

 if i=2 then s1:=s

 else if s<=s1 then k:=1;

 s1:=s;

 i:=i+2;

end;

writeln('k=',k);

if k=0 then writeln('Суммы в четных строках упорядочены по возрастанию')

else writeln('Суммы в четных строках не упорядочены по возрастанию');

writeln;

end;

var a,b:mas;

   ma,na,mb,nb:integer;

begin

vvod(a,ma,na,'A');

print(a,ma,na,'Массив А');

check(a,ma,na);

vvod(b,mb,nb,'B');

print(b,mb,nb,'Массив B');

check(b,mb,nb);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика