IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Чуть переделать действие
Clon
сообщение 15.05.2006 18:04
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Вот я составил прогу, основываясь на материалах с этого форума по спискам.
Вот только в эти две процедуры мне надо переделать так, чтобы они добавляли элементы перед и после ЛЮБОГО элемента из списка соответственно, а не только в начало и в конец. Помогите, если не трудно
Procedure Dobnach(var L: TList; E:TElem); {Добавление элемента в начало списка}
var
N: TList;
Begin
new(N);
writeln('vvedite element');
readln(data);
if data='t' then E:=true;
if data='f' then E:=false;
N^.Info:=E;
N^.Next:=L;
L:=N
end;
procedure Dobend(L: TList; E: TElem);{Добавление элемента в конец списка}
begin
while L^.Next<>nil do L := L^.Next;
new(L^.Next );
L:=L^.Next;
writeln('vvedite element');
readln(data);
if data='t' then E:=true;
if data='f' then E:=false;
L^.Info:=E;
L^.Next:=nil
end;


Тегами пользуемся...

Сообщение отредактировано: volvo - 2.11.2006 20:19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Clon
сообщение 17.05.2006 19:54
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Пытался вчера сделать удаление для любого элемента из списка, но что-то фигня какая-то выходит. Почему-то постоянно стирает как и нужный элемент и все те, что после него.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.05.2006 22:36
Сообщение #3


Гость






Цитата(Clon @ 17.05.2006 19:54)
Пытался вчера сделать удаление для любого элемента из списка, но что-то фигня какая-то выходит.
blink.gif У меня вот что вышло:
Procedure DelAfter(Var L: Tlist; X: integer);
Var
T, r: Tlist;
Begin

if X = 0 then begin
T := L;
L := L^.next;
dispose(T);
end
else begin

r := L;
while (r^.next <> nil) and (X > 1) do begin
r := r^.next; Dec(X)
end;
if X = 1 then begin

T := r^.next;
if T <> nil then r^.next := T^.next
else r^.next := T

end;

end;

End;

...
{ Вызов: }
case z of
...
6 :
begin
write('delete element #'); readln(X);
DelAfter(L, X - 1);
end;
...
end;
Вроде, работает...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 6:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"