Напишите программу для Паскаля для перестановки максимального и минимального по значению элементов массива. Значения длины массива вводятся с клавиатуры
Var a:array of integer; n,i,min,imin,max,imax:integer; begin write('n = '); readln(n); SetLength(a,n); for i:=0 to n-1 do begin a[i]:=random(51); write(a[i]:4); end; writeln; min:=a[0]; imin:=0; max:=a[0]; imax:=0; for i:=1 to n-1 do begin if a[i]<min then begin min:=a[i]; imin:=i; end; if a[i]>max then begin max:=a[i]; imax:=i; end end; writeln('min = ',min,' max = ',max); a[imin]:=max; a[imax]:=min; for i:=0 to n-1 do write(a[i]:4); writeln; end.
Пример: n = 10 33 17 33 49 3 2 14 25 35 47 min = 2 max = 49 33 17 33 2 3 49 14 25 35 47
Answers & Comments
Verified answer
Var a:array of integer;n,i,min,imin,max,imax:integer;
begin
write('n = ');
readln(n);
SetLength(a,n);
for i:=0 to n-1 do
begin
a[i]:=random(51);
write(a[i]:4);
end;
writeln;
min:=a[0]; imin:=0;
max:=a[0]; imax:=0;
for i:=1 to n-1 do
begin
if a[i]<min then
begin
min:=a[i]; imin:=i;
end;
if a[i]>max then
begin
max:=a[i]; imax:=i;
end
end;
writeln('min = ',min,' max = ',max);
a[imin]:=max; a[imax]:=min;
for i:=0 to n-1 do write(a[i]:4);
writeln;
end.
Пример:
n = 10
33 17 33 49 3 2 14 25 35 47
min = 2 max = 49
33 17 33 2 3 49 14 25 35 47