Главная страница
    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.037 c
15-1146904170
IronHawk
2006-05-06 12:29
2006.06.04
XML &amp; XSLT шаблоны, где глюк в стыковке?


2-1147930384
zorik
2006-05-18 09:33
2006.06.04
TPageControl. Скрыть закладки


2-1148114661
BAngel
2006-05-20 12:44
2006.06.04
Файлы


2-1147699621
Ironman83
2006-05-15 17:27
2006.06.04
Выборки через TIBDataset


2-1147970308
Freeek
2006-05-18 20:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский