Один из часто встречающихся видов списка стек — список, в котором все операции включения и извлечения, удалением из списка, элементов выполняются только с одного края. механизм функционирования стека отражён в его названии «lifo» (last in first out — последним вошёл, первым вышел, подобно патронам в обойме). следовательно, любой элемент не может быть извлечён и удалён из стека раньше, чем будут извлечены все элементы, помещённые в стек позднее него. составить программу, реализующую функционирование стека. стек оформить как массив.
275
392
Ответы на вопрос:
Option explicit const n = 50 'максимальная емкость стека dim lifo(1 to n) as variant dim ptr as integer 'указатель на вершину стека, моделируемого lifo dim overflow as boolean dim emptylifo as boolean sub push(elem as variant) 'добавляет элемент на вершину стека if ptr < n then ptr = ptr + 1 lifo(ptr) = elem overflow = false emptylifo = false else overflow = true end if end sub sub pop(elem as variant) 'возвращает элемент с вершины стека и удаляет его из стека if ptr > 0 then elem = lifo(ptr) ptr = ptr - 1 end if emptylifo = (ptr = 0) end sub sub main() ' пример работы со стеком - перестановка букв в словах строки. ' не меняя порядка слов в строке, переставить в каждом слове буквы в обратном порядке. ' слова разделяются ровно одним пробелом. dim s as string, s1 as string, i as integer, e as string s = sheets("лист1").cells(1, 1).value if len(s) = 0 then msgbox "нет входной строки" exit sub end if emptylifo = true overflow = false s1 = "" for i = 1 to len(s) e = mid(s, i, 1) 'очередной символ if e < > " " then push e else s1 = s1 + " " do while not emptylifo pop e s1 = s1 + e loop end if next i s1 = s1 + " " do while not emptylifo pop e s1 = s1 + e loop s1 = trim(s1) sheets("лист1").cells(2, 1).value = s1 end sub
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
мир27613.03.2023 15:54
-
kuzmina999906.12.2022 13:28
-
help27607.09.2021 22:14
-
анна217021.01.2021 18:34
-
Виктория70811.12.2021 19:53
-
svetlanakorneev21.03.2021 18:20
-
Sachak9523.12.2021 03:41
-
valentingordien23.08.2020 06:51
-
Alexa188802.05.2023 07:36
-
ШиноаХиираги14.08.2021 15:45
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.