Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исправление ошибок 
V
    Опции темы
Tony_Bil
Дата 9.3.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Помогите исправить код программы, а то у меня не запускаеться программа
Код

program chief;
const MAXN=5000;
      INFTY=$7FFFFFFF;

type
  Node = record
  a,b,orig:integer;
  end;
  List = array[1..MAXN] of Node;

var N,i,time_passed,people_passed,minb,i_minb:integer;

    heap_end,unheaped_start:integer;

    Data: List;
    out_order:array[0..MAXN*2] of integer;
    found_0,found_1:boolean;

    hh,mm,ss,cc:word;

procedure SortByLeft(var A: List; N: integer);

procedure Sort(l, r: integer);
var
  i, j: integer;
  x, y: Node;
begin
  i := l; j := r;
  x := a[(l+r) DIV 2];
  repeat
    while a[i].a < x.a do i := i + 1;
    while x.a < a[j].a do j := j - 1;
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      i := i + 1; j := j - 1;
    end;
  until i > j;
  if l < j then Sort(l, j);
  if i < r then Sort(i, r);
end;

begin {QuickSort};
  Sort(1,N);
end;

procedure Heapify_from_end(var Data:List; last:integer);
var tmp:Node;
Begin
  while (last>1) and (Data[last div 2].b > Data[last].b) do begin
    tmp := Data[last div 2];
    Data[last div 2] := Data[last];
    Data[last] := tmp;
    last := last div 2;
  end
End;

procedure Heapify_from_root(var Data:List; size:integer);
var tmp:Node;
    i,i_min:integer;
Begin
  i:=1;
  while i*2<=size do begin
    if (2*i+1<=size) and (Data[2*i+1].b < Data[2*i].b) then
      i_min:=2*i+1
    else
      i_min:=2*i;
    if Data[i].b<Data[i_min].b then
      break
    else begin
      tmp:=Data[i];
      Data[i]:=Data[i_min];
      Data[i_min]:=tmp;
      i:=i_min;
    end
  end
End;

BEGIN

  read(N);
  for i:=1 to N do begin
    read(Data[i].a,Data[i].b);
    Data[i].orig:=i;
  end;

  SortByLeft(Data,N);

  time_passed:=0;
  people_passed:=0;
  heap_end:=0;
  unheaped_start:=1;
  found_0:=false;
  found_1:=false;


  repeat
    while (unheaped_start<=N) and (Data[unheaped_start].a<=time_passed) do begin
      inc(heap_end);
      Data[heap_end]:=Data[unheaped_start];
      Heapify_from_end(Data,heap_end);
      inc(unheaped_start);
    end;
    if heap_end=0 then
      minb:=INFTY
    else begin
      minb:=Data[1].b;
      i_minb:=Data[1].orig;
      Data[1]:=Data[heap_end];
      dec(heap_end);
      Heapify_from_root(Data,heap_end);
    end;
    if minb<time_passed then
      found_0:=true
    else
      if minb=INFTY then
        out_order[time_passed]:=-1
      else
        {means INFTY>minb>=time_passed then} begin
          inc(people_passed);
          out_order[time_passed]:=i_minb;
        end;
    inc(time_passed);
  until found_0 or (people_passed=N);

  if found_0
    then write(0)
    else begin
           write(1);
           for i:=0 to time_passed-1 do write(' ',out_order[i])
         end;
  writeln;

END.


PM MAIL   Вверх
mikla
Дата 9.3.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 3.12.2006
Где: Витебск

Репутация: нет
Всего: нет



откомпилировалась, когда поменял тип на longint.
а именно. заменил вот эту строку
Код

var N,i,time_passed,people_passed,minb,i_minb:integer;

на
Код

var N,i,time_passed,people_passed,minb,i_minb:longint;

--------------------
PM MAIL ICQ Skype   Вверх
Tony_Bil
Дата 10.3.2008, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.