Дан массив чисел. Найти наибольший элемент, поставить его первым — Pascal(Паскаль)

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,imx:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
a[1]:=random(50);//первый элемент
imx:=1;//пока он макс.
write(a[1]:4);
for i:=2 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
  if a[i]>a[imx] then imx:=i;//находим самый большой
 end;
writeln;
writeln('Максимальный элемент a[',imx,']=',a[imx]);//если первый, менять не нужно
writeln;
if imx=1 then write('Максимальный элемет первый!')
else//иначе
 begin
  x:=a[imx];//запомним максимальный
  for i:=imx downto 2 do//сдвигом массива вправо на этот элемент сотрем его
  a[i]:=a[i-1];
  a[1]:=x;//и поставим первым
  writeln('Перестановка максимального вперед:');
  for i:=1 to n do
  write(a[i]:4);
 end;
readln
end.

Leave a Comment

+ 89 = 94