uses Crt;
const
MAX = 10; {zadaem razmer massiva}
var
mas : array[1..MAX] of integer; {opredeliaem massiv celih chisel}
i : byte; {dopolnitelnie peremennie}
loc : integer;
maxy, miny : byte; {budut hranit' nomera naibolsh i naimesh elementov
massiva}
procedure Vivod; {vivod massiva na ekran}
var
il : byte;
begin
for il:=1 to MAX do Write (mas[il],' ');
Writeln;
end;
begin
ClrScr;
for i:=1 to MAX do begin {formiruem massiv, koroche vnosim v massiv
dannie}
Write('Vvedi ',i,' element :>');
Readln(mas[i]);
end;
Writeln('Ishodniy massiv:');
Vivod;
maxy:=1; {zadaem max element massiva, kak 1 element}
for i:=1 to MAX do
if (mas[maxy]<mas[i]) then maxy:=i;
{esli nash element menshe, chem i-tiy elm, to maxy:=i}
miny:=1; {zadaem mix element massiva, kak 1 element}
for i:=1 to MAX do
if (mas[miny]>mas[i]) then miny:=i;
{esli nash element bolshe, chem i-tiy elm, to miny:=i}
{mi nashli naibolshiy -mas[maxy] i naimenshiy -mas[miny] elementy
teper ih meniaem :) }
loc:=mas[maxy];
mas[maxy]:=mas[miny];
mas[miny]:=loc;
Writeln('Konechiy massiv:');
Vivod;
ReadKey; {oshidanie nashatia na knopku}
end.
Следующий вариант
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,imn,imx:byte;
x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
begin
a[i]:=random(50);
write(a[i]:4);
end;
writeln;
writeln;
imn:=1;
imx:=1;
for i:=1 to n do
if a[i]<a[imn] then imn:=i
else if a[i]>a[imx] then imx:=i;
writeln('Минимальный элемент a[',imn,']=',a[imn]);
writeln('Максимальный элемент a[',imx,']=',a[imx]);
x:=a[imn];a[imn]:=a[imx];a[imx]:=x;
writeln('Обмен элементов:');
for i:=1 to n do
write(a[i]:4);
readln
end.