uses crt;
const max=100;
var b:array[1..max] of integer;
n,i,mx,mn,imx,imn,x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
begin
b[i]:=random(10)+10;
write(b[i],' ');
end;
writeln;
writeln;
mx:=b[1];mn:=b[1];imx:=1;imn:=1;
for i:=1 to n do
begin
if b[i]>mx then
begin
mx:=b[i];
imx:=i;
end;
if b[i]<mn then
begin
mn:=b[i];
imn:=i;
end;
end;
writeln('Максимальный=',mx,' индекс=',imx);
writeln('Минимальный=',mn,' индекс=',imn);
writeln;
x:=b[imn];
b[imn]:=b[imx];
b[imx]:=x;
writeln('Массив после обмена элементов:');
for i:=1 to n do
write(b[i],' ');
readln
end.
Вариант 2
program hhh;
Uses crt;
Var x:array [1..100] of integer;
i,j,j1,min,n,max,q:integer;
begin
clrscr;
Writeln (' Vvedite kol - vo elementov ');
Readln (n);
{Вводим массив}
for i:=1 to n do begin
write ('Vvedite ',i, ' element ');
Readln (x[i]);
end;
{Выводим его на экран}
Writeln (' polycheny chisla ');
for i:=1 to n do write (x[i]:3);
writeln;
{Ищем максимальный элемент}
Max:=x[1];
for i:=1 to n do
if x[i]>=max then begin
max:=x[i];
{Запоминаем его номер}
j:=i;
end;
{Выводим максимальный элемент}
Writeln (' Maxim element = ',max);
Writeln;
{Ищем минимальный элемент}
min:=x[1];
for i:=1 to n do
if x[i]<=min then begin
min:=x[i];
{Находим и запоминаем его номер}
j1:=i;
end;
Writeln;
{Выводим минимальный элемент}
writeln (' Minim element = ',min);
{Меняем элементы местами}
q:=x[j1];
x[j1]:=x[j];
x[j]:=q;
{Выводим полученный массив}
For i:=1 to n do write (x[i]:3);
Readln
end.
Следующий вариант
uses crt;
var
i, size, max, min, num, num1: integer;
a: array [1 .. 10000] of integer;
begin
clrscr;
writeln('Bведите размер массива');
readln(size);
FOR i := 1 TO size do
begin
clrscr;
writeln('Введите элементы массива');
readln(a[i]);
end;
max := a[1];
min := a[1];
clrscr;
writeln('Введенный массив');
FOR i := 1 TO size do
begin
writeln(a[i]);
IF a[i] > max THEN
begin
num := i;
max := a[i];
end;
end;
FOR i := 1 TO size do
begin
IF a[i] < min THEN
begin
num1 := i;
min := a[i];
end;
end;
a[num1 + 1] := max;
a[num] := min;
writeln('Массив, где max и min поменяли местами');
FOR i := 1 TO size do
begin
writeln(a[i]);
end;
end.