Дана последовательность из n вещественных чисел. Поменять в последовательности местами наибольший элемент и элемент с номером m.

uses crt;
const max=100;
var a:array[1..max] of integer;
    n,i,imx,m:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(20)+1;
  write(a[i],' ');
 end;
writeln;
writeln;
imx:=1;
for i:=1 to n do
if a[i]>a[imx] then imx:=i;
writeln('Максмальный элемент=',a[imx],' его индекс=',imx);
repeat
write('Введите номер элемента для обмена от 1 до ',n,' не равный ',imx,' m=');
readln(m);
until(m in [1..n])and(m<>imx);
writeln('Элемент для обмена=',a[m]);
x:=a[m];
a[m]:=a[imx];
a[imx]:=x;
writeln('Массив после обмена:');
for i:=1 to n do
write(a[i],' ');
readln
end.

Leave a Comment

50 − 48 =