18.11.2010, 23:21 | #1 (permalink) |
Member
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Динамические структуры и записи.
Код:
Program SPISOK; uses crt; Type color1=(red,white,black); M=record name:string[15]; color:color1; price:word; kolvo:word; wide:byte; country:string[15]; end; FF=file of M; Ptr=^Elem; elem=record inf:M; next:ptr; end; procedure Add_Beg (Var FirstPtr:Ptr; Val:M); Var k:ptr; i,j:Byte; q:color1; x:M; Begin new(k); For i:=1 to N do begin WriteLn ('Vvedite name'); ReadLn (x[i].name); WriteLn ('Vvedite color: 0 - red; 1 - white; 2 - black;'); ReadLn (j); x[i].color:=color1(j); WriteLn ('Vvedite price'); ReadLn (x[i].price); WriteLn ('Vvedite kolvo'); ReadLn (x[i].kolvo); WriteLn ('Vvedite wide'); ReadLn (x[i].wide); WriteLn ('Vvedite country'); ReadLn (x[i].country); WriteLn; WriteLn; end; k^.inf:=M; k^.next:=FirstPtr; FirstPtr:=k; end; Procedure Add_End (FirstPtr:Ptr; Val:M; var LastPtr:ptr); Var k:ptr; begin k:=firstPtr; While k^.next<>nil do k:=k^.next; LastPtr:=k; New(k); LastPtr^.next:=k; For i:=1 to N do begin WriteLn ('Vvedite name'); ReadLn (x[i].name); WriteLn ('Vvedite color: 0 - red; 1 - white; 2 - black;'); ReadLn (j); x[i].color:=color1(j); WriteLn ('Vvedite price'); ReadLn (x[i].price); WriteLn ('Vvedite kolvo'); ReadLn (x[i].kolvo); WriteLn ('Vvedite wide'); ReadLn (x[i].wide); WriteLn ('Vvedite country'); ReadLn (x[i].country); WriteLn; WriteLn; end; k^.inf:=Val; LastPtr:=k; end; procedure creat_beg (var n:byte; var firstptr:ptr); var i,j:Byte; q:color1; Begin firstptr:=nil; for i:=1 to n do begin begin WriteLn ('Vvedite name'); ReadLn (x[i].name); WriteLn ('Vvedite color: 0 - red; 1 - white; 2 - black;'); ReadLn (j); x[i].color:=color1(j); WriteLn ('Vvedite price'); ReadLn (x[i].price); WriteLn ('Vvedite kolvo'); ReadLn (x[i].kolvo); WriteLn ('Vvedite wide'); ReadLn (x[i].wide); WriteLn ('Vvedite country'); ReadLn (x[i].country); WriteLn; WriteLn; end; add_end(firstptr,x); end; end; procedure print_list(var firstptrtr); var q:ptr; begin q:=firstptr; while q<>nil do begin Write(q^.inf.name); case q^.inf.color of red:writeln('red'); white:writeln('white'); black:writeln('black'); end; write(q^.inf.price); write(q^.inf.kolvo); write(q^.inf.wide); write(q^.inf.country); q:=q^.next; end; end; |
18.11.2010, 23:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вот вам темы, которые имеют что то схожее с вашей темой Динамические структуры данных Динамические структуры данных, Паскаль |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|