Дан одномерный массив целых чисел, содержащий 20 различных элементов. Найти минимальный элемент. Отсортировать предшествующие ему элементы по возрастанию, а следующие за ним элементы по убыванию — Pascal(Паскаль)

var
  a:array [1..20] of integer;
  i,j,c,imin,min:integer;
begin
  randomize;
  imin:=0;
  for i:=1 to 20 do
    a[i]:=random(101)-50;
  for i:=1 to 20 do
    write(a[i]:4);
  min:=a[1];
  for i:=2 to 20 do
    if a[i]<min then
    begin
      min:=a[i];
      imin:=i;
    end;
  writeln('min = ',min);
  writeln('imin = ',imin);
  if imin>2 then
    for i:=1 to imin-1 do
      for j:=i+1 to imin-1 do
        if a[j]<a[i] then
        begin
          c:=a[j];
          a[j]:=a[i];
          a[i]:=c;
        end;
  if imin<19 then
    for i:=20 downto imin+1 do
      for j:=i downto imin+1 do
        if a[j]<a[i] then
        begin
          c:=a[j];
          a[j]:=a[i];
          a[i]:=c;
        end;
  for i:=1 to 20 do
    write(a[i]:4);
  readln;
end.

Leave a Comment

92 − 82 =