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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 19:30   #1
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию delphi (двусвязный неупорядоченный список)

вообщем половину я написал, половину нет, прошу помочь, вот текст задачи:
написать след процедуры:
-добавление узла в список(написано)
-вывод содержимого списка на экран(написано)
-поиск узлов с заданным значением(примерно знаю, но не могу написать)
-сохранения содержимого списка в текстовый файл(хз как)
-чтение содержимого списка из текстового файла(тож хз)
-удаление узла с заданным значением(написано)
-очистка списка(написано)

вот, то что я написал(консоль,не сам проект, а CircList)

PHP код:
unit CircList;
Interface
Type
 
List=^NODE;
 
Node=record
  Info
:Byte;
  
Next:List
 
End;

var
 
Head:List;

Procedure AddNode(var H:List; X:Byte);
Procedure OutCircle(H:List);
Procedure ClearList(var H:List);
Procedure delNode (var H:dlistN:integer);



Implementation


Procedure AddNode
(var H:List; X:Byte);
Var
  
p:list;
begin
new(p);
p^.key:=x;
if 
nil then
  begin
  H
:=p;
  
H^.next:=nil;
  
H^.prev:=nil;
  
end
else
begin
p
^.next:=h;
h^.prev:=p;
h:=s;
end;
end;


Procedure OutCircle(H:List);
var
 
p:List;
 
begin
  
if H=Nil then
   Writeln
('List Is EMPTY !!!')
  else
  
begin
   p
:=h;
   
repeat
    Writeln
(p^.info);
    
p:=p^.next
   until p
=H;
  
end;
end;

Procedure ClearList(var H:List);
var
 
p,tmp:List;
 
begin
  
if H=Nil then
   Writeln
('List Is EMPTY !!!')
  else
  
begin
   p
:=h^.next;    { Удаление элементов списканачиная со второго узла }
   while 
p<>do
   
begin
    tmp
:=p;
    
p:=p^.next;
    
dispose(tmp)
   
end;
   
dispose(H);    { Удаление головного узла }
   
H:=nil;        { После удаления узла значение ссылки произвольноезадаем NIL }
 
end;
end;

procedure delNode (var H:dlistN:integer);
var
i:integer;
l,r:dlist;
begin
  q
:=h;
  
i:=1;
  while (
q<>nil) and (i<n) do
  
begin
    q
:=q^.next;
    
i:=i+1;
  
end;
  if 
q=nil then writeln ('NO one SEARCH! ')
  else
  
begin
    l
:=q^.prev;
    
r:=q^.next;
    if 
l<>nil  then l^.next:=r
    
else
    
h:=r;
    if 
r<>nil then r^.prev:=l
    dispose
(q);
  
end;
end;


End
KaZaaM вне форума Ответить с цитированием
Старый 26.05.2009, 21:28   #2
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию

отпишитесь хоть как нить, если даже не можете помочь, а то как будто в пустую пишу
KaZaaM вне форума Ответить с цитированием
Старый 27.05.2009, 06:36   #3
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Вот я писал такую програмку. Но просто подарить ее не могу, т.к. убил на нее много времени
Вложения
Тип файла: rar P.rar (166.3 Кб, 43 просмотров)
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 27.05.2009, 20:09   #4
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию

ну блин, готовая оконка у меня тоже есть
KaZaaM вне форума Ответить с цитированием
Старый 27.05.2009, 20:13   #5
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию

короче, видимо тут помощи ждать......все только за деньги(
KaZaaM вне форума Ответить с цитированием
Старый 27.05.2009, 20:15   #6
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Дак у меня и код есть, надо.....

Кстати, для тестирования записи и чтения из файла нада создать в томже каталоге что и ехе файл вот такие файлы:
Chtenie.txt - файл, откуда считывается
Zap.txt - файл, куда записывается

Ну а если хочешь могу продать эту задачу (конечно же код, а не ехе файл).
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 27.05.2009, 21:11   #7
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию

да нет, спасибо, я не миллионер
KaZaaM вне форума Ответить с цитированием
Старый 27.05.2009, 21:22   #8
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

Цитата:
Сообщение от KaZaaM Посмотреть сообщение
да нет, спасибо, я не миллионер
неужели миллион запросил
diliana вне форума Ответить с цитированием
Старый 27.05.2009, 21:35   #9
KaZaaM
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 52
По умолчанию

да просто легче самому написать, мне уже только поиск улов с заданным значением остался
KaZaaM вне форума Ответить с цитированием
Старый 27.05.2009, 22:03   #10
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

Цитата:
да просто легче самому написать, мне уже только поиск улов с заданным значением остался
Я на паскале это так представляю

Код:
funсtion Search () : .....;

begin
  Search:= nil;
   ..........{проход по списку}
   Search:= x; //найден 
    ....
    иначе writeln('не найден');
    .....
    иначе writeln('список пуст');
end.
diliana вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двусвязный список kruserg Паскаль, Turbo Pascal, PascalABC.NET 1 28.04.2009 10:37
[Pascal]Двусвязный кольцевой список, несколько процедур Fuaran8989 Фриланс 1 25.05.2008 20:22