Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

Линейные односвязные списки   Найти похожие ветки 

 
LaDaN   (2006-05-15 15:46) [0]

Помогите пожалуйста!!!! Аттестационная неделя, нужно по САОД написать программу на эту тему, я написал но не могу зделать последнее действи, т.е. удалить элемент у которого ОДИНАКОВЫЕ СОСЕДИ.   Помогите! Горю!
 Вото код, осталась толька эта процедура!

program primer;
uses crt;
type
point=^zap;
zap=record
inf:integer;
next:point
end;
var
first,p,q,r:point;
k,t:integer;
procedure spisok;
begin
writeln ("Viberite deystviya");
writeln ("0:vichod");
writeln ("1:vstavka 1-go elementa");
writeln ("2:vstavka v konec");
writeln ("3:vstavka s opr. mesta");
writeln ("4:pechat");
writeln ("5:udalit 1-iy");
writeln ("6:udalit posledniy");
writeln ("7:udalit s odinakovymi krainimi");
readln(k);
end;
procedure vstavka_v_nachalo;
begin
clrscr;
new(p);
writeln ("Vvedite dannie");
readln (p^.inf);
if first=nil then
begin
first:=p;
p^.next:=nil;
end
else begin
p^.next:=first;
first:=p;
end;
end;

procedure del_sosedn;
begin
 ВОТ ЗДЕСЬ НУЖНО ПОДУМАТЬ!
end;

procedure vstavka_v_konec;
begin
new(p);
writeln ("Vvedite dannie");
readln (p^.inf);
if first=nil then
first:=p
else begin
q:=first;
while q^.next<>nil do
q:=q^.next;
q^.next:=p;
p^.next:=nil;
end;
end;
procedure vstavka_opr_mesto;
begin
writeln ("Vvedite element posle kotorogo nado vstavit");
readln (t);
new(p);
writeln ("Vvedite dannie");
readln (p^.inf);
q:=first;
k:=1;
while k<t do
begin
k:=k+1;
q:=q^.next;
q^.next:=p;
p^.next:=r;
end;
end;
procedure pechat;
begin
writeln ("pechat spiska");
p:=first;
writeln ("*******************************");
if p=nil then
writeln (p^.inf)
else
while p<>nil do
begin
writeln (p^.inf);
p:=p^.next;
end;
writeln ("*******************************");
end;
procedure udalit_perviy;
begin

p:=first;
first:=first^.next;
dispose(p);

end;
procedure udalit_posledniy;
begin
q:=first;
r:=first;
while q^.next<>nil do
begin
r:=q;
q:=q^.next;

dispose (p);
r^.next:=nil;
end;
end;
begin

first:=nil;
repeat
spisok;
if k=1 then vstavka_v_nachalo;
if k=2 then vstavka_v_konec;
if k=3 then vstavka_opr_mesto;
if k=4 then pechat;
if k=5 then udalit_perviy;
if k=6 then udalit_posledniy;
if k=7 then del_sosedn;
until k=0;

end.


 
MBo ©   (2006-05-15 15:52) [1]

что это означает?
Например, в списке
Head-1-2-3-5-3-7...
нужно найти и удалить 5?

Да и реализованные процедуры какие-то сомнительные...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
1-1146061673
Unnamed Player
2006-04-26 18:27
2006.06.04
ScrollBy


15-1147085301
BAngel
2006-05-08 14:48
2006.06.04
Скачать делфи


3-1144992872
gvv
2006-04-14 09:34
2006.06.04
коннект к ДБФ файлам при помощи АДО D5


4-1142155729
Volf_555
2006-03-12 12:28
2006.06.04
Как закрыть окно Microsoft Internet Explorer?


15-1147520526
LexxX
2006-05-13 15:42
2006.06.04
Восприятие музыки. Громкость





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский