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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 13:16   #1
SnegovikON
 
Регистрация: 23.10.2011
Сообщений: 6
Сообщение Работа с динамическими списками

Описать программу, которая удаляет из списка L за каждым вхождением элемента Е один элемент, если такой есть и он отличен от Е.

Задача уже готова, тока я ввожу список L с клавиатуры, а нужно чтобы он читал его из текстового файла. Помогите исправить...Срочно надо...

Код:
program seven;
type pt = ^elem;
elem = record
data:string;
next : pt;
end;
procedure addItem(var list: pt; item: string);
begin
if list=nil then begin new(list);
list^.next:=nil;
list^.data:=item;
end else begin
addItem(list^.next,item);
end;
end;
procedure deleteElement(var list: pt; item : string);
var
tmp: pt;
begin
if list<>nil then begin
if list^.next<>nil then begin
if (list^.data=item) and (list^.next^.data<>item) then begin
list^.next^.data:='';
tmp:=list^.next^.next;
dispose(list^.next);
list^.next:=tmp;
end;
deleteElement(list^.next,item);
end;
end;
end;
procedure printList(list: pt);
begin
if list<>nil then begin
WriteLn(list^.data);
printList(list^.next);
end;
end;
procedure freeMemory(var list: pt);
begin
if list<>nil then begin
freeMemory(list^.next);
list^.data:='';
dispose(list);
list:=nil;
end;
end;

var
E: string;
element: string;
spisok: pt;
F:text;
begin
spisok:=nil;
Write('E=');
ReadLn(E);
WriteLn('Vvodite elementi spiska, pustaya stroka - okonchanie vvoda');
repeat
readln(element);
addItem(spisok,element);
until element='';
deleteElement(spisok,E);
WriteLn('');
printList(spisok);
freeMemory(spisok);
readln;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.12.2011 в 23:40.
SnegovikON вне форума Ответить с цитированием
Старый 20.12.2011, 15:45   #2
zhan313
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 44
По умолчанию

Код:
var f:text;

assign(f,'text.txt'); reset(f);
while not eof(f) do
  begin
     readln(f,element);
     additem(spisok,element);
  end;
close(f);
zhan313 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправьте задачу. Работа с динамическими списками SnegovikON Помощь студентам 2 20.12.2011 13:13
Работа с динамическими объектами medved6216 Общие вопросы Delphi 3 17.11.2011 19:08
Работа с динамическими картинками krikaved Общие вопросы Delphi 3 17.03.2010 23:48
Конфигуратор с динамическими данными и списками Legame Microsoft Office Excel 5 13.09.2009 17:57