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

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

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

> СТЕК, сортировка стека
Dunkel_L
сообщение 22.11.2006 2:34
Сообщение #1


Новичок
*

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

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


Всем доброе время суток smile.gif
Вот есть стек
 
program l_2;

Uses CRT;
type ptr=^node;
     node=record
        info:integer;
        link:ptr;
     end;
var
   top,q,r:ptr;
   a,b,c:word;

procedure Push(n:integer);
var
   p:ptr;
begin
    new(p);
    p^.info:=n;
    p^.link:=top;
    top:=p;
end;
function Pop:integer;
var
   l:ptr;
begin
   if top <> nil then
   begin
      l:=top^.link;
      Pop:=top^.info;
      dispose(top);
      top:=l;
   end
   else begin
      Writeln('Ввод не верен');
      Pop:=0;
   end;
end;
procedure menu;
begin
   writeln;
   writeln;
   write('   Введите команду и нажмите ВВОД:   ');
   read(a);
   if a=1 then
      begin
         write('   Введите число:  ');
         readln(b);
         Push(b);
         menu;
      end;
   if a=2 then
      begin
         writeln;
         writeln('   Стек был очищен' );
         readln(c);
         if c=1 then
         begin
            write('   Введите число:  ');
            readln(b);
            Push(b);
         end;
         if c=2 then
         begin
            write(pop);
         end;
         menu;
      end;
   if a=3 then
      begin
         q:=top;
         while q<>nil do
         begin
            write(q^.info,  ' ');
            q:=q^.link;
         end;
         menu;
      end;
   if a=4 then
      begin
         while top<>nil do
         begin
            r:=top^.link;
            dispose(top);
            top:=r;
         end;
      end;
end;
begin
clrscr;
   writeln('   Ввод числа стека:               нажмите 1 ');
   writeln('   Удаление числа из стека:        нажмите 2 ');
   writeln('   Вывод стека на экран:           нажмите 3 ');
   writeln('   Выход из программы:             нажмите 4 ');
menu;
end.


Нужна любая сортировка по возростанию.HELP!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 

- Текстовая версия 20.07.2025 12:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"