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
сообщение 15.05.2006 18:43
Сообщение #2


Новичок
*

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

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


Вот программа. Кстати, сейчас еще думаю над удалением произвольного элемента. Поскольку элементы у меня типа boolean, то, я так считаю, поиск и удаление элемента производится путем указания его порядкового номера в списке
Код
program kurs83(input,output);
Type
TElem = boolean;
TList = ^TNode;
TNode = record
     Info: TElem;
     Next: TList
     end;
var
w:boolean;
data:char;
z:integer;
L:TList;
E:TElem;
Procedure ADD(var L: TList);
var
N: TList;
Begin
new(N);
writeln('vvedite element');
readln(data);
if data='t' then N^.Info:=true;
if data='f' then N^.Info:=false;
N^.Next:=nil;
L:=N
End;
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;
Procedure Del (Var L: Tlist);
Var r: Tlist;
Begin
writeln('kakoy element udalit?');
r:=L^.Next;
L^.Next:=L^.Next^.next;
r^.Next:=nil
End;
procedure Active(var L: TList);
var
H: TList;
P: TList;
begin
P := nil;
while L<>nil do
begin
  H := L^.Next;
  L^.Next := P;
  P := L;
  L:=H
end;
L :=P
end;
procedure Print(L: TList );
begin
write('< ');
while L <> nil DO
begin
  write( L^.Info );
  If L^.Next <> nil then write(',');
  L := L^.Next
end;
writeln(' >')
end;
begin
   w:=false;
   while w<>true do
   begin
      writeln('1-Noviy spisok');
      writeln('2-Dob elem v konec');
      writeln('3-Dob elem v nachalo');
      writeln('4-Deystvie');
      writeln('5-Print');
      writeln('6-del');
      writeln('7-Vihod');
      writeln('vvedite punkt menu:');
      readln(z);
      if z=1 then ADD(L);
      if z=2 then dobend(L,E);
      if z=3 then dobnach(L,E);
      if z=4 then Active(L);
      if z=5 then Print(L);
      if z=5 then del(L);
      if z=7 then w:=true;
   end;
end.

Так пойдет?

Сообщение отредактировано: Clon - 16.05.2006 15:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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