Найти наименьший из элементов, расположенных правее максимального элемента массива. Вместо наименьшего…
Найти наименьший из элементов, расположенных правее максимального элемента массива.
Вместо наименьшего элемента выводит последний. Помогите исправить.
const n=10;
var
a:array[1.n] of integer;
i,j,max,minp:integer;
begin
write(‘Массив ‘);
for i:=1 to n do begin
a[i]:=random(100);
write(a[i]:4);
end;
writeln;
write(‘Максимальный элемент ‘);
max:=0;
imax:=0;
for i:=1 to n do
if (a[i]>max) then begin
max:=a[i];
j:=i;
end;
writeln(max);
minp:=0;
for i:=j to n do
if (a[i] minp:=a[i];
write(‘Наименьший элемент правее максимального ‘,minp);
end.
Ответ:
Program z1;
const n=20; // значение n можно изменить
var i,max,min,p,imin,imax:integer;
a:array[1.n] of integer;
begin
min:=10000;
for i:=1 to n do begin
a[i]:=random(51);
if(a[i] > max) then begin max:=a[i]; imax:=i; end; // 1-ый пункт
if(a[i] < min) then begin min:=a[i]; imin:=i; end; // 2-ой пункт
write(a[i]:3);
end;
p:=a[1]; // 1-ый пункт
a[1]:=a[imax];
a[imax]:=p;
p:=a[2]; // 2-ой пункт
a[2]:=a[imin];
a[imin]:=p;
writeln();
for i:=1 to n do begin
write(a[i]:3);
end;
end.