Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 18.11.2010, 23:21   #1 (permalink)
citrus
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;
citrus вне форума   Ответить с цитированием

Старый 18.11.2010, 23:21
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вот вам темы, которые имеют что то схожее с вашей темой

Динамические структуры данных
Динамические структуры данных, Паскаль

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:54.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.