Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2008, 12:46   #1
Danilyuk
 
Аватар для Danilyuk
 
Регистрация: 21.01.2008
Сообщений: 8
Вопрос Проблема с курсовой

Кто может посмотрите!!! Нипонимаю в чем он находит ошибку
Код:
Unit trees;
INTERFACE
Uses Crt;   
Type
  pTree = ^Tree;              
  Tree = record               
    fio : string[40];        
    num : word;              
    pol : char;              
    dat : string[10];         
    adr : string[40];        
    gru : string[6];          
    left, right : pTree      
  end;                       
  CompF = record
    fio : string[40];
    num : word;
    pol : char;
    dat : string[10];
    adr : string[40];
    gru : string[6];
  end;                       
Procedure print(v : pTree);
Procedure add(var x : CompF; var p : pTree);
Procedure del(x : word; var p : pTree);
IMPLEMENTATION
procedure print(v : pTree);
begin                         
  if WhereY > 20 then        
    begin                     
      readkey;                
      clrscr                 
    end;
  with v^ do                 
    begin
      writeln('Фамилия:       ',fio);
      writeln('Номер зачетки: ',num);
      writeln('Пол:           ',pol);
      writeln('Дата рождения: ',dat);
      writeln('Адрес:         ',adr);
      writeln('Группа:        ',gru);
      writeln
    end;
end;
begin
  if p = nil then     
    begin                      
      new(p);                   
      Move(x,p^,SizeOf(CompF)); 
      with p^ do                
        begin
          left := nil;
          right := nil;
        end;
    end
  else                         
    if x.num < p^.num then    
      add(x,p^.left)          
    else
      if x.num > p^.num then   
        add(x,p^.right)        
      else                    
        begin
          writeln(#13#10'Ошибка! Такой номер уже есть!');
          readkey
        end
end;
Procedure del(x : word; var p : pTree);
var
  q : pTree;                   
  d : char;                    
  procedure delt(var r : pTree);
  begin
    if r^.right <> nil then        
      delt(r^.right)
    else
      begin                         
        move(r^,q^,SizeOf(CompF));  
        q := r;                     
        r := r^.left                
      end
  end;
begin
  if p <> nil then                  
    if x < p^.num then              
      del(x,p^.left)                
    else
      if x > p^.num then            
        del(x,p^.right)             
      else
        begin                       
          print(p);                 
          writeln('Удалить (Y/Д)? '); 
          d := readkey;
          if not (d in ['Y','y','Н','н','L','l','Д','д']) then
            begin
              writeln('Отмена удаления...');
              exit;
            end;
          q := p;                   
          if q^.right = nil then    
            p := q^.left            
          else
            if q^.left = nil then   
              p := q^.right         
            else
              delt(q^.left);        
          dispose(q);               
          writeln('Удален...');
        end
  else                              
    writeln('Введенный номер зачетки не найден...');
end;
BEGIN
END.
Кто не рискуе - того не ложат в гроб из красного дерева
Danilyuk вне форума Ответить с цитированием
Старый 20.05.2008, 12:57   #2
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

А ошибка-то какая. И где конкретно. А то угадывать надо, или самому компилить. А это лениво.
merax вне форума Ответить с цитированием
Старый 20.05.2008, 15:12   #3
Danilyuk
 
Аватар для Danilyuk
 
Регистрация: 21.01.2008
Сообщений: 8
По умолчанию

ВСЕМ СПАСИБО. Я НАШОЛ СВОЮ ОШИБКУ.
Кто не рискуе - того не ложат в гроб из красного дерева
Danilyuk вне форума Ответить с цитированием
Старый 20.05.2008, 15:54   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Да, целый заголовок процедуры пропустил.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Курсовой !!! TRAITOR Фриланс 3 10.05.2008 14:29
что-то типа курсовой... Марго Фриланс 17 15.10.2007 21:48
Курсовой за $ ChiLi Фриланс 1 21.05.2007 23:28