Ввести одномерный массив A, в котором число элементов кратно K , вывести его. Разбить массив на K равных частей, внутри каждой из частей элементы между максимумом и минимумом соответствующего отрезка упорядочить по возрастанию. — Pascal(Паскаль)

var
p,i,j,p2,count,min,imin: integer;
mas,mas2: array[1..30] of integer;
begin
writeln('Введите длину массива <=30');
readln(p);
for i:=1 to p do
      begin
      randomize;
      mas[i]:=random(10);
      end;
write('Было:');
for i:=1 to p do write(mas[i],' ');
writeln;
min:=mas[1]; imin:=1; count:=1;
if p mod 2=0 then p2:=p div 2
             else p2:=(p div 2)+1;
for j:=1 to p2 do
      begin
      for i:=1 to p2 do
            begin
            if mas[i]<min then
                          begin
                          imin:=i;
                          min:=mas[i];
                          end;
            end;
      mas2[j]:=mas[imin];
      mas[imin]:=2147483647;
      min:=2147483647; imin:=0;
      end;
for i:=p downto p2+1 do
      begin
      mas2[p2+count]:=mas[i];
      inc(count);
      end;
write('Стал:');
for i:=1 to p do write(mas2[i],' ');
writeln;
end.

Leave a Comment

85 − = 80