Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 15:47   #1
S1l3nce
Новичок
Джуниор
 
Регистрация: 22.09.2011
Сообщений: 1
По умолчанию Pascal Stack

Stack:

Код:
      program Saraksts;
      uses crt;
          const MaxSize = 500;
          type Count = 0 .. MaxSize;
              DataType = string;
              KeyType = integer;
              Stdelement = record
              data: DataType;
              key: KeyType
          end;
      {-------------------------------------------------------------------------------}
          NodePointer = ^Node;
              StackInstance = record
                  top: NodePointer;
                  n: Count
              end;
              Stack = ^StackInstance;
       
       
      {-------------------------------------------------------------------------------}
       
              Node = record
                  el: StdElement;
                  next: NodePointer
              end;
      {-------------------------------------------------------------------------------}
      var
          Elem:StdElement;
          S:Stack;
          m:integer;
          created,found:boolean;
          j,x,i:integer;
          c:DataType;
          burts:integer;
          tkey:KeyType;
      label MENU, BEIGAS;


Procedure Push

      procedure Push (var S: Stack; e: StdElement);
       
          var p: NodePointer;
              j:integer;
       
              begin
       
               readln(i);
       
              if not Full(S) then with S^ do
                  begin
                  new(p); p^.el:= e;
                  if Empty(S) then {steks ir tukss}
                      begin top:= p; p^.next:= nil end
                  else {steks nav tukss}
                      begin {izkarto saites}
                  p^.next:= top; top:= p;
       
       
      n:= n + 1
      end;
       
      end;


Procedure Pop

procedure Pop (var S:Stack; var e: StdElement);

var q,p: NodePointer;
begin
if not Empty(S) then with S^ do
begin


e:= top^.el; p:= top; top:= top^.next;

dispose (p); n:= n -1
end;
end;
Вопрос:
1) Как реализовать ввод 10 елементов (random)
2) Kak их вывести




Отрывок с меню

Код:
          6: begin
              Push(S,Elem);
              writeln('Jauns elements veiksmigi pievienots sarakstam.');
              writeln;
              writeln('Nospiediet ENTER, lai dotos uz Izvelni.');
              readln;
              readln;
              goto MENU;
              end;

7: begin
        Pop(S,Elem);
        writeln;
        writeln('Nospiediet ENTER, lai dotos uz Izvelni.');
 
        readln;
        readln;
        goto MENU;
        end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.09.2011 в 15:53.
S1l3nce вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STACK Lawliet32 C# (си шарп) 2 31.03.2011 14:04
stack and spisok for pascal MishanyaZWER Помощь студентам 2 03.12.2010 18:29
Stack overflow GaLiof Помощь студентам 7 12.12.2009 12:56
Stack OverFlow Tanya2008 Общие вопросы Delphi 6 11.05.2009 15:16
STACK и QUEUE vo_sa Общие вопросы C/C++ 3 25.03.2009 11:45