15.11.2010, 21:39 | #1 (permalink) |
Member
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. Динамические списки.
Код:
program SPZD; uses crt; Type Ptr=^Elem; Elem=Record Inf:real; Next:Ptr; end; var N,i:byte; Fl,FL1:boolean; Q,max:real; k,w,z,FirstPtr,ZadPtr:Ptr; Procedure Add_beg (var firstptr:ptr; val:real); Var k:ptr; begin new(k); k^.inf:=val; k^.next:=firstptr; firstptr:=k; end; Procedure Add_End (FirstPtr:Ptr; Val:Real; var LastPtr:ptr); Var k:ptr; begin k:=firstPtr; While k^.next<>nil do k:=k^.next; LastPtr:=k; New(k); LastPtr^.next:=k; k^.inf:=Val; LastPtr:=k; end; procedure creat_beg (var n:byte; var firstptr:ptr); var i:byte; r:real; begin firstptr:=nil; for i:=1 to n do begin writeln ('vvedite chislo: '); readln (r); add_beg(firstptr,r); end; end; procedure print_list (firstptr:ptr); var k:ptr; begin k:=firstptr; while (k<>nil) do begin writeln (k^.inf:5:2); k:=k^.next; end; end; procedure val_inf (firstptr:ptr; var zadptr:ptr; Var Fl:Boolean); Var k:ptr; begin k:=firstptr; Fl:=true; While (k<>nil) and Fl do begin If (k^.inf=0) then begin ZadPtr:=k; Fl:=false; end; k:=k^.next; end; end; BEGIN clrscr; WriteLn ('Vvedite N'); ReadLn (N); Creat_Beg (N, FirstPtr); Print_List (FirstPtr); Val_Inf (FirstPtr,ZadPtr,Fl); if (Fl) then begin WriteLn ('Net 0 elementa. Sortirovka:'); Fl:=true; While Fl do begin Fl:=false; k:=firstptr; {While k^.next<>nil do} For i:=1 to n-1 do begin If k^.inf>k^.next^.inf then begin Q:=k^.inf; k^.inf:=k^.next^.inf; k^.next^.inf:=Q; Fl:=true; end; k:=k^.next; end; Print_List (FirstPtr); end; end else begin WriteLn ('Est 0 element. Poisk MAX'); max:=k^.inf; w:=k; While w<>zadptr do begin if w^.inf>max then begin max:=w^.inf; z:=w; end; w:=w^.next; end; WriteLn ('MAX: ', z^.inf:5:2); end; ReadLn; end. |
15.11.2010, 21:39 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Если вы еще не читали похожие обсуждения - сделайте это Динамические структуры данных Динамические структуры данных, Паскаль Pascal,ссылки, списки |
16.11.2010, 19:12 | #2 (permalink) |
Member
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
все, спасибо, вопрос снят. нашел ошибку.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|