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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2017, 16:06   #1
Андрей3636
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 11
По умолчанию Из элементов двух стеков с одинаково упорядоченными элементами собрать новый стек с упорядоченными элементами, изменив связи между элементами стеков (не выделяя новую память).

Из элементов двух стеков с одинаково упорядоченными элементами собрать новый стек с упорядоченными элементами, изменив связи между элементами стеков (не выделяя новую память).

Код:
Program STACK;
  const
     max_st=50;
const
    max_st=50;
  var
    st,st2: array[1..max_st] of integer;
    n:integer;
  function empty:boolean;  {Проверка стека на наличие элементов в нем}
    begin
        empty:=n=0
    end;
  procedure push(a:char);  {Поместить элемент в стек}
    begin
      inc(n);
      st[n]:=a;
    end;
  procedure pop(var a:char);  {Извлечь элемент из стека}
    begin
      a:=st[n];
      dec(n);
    end;
  function full:boolean;   {Проверка на переполнение}
    begin
      Full:=n=max_st
    end;
  procedure stacktop(var a:char);  {Узнать верхний элемент}
    begin
      a:=st[n];
    end;
  begin  {Основная программа, нужно написать но не получается }
     
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 31.10.2017 в 16:16.
Андрей3636 вне форума Ответить с цитированием
Старый 31.10.2017, 16:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Андрей3636 Посмотреть сообщение
собрать новый стек с упорядоченными элементами, изменив связи между элементами стеков (не выделяя новую память).
у Вас выбрана неверная реализация стека (через массив).
очевидно, что тут ни о каких "связях между элементами стеков" речи быть не может.
нужно делать связные списки и вот там уже действительно есть связи, которые можно изменять.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.10.2017, 16:43   #3
Андрей3636
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
у Вас выбрана неверная реализация стека (через массив).
очевидно, что тут ни о каких "связях между элементами стеков" речи быть не может.
нужно делать связные списки и вот там уже действительно есть связи, которые можно изменять.
Если вы в этом понимаете, к вам огромная просьба помочь мне
Андрей3636 вне форума Ответить с цитированием
Старый 31.10.2017, 17:29   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Андрей3636 Посмотреть сообщение
Если вы в этом понимаете, к вам огромная просьба помочь мне
ну, так пишите код, тогда можно будет помочь.
А пока непонятно, чем можно помочь то...
Делать вместо Вас я задание не буду.

А Вам нужно открыть книжку про структуры данных. почитать про связные списки. написать свою реализацию стека на динамическом связном списке. потом уже можно приступать к собственно объединению двух стеков.
Можете подсмотреть реализацию тут - Лабораторная работа № 6. "Стек" (там, где "моделирование стека на основе односвязного списка").
напишите код, который создаёт два упорядоченных стека, пишите, приводите код, будем смотреть, куда двигаться дальше.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.10.2017, 18:53   #5
Андрей3636
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, так пишите код, тогда можно будет помочь.
А пока непонятно, чем можно помочь то...
Делать вместо Вас я задание не буду.

А Вам нужно открыть книжку про структуры данных. почитать про связные списки. написать свою реализацию стека на динамическом связном списке. потом уже можно приступать к собственно объединению двух стеков.
Можете подсмотреть реализацию тут - Лабораторная работа № 6. "Стек" (там, где "моделирование стека на основе односвязного списка").
напишите код, который создаёт два упорядоченных стека, пишите, приводите код, будем смотреть, куда двигаться дальше.
Это и есть лаба моя полностью, только я не могу понять как там может что-то быть не правильно
Андрей3636 вне форума Ответить с цитированием
Старый 31.10.2017, 19:09   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Со стеком на базе массива не получится объединения без выделения памяти. Там второй пример на база односвязного списка как раз твой
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.10.2017, 21:43   #7
Андрей3636
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 11
По умолчанию

если тебе не тяжело скинь код, потому что стеки я не понял вообще
Андрей3636 вне форума Ответить с цитированием
Старый 01.11.2017, 10:47   #8
AlexMas
Пользователь
 
Аватар для AlexMas
 
Регистрация: 30.05.2012
Сообщений: 69
По умолчанию

Вам шашечки или ехать?
Или перефразируя: Вы учитесь чтобы научиться или чтобы корочка была?
Если первый вариант: читайте, думайте и пишите, Вам выше подсказали где, что и как.
Если второй: то в раздел фриланса.
AlexMas вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Алия13 Помощь студентам 7 18.12.2016 16:08
Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами AlexQQ Помощь студентам 0 29.05.2013 19:38
найти сумму элементов массива,расположенных между первым и вторым отрицательными элементами Кристюша5 Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2012 16:06
Найти сумму элементов между первым и вторым отрицательным элементами. Что у меня неправильно? GreenMan Паскаль, Turbo Pascal, PascalABC.NET 2 26.02.2012 13:59
Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами Fitch573 Помощь студентам 4 09.01.2012 18:04