Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
3 / 3 / 2
Регистрация: 21.10.2009
Сообщений: 77

Реализовать процедуры работы со стеком на последовательном распределении памяти

01.02.2010, 11:36. Показов 3725. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите кто может.
Задание

1. На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти:

- Создание пустого стека

- Добавление элемента на вершину стека

- Удаление элемента с вершины стека

Процедуры, реализующие операции добавления и удаления элемента должны разумным образом обрабатывать ситуации переполнения и нехватки (схемы (2а), (3а)). Стек реализовать, используя одномерный массив и переменную типа integer (указатель на вершину стека).

2. Провести вычислительный эксперимент с полученными процедурами

Получить свой вариант файла, содержащего предложения на русском языке в кодировке DOS (Нажмите здесь). Номер варианта соответствует Вашему номеру в журнале академической группы.

a) Используя результат задания 1 запрограммировать получение нового текстового файла, в котором все слова во всех предложениях записаны в обратном порядке. В программе установить максимальный размер стека равным 10.

b) Используя результат задания 1 запрограммировать получение нового текстового файла, в котором в котором буквы каждого слова записаны в обратном порядке. В программе установить максимальный размер стека равным 5.

В процессе работы программы должна выводить текущее состояние стека (после каждой операции добавления, извлечения, очистки).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2010, 11:36
Ответы с готовыми решениями:

Реализовать процедуры работы со стеком на последовательном распределении памяти
Ребят, нужна помощь!!! Так вот, у меня проблема! всегда пишет что стек переполнен, а из файла просто стирает всю инфу. НЕ разбираюсь в...

Реализовать процедуры работы со стеком на последовательном распределении памяти
На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти: - Создание пустого...

Работа со стеком на последовательном распределении памяти
1. Создание пустого стека 2. Добавление элемента на вершину стека 3. Удаление элемента с вершины стека Работу программы...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.02.2010, 11:43
Прежде чем постить все задание полностью, прочитали бы эту тему.
https://www.cyberforum.ru/pascal/thread77419.html
Вот когда разберетесь, напишете программу и появятся конкретные вопросы, милости просим, иначе только во Фриланс.
1
3 / 3 / 2
Регистрация: 21.10.2009
Сообщений: 77
01.02.2010, 23:29  [ТС]
Спасибо...буду разбираться)))
0
3 / 3 / 2
Регистрация: 21.10.2009
Сообщений: 77
02.02.2010, 19:06  [ТС]
Помогите...нужно написать на языке программирования Pascal процедуры работы со стеком на последовательном распределении памяти:

- Создание пустого стека

- Добавление элемента на вершину стека

- Удаление элемента с вершины стека

Процедуры, реализующие операции добавления и удаления элемента должны разумным образом обрабатывать ситуации переполнения и нехватки (схемы (2а), (3а)). Стек реализовать, используя одномерный массив и переменную типа integer (указатель на вершину стека).

Никак не могу разобраться в этом...создание пустого стека s пишется так???
stack<int> s;

Добавлено через 11 минут
Или же вот так??

Pascal
1
2
3
4
5
6
7
8
procedure CreateStack ( var StackHead: Stack); 
function StackIsClear( var StackHead: Stack ): Boolean; 
begin 
StackHead:= nil 
end; 
begin 
StackIsClear:= ( StackHead= nil ) 
end;
Добавлено через 3 минуты
А добавление элемента в вершину стека так делается?

Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure IncludeInStack( var StackHead: Stack; NewElem: TypeOfElem ); 
var 
  ServiceVar: Stack; 
begin 
  {создание нового элемента} 
&nbspnew( ServiceVar ); 
  ServiceVar^.Elem:= NewElem; 
  {созданный элемент сделать вершиной стека} 
  ServiceVar^.NextElem:= StackHead; 
  StackHead:= ServiceVar 
end;
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
02.02.2010, 19:06
nelson1992, читайте FAQ раздела. Там не мало информации о стеках и их использовании.
0
3 / 3 / 2
Регистрация: 21.10.2009
Сообщений: 77
02.02.2010, 19:32  [ТС]
И удаление элемента...если всё правильно теперь только мне всё это надо теперь соеденить в одну программу.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure SelectFromStack( var StackHead: Stack; var Result: TypeOfElem ); 
var 
  ServiceVar: Assoc; 
begin 
  if StackHead <> nil then begin 
{выбор элемента из вершины} 
    Result:= StackHead^.Elem; 
    {запоминание ссылки на старую вершину} 
    ServiceVar:= StackHead; 
    {исключение из стека и уничтожение элемента} 
    StackHead:= StackHead^.NextElem; 
    dispose( ServiceVar ) 
  end 
end;
Добавлено через 22 минуты
Подскажите...правильно ли у меня написано???И помогите собрать всё в одну программу...
0
 Аватар для Eugeniy
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
02.02.2010, 20:16
Процедура написана правильно.
А в чем у Вас проблема?
Создайте модуль, где у будут все подпрограмы по работе со стеком.
И всё. Смело применяйте их где Вам нужно!

Добавлено через 4 минуты
Хотя нет, чего то у Вас слишком много всего надо так
Pascal
1
2
3
4
5
6
7
8
procedure Pop (var s: stack);
 var p: stack;
 begin
   if s = nil then begin
     writeln(' Pop: Стек пустой'); halt
   end;
   p:=s; s:= s^.next; dispose(p)
 end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2010, 20:16
Помогаю со студенческими работами здесь

Реализовать стандартный набор операций со стеком на основе динамического распределения памяти
Реализовать программу, выполняющую стандартный набор операций со стеком на динамического распределения памяти.: проверку пустоты стека...

Реализовать операции работы со стеком, построенным на основе динамических структур
В общем начал только-только разбираться со стеками, очередями и т.п. Смысл, то понятен, но вот реализация (т.к. я только начинаю)...

Реализовать операции работы со стеком, построенным на основе динамических структур. Распечатать символы введен
Реализовать операции работы со стеком, построенным на основе динамических структур. Распечатать символы введенной пользовательской строки в...

Реализация стека на массиве и динамическом распределении памяти
всем привет, дано такое задание: Используя стек, решить следующую задачу. Напечатать каждое слово текстового файла Т в обратном...

Ошибка при распределении памяти: realloc(): invalid next size
Добрый день. Написал программу с динамическим массивом. Нужно для него сделать динамическое увеличение памяти, если оно нужно, однако...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru