IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Стек, помогите изменить программу..., Здесь программа для создания и обработки линейного списка. Нужно её и
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Здесь программа для создания и обработки линейного списка. Нужно её изменить для обработки стека. А потом - для обработки очереди... Заранее спасибо.
Код

program Project2;
{$APPTYPE CONSOLE}
uses
  Windows;
type   TPtr=^TElem;
          TElem=record
                Inf:integer;
                Next:TPtr;
          end;
Var    Beg: TPtr;    Value: integer;    Rejim: byte;
Procedure Init_list(Var P: TPtr);
Begin P:=nil; end;
Procedure Add_list(Var P: TPtr);
Var PT,TPR,Prev:TPtr; Prizn: byte;
begin
   write('Input Value: ');    read(Value);
   if P=nil then begin    New(TPR);    P:=TPR;
   TPR^.Inf:=Value;    TPR^.Next:=nil;
   write('First element of list is created - ',Value);
   end
   else begin PT:=P; PREV:=nil; Prizn:=0;
   while PT<>nil do
   begin  if Value<PT^.Inf then begin
              if PREV=nil then begin
             New(TPR);    P:=TPR;    TPR^.Inf:=Value;
             TPR^.Next:=PT;  
             write('Element ',Value,' added before first element');   end

             else begin
             New(TPR);    PREV^.Next:=TPR;    TPR^.Inf:=Value;
             TPR^.Next:=PT;  
             Write('Element ',Value, ' is added between two other elements ');
   end;
   Prizn:=1; break;  
   end;
PREV:=PT; PT:=PT^.Next;
  end;
  if Prizn=0 then begin
   New(TPR); TPR^.Inf:=Value;
   TPR^.Next:=nil;    PREV^.Next:=TPR;
   write('Element ',Value, ' is added after last element');
                     end;   end;
                     end;

Procedure Del_Elem(Var P: TPtr);
Var
PT,TPR,Prev:TPtr; Prizn: byte;
begin
   if P=nil then write('list is empty!!!')
   else begin    write('Input value: ');    read(Value);
   PT:=P; PREV:=nil; Prizn:=0;
   while PT<>nil do  begin
   writeln(PT^.Inf);
if Value=PT^.Inf then begin
     if PREV<>nil then begin
    PREV^.Next:=PT^.Next;    Prizn:=1;
    write('Element is deleted '); break;
                       end
    else begin         P:=PT^.Next;   Prizn:=1;
    write('Element is deleted '); break;
         end;
         Dispose(PT);
                       end;
  PREV:=PT;  PT:=PT^.Next;
end;
if Prizn=0 then write('Element is not founded ' );
end;
end;

Procedure Display_list(P: TPtr);
Var
PT:TPtr; i: byte;
begin
i:=0; PT:=P;
if P=nil then begin write('list is empty!!!'); exit; end;
Writeln;  write(' List =[');
while PT<>nil do
begin  i:=i+1;
write(PT^.Inf,' ');  PT:=PT^.Next;
end;
write(']');  write(' Number of elements = ',i);
end;

begin
while True do
begin
writeln;
write('0 -- Exit; ');  write('1 -- Create; ');  write('2 -- Display; ');  
write('3 -- Add; ');  writeln('4 -- Delete; ');  writeln('Input option (0 -- 4)');
readln(Rejim);
case(Rejim) of
  0: begin readln; exit; end;
  1: Init_list(Beg);
  2: Display_list(Beg);
  3: Add_list(Beg);
  4: Del_Elem(Beg)
  else write('Error!!! ')
  end;   end;   end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
сообщение
Сообщение #2


Гость






Правда? А может, проще было бы дать задание? Ты думаешь, в этом есть охота разбираться? Программа совершенно нечитаема...

Кроме того, в FAQ и Поиске можно найти десятки программ для обраьотки стеков, очередей и списков. И задавая здесь этот вопрос, ты проявляешь элементарное неуважение к людям, которыми это было написано...

Ссылки - у меня в подписи...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 7.01.2006 17:29) *

Правда? А может, проще было бы дать задание? Ты думаешь, в этом есть охота разбираться? Программа совершенно нечитаема...

Кроме того, в FAQ и Поиске можно найти десятки программ для обраьотки стеков, очередей и списков. И задавая здесь этот вопрос, ты проявляешь элементарное неуважение к людям, которыми это было написано...

Ссылки - у меня в подписи...




задание: Составить программу создания и обработки стека.
а FAQ уже смотрел
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 8:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name