Составить на pascal программу с использованием процедуры и функции: "даны действительные числа a1, …, an, b1, …, bn. в последовательности a1, …, an, и в последовательности b1, …, bn все элементы, следующие за элементом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0,5."
n,i,maxi1,maxi2,seed:integer;
max1,max2:real;
function gener(var ar:array of real;i:integer; var seed:integer):real;
begin;
randomize(seed);
{В этой задаче я впервые столкнулся с неслучайным random(). Чтобы она генерировала новый ряд чисел, измените значение seed в начале основной программы}
seed:=random(-10,10);
ar[i]:=random(-10,10);
gener:=ar[i];
end;
procedure maxS(ar:array of real;var maxi,n:integer; var max:real);
var i:integer;
begin;
max:=-2147483648;
for i:=1 to n do if max<ar[i] then
begin;
max:=ar[i];
maxi:=i;
end;
for i:=maxi+1 to n do
ar[i]:=0.5;
end;
begin;
randomize;
readln(n);
setlength(ar1,n+1);
setlength(ar2,n+1);
writeln('Array A:');
for i:=1 to n do
write(gener(ar1,i,seed):4);
seed:=random(-10,10);
writeln;
writeln('Array B:');
for i:=1 to n do
write(gener(ar2,i,seed):4);
maxS(ar1,maxi1,n,max1);
maxS(ar2,maxi2,n,max2);
writeln;
writeln('Final array A:');
for i:=1 to n do
write(ar1[i]:4);
writeln;
writeln('Final array B:');
for i:=1 to n do
write(ar2[i]:4);
end.