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

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

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

> Чуть переделать действие
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 25.04.2024 22:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name