Показать сообщение отдельно
Старый 21.03.2017, 20:07   #6 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Ну и мои пять копеек:

Код:
uses  Crt;
const n=10;
var   a:array[1..n] of integer;
      i,t,ti,k,m:integer;
begin
  ClrScr;
   Randomize;
    for i:=1 to n do
      begin
        a[i]:=Random(99)+1;
        Write(a[i]:4);
      end; Writeln; Writeln;
   m:=1; k:=n;
    repeat
      t:=0;
      for i:=m to k do
       if a[i]>t then
         begin
           t:=a[i]; ti:=i;
         end;
      if (t mod 2)=0
       then
         begin
           for i:=ti downto m+1 do
            a[i]:=a[i-1];
           a[m]:=t;
           Inc(m);
         end
       else
         begin
           for i:=ti to k-1 do
            a[i]:=a[i+1];
           a[k]:=t;
           Dec(k);
         end;
    until (m=k);
     for i:=1 to n do
      Write(a[i]:4);
  Readkey;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070