Создать два одномерных массива размером n с генератора случайных чисел. заменить элемент, следующий за минимальным элементом второго массива, на минимальный элемент первого массива (если во втором массиве минимальных элементов несколько, то заменить после первого из них, если минимальный элемент – последний в массиве, то замену не производить, а вывести соответствующую надпись на pascalabc
type ar=array[1..n] of integer;
procedure p1(var x:ar);
var i:integer;
begin
for i:=1 to n do x[i]:=random(51);
end;
procedure p2(h:char;var x:ar);
var i:integer;
begin
writeln('---',h,'---');
for i:=1 to n do write(x[i]:4);
writeln;
end;
procedure p3(var x:ar; var min,imin:integer);
var i:integer;
begin
min:=x[1]; imin:=1;
for i:=2 to n do
if x[i]<min then begin min:=x[i]; imin:=i; end;
end;
var a,b : ar;
m1,m2,im1,im2: integer;
begin
Randomize;
p1(a); p2('a',a);
p3(a,m1,im1);
writeln('m1=',m1,' im1=',im1);
p1(b); p2('b',b);
p3(b,m2,im2);
writeln('m2=',m2,' im2=',im2);
if im2<n
then begin b[im2+1]:=m1; p2('b',b); end
else writeln('Минимальный элемент последний');
end.
Пример:
---a---
13 11 4 48 36 25 9 47 40 8
m1=4 im1=3
---b---
45 13 48 18 41 17 5 43 9 21
m2=5 im2=7
---b---
45 13 48 18 41 17 5 4 9 21
var
a,b:array [1..n] of integer;
i,min1,min2,k:integer;
begin
randomize;
For i:=1 to n do begin
a[i]:=random(10);
b[i]:=random(10);
end;
writeln (a);
writeln (b);
writeln;
min1:=1000;
min2:=1000;
For i:=1 to n do begin
if a[i]<min1 then min1:=a[i];
if b[i]<min2 then begin min2:=b[i]; k:=i end;
end;
if k<n
then begin
b[k+1]:=min1;
writeln (a);
writeln (b);
end
else writeln ('Минимальным является последний элемент');
end.
Примеры:
1)
[4,5,2,2,7,3,8,6,8,6]
[5,5,2,2,3,7,9,9,4,1]
Минимальным является последний элемент
2)
[0,1,7,3,1,1,0,1,6,1]
[8,3,8,0,7,2,1,4,0,9]
[0,1,7,3,1,1,0,1,6,1]
[8,3,8,0,0,2,1,4,0,9]
PS: Менять N можно в описании константы