Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Corsairs

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
var
 a:array[1..40] of integer;
 i,b,c,e,n,r,l,m,k,x:integer;
 
begin
 n:=40;
 randomize;
 for i:=1 to n do
  a[i]:=random(900)+100;
 
 for i:=1 to n do
  write(a[i]:3,' ');
 writeln;
 
 i:=2;
 repeat
  b:=1;
  e:=i-1;
  c:=trunc((b+e)/2);
  while b<>c do
   begin
    if (a[c] div 100)>(a[i] div 100)
     then
      e:=c
     else
      b:=c;
    c:=trunc((b+e)/2);
   end;
  if a[b]<a[i]
   then
    begin
     if (a[i] div 100)>(a[e] div 100)
      then
       b:=e+1
      else
       b:=e;
    end;
  k:=i;
  x:=a[i];
  while k>b do
   begin
    a[k]:=a[k-1];
    k:=k-1
   end;
  a[b]:=x;
  i:=i+1;
 until not(i<=n);
 
 writeln('out');
 
 for i:=1 to n do
  write(a[i]:3,' ');
 writeln;
 
 readln;
end.

Всего записей: 569 | Зарегистр. 30-06-2006 | Отправлено: 23:24 21-12-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru