• Дано два одномерных массива A и B. Заменить местами максимальные элементы массивов A и B. Использовать процедуру нахождения максимального элемента массива. Преобразовать эту программу для двумерного массива.

Ответы 1

  • //Pascal ABC.NET v3.1 сборка 1172//ОдномерныеConst n=10; Type ty=array[1..n] of integer;Var ara,arb:ty; i,j,max,maxia,maxib:integer; procedure maxs(ar:ty;var max,maxi:integer); Var  i:integer; begin  for i:=1 to n do   if max<ara[i] then      begin       maxi:=i;       max:=ar[i];      end; end;begin randomize; max:=-1;  writeln('Array A:');   for i:=1 to n do    begin     ara[i]:=random(100);     write(ara[i]:4);    end; maxs(ara,max,maxia); writeln; max:=-1;  writeln('Array B:');   for i:=1 to n do    begin     arb[i]:=random(100);     write(arb[i]:4);    end; maxs(arb,max,maxib);   j:=ara[maxia];   ara[maxia]:=arb[maxib];   arb[maxib]:=j; writeln; writeln('Final array A:'); for i:=1 to n do  write(ara[i]:4); writeln; writeln('Final array B:'); for i:=1 to n do  write(arb[i]:4);end.//ДвумерныеConst n=10;Type ty=array[1..n,1..n] of integer;Var ara,arb:ty; i,j,max,maxia,maxib,maxja,maxjb:integer; procedure maxs(ar:ty;var max,maxi,maxj:integer); Var  i,j:integer; begin  for i:=1 to n do   for j:=1 to n do    if max<ara[i,j] then         begin          maxi:=i;          maxj:=j;          max:=ar[i,j];         end; end; begin randomize; max:=-1;  writeln('Matrix A:');   for i:=1 to n do    begin    writeln;     for j:=1 to n do      begin;       ara[i,j]:=random(100);                write(ara[i,j]:4);         end;    end; maxs(ara,max,maxia,maxja); writeln; max:=-1;  writeln('Matrix B:');   for i:=1 to n do    begin    writeln;     for j:=1 to n do      begin;       arb[i,j]:=random(100);        write(arb[i,j]:4);         end;    end; maxs(arb,max,maxib,maxjb); j:=ara[maxia,maxja]; ara[maxia,maxja]:=arb[maxib,maxjb]; arb[maxib,maxjb]:=j; writeln; writeln('Final matrix A:'); for i:=1 to n do  begin   writeln;   for j:=1 to n do   write(ara[i,j]:4);  end; writeln; writeln('Final matrix B:'); for i:=1 to n do  begin   writeln;   for j:=1 to n do   write(arb[i,j]:4);  end;end.Пример работы(одномерный):Array A:  11  83  41  30   0  23  14  41  93  66Array B:  53  40  58  40  56  17  98  33  90   6Final array A:  11  83  41  30   0  23  14  41  90  66Final array B:  53  40  58  40  56  17  98  33  93   6
    • Автор:

      cirilo
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years