Есть ответ 👍

Один из часто встречающихся видов списка стек — список, в котором все операции включения и извлечения, удалением из списка, элементов выполняются только с одного края. механизм функционирования стека отражён в его названии «lifo» (last in first out — последним вошёл, первым вышел, подобно патронам в обойме). следовательно, любой элемент не может быть извлечён и удалён из стека раньше, чем будут извлечены все элементы, помещённые в стек позднее него. составить программу, реализующую функционирование стека. стек оформить как массив.

275
392
Посмотреть ответы 2

Ответы на вопрос:


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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS