Содержание
- 2. Стек Стек – это линейная структура данных, в которой добавление и удаление элементов возможно только с
- 3. Пример задачи Задача: вводится символьная строка, в которой записано выражение со скобками трех типов: [], {}
- 4. Решение задачи со скобками Алгоритм: в начале стек пуст; в цикле просматриваем все символы строки по
- 5. Реализация стека (массив) Структура-стек: const MAXSIZE = 100; struct Stack { char data[MAXSIZE]; // стек на
- 6. Реализация стека (массив) char Pop ( Stack &S ) { if ( S.size == 0 )
- 7. Программа void main() { char br1[3] = { '(', '[', '{' }; char br2[3] = {
- 8. Обработка строки (основной цикл) for ( i = 0; i { for ( k = 0;
- 9. Реализация стека (список) Добавление элемента: Структура узла: struct Node { char data; Node *next; }; typedef
- 10. Реализация стека (список) Снятие элемента с вершины: char Pop (PNode &Head) { char x; PNode q
- 11. Вычисление арифметических выражений a b + c d + 1 - / Как вычислять автоматически: Инфиксная
- 12. Запишите в постфиксной форме (32*6-5)*(2*3+4)/(3+7*2) (2*4+3*5)*(2*3+18/3*2)*(12-3) (4-2*3)*(3-12/3/4)*(24-3*12)
- 13. Вычисление выражений Постфиксная форма: a b + c d + 1 - / Алгоритм: взять очередной
- 14. Получение постфиксной формы из скобочной с помощью стека Во-втоpых, получение обpатной польской записи из исходного выpажения
- 15. Получение постфиксной формы из скобочной с помощью стека Пpосматpивается исходная стpока символов слева напpаво, опеpанды сразу
- 16. #include #include #include using namespace std; int calc(string r){…} string revpol(string s){…} main(){ string s,r; getline(cin,s);
- 17. string revpol(string s){ string r="",p="()+-*/^"; stack v; int j=0,k,q[7]={0,1,2,2,3,3,4}; for(auto e:s){ if(e>='0'&&e else { if(v.empty()||e=='(') v.push(e);
- 18. int calc(string r){ // для однозначных операндов >=0 stack v;int a,b; for(auto e:r){ if(e>='0‘ and e
- 20. Скачать презентацию