Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не выводит пробелы! В общем дано задание: Скопировать из файла F1 в файл F2 строки, кроме той строки, в которой больше всего гласных букв. Напечатать номер этой строки 2. Определить номер слова в котором больше всего... https://www.cyberforum.ru/ cpp-beginners/ thread1471490.html Удалить из файла информацию о студентах со средним баллом менее 3.5 C++
Здравствуйте. Создать двоичный файл с информацией об успеваемости студентов некоторого факультета за все время обучения. Добавить в файл поле «Средняя успеваемость». Удалить из файла информацию о...
C++ Исправить ошибку error C2228:выражение слева от ".leght" должно представлять класс, структуру или объединение Помогите исправить ошибку 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication23\consoleapplication23\исходный код.cpp(76): error C2228: выражение слева от ".leght" должно... https://www.cyberforum.ru/ cpp-beginners/ thread1471468.html C++ Косинус угла между векторами https://www.cyberforum.ru/ cpp-beginners/ thread1471463.html
Помогите! Есть метод класса Anqle //считает величину косинуса угла между векторами template<class Type> double clVector<Type>::Angle(clVector a) { double step1=0, step2=0, sum1=0, sum2=0,...
C++ Построить блок-схему функции
Даны действительные числа a,b. Получить u=min(a, b), v=min(ab, a+b), d=min(u+v 2 , 3.1416). #include <iostream> #include <iomanip> #include <time.h> using namespace std; int main() {...
C++ Скалярное произведение https://www.cyberforum.ru/ cpp-beginners/ thread1471451.html
Взываю о помощи! в программе есть функция Skal, которая вычисляет скалярное произведение 2х векторов. Вроде все сделала правильно, но работает она каждый раз по разному: иногда считает все и...
C++ Шаблон класса "Бинарное дерево" с насследованием https://www.cyberforum.ru/ cpp-beginners/ thread1471441.html
Здравствуйте! Есть задание сделать шаблон класса "Бинарное дерево". #include <iostream> #include <conio.h> using namespace std; template <class X> class Node{ X value;
C++ Для каждой строки матрицы найти сумму ее элементов
Дана матрица MxN. для каждой строки матрицы найти сумму ее элементов
C++ Алгоритм написания калькулятора для: булевых функций,стрелки пирса и штриха шеффера https://www.cyberforum.ru/ cpp-beginners/ thread1471407.html
Нужна помощь с написанием алгоритма, указанным в теме, чтобы в дальнейшем реализовать его в программе.
C++ Создать класс моделирующий игру типа Дартс https://www.cyberforum.ru/ cpp-beginners/ thread1471395.html
1.Пусть три друга соревнуются в попадании в круг (аналог дартс). Для этого определен круг с радиусом r1 и центром в начале координат. Каждый раз вводится номер игрока и координаты4 попадания (x, y)....
C++ Метод касательных, вычисление корня любой степени из заданного числа
Вычисление корня любой степени N из числа А>0 заданной точностью методом касательных. Рассмотреть частные случаи при N=2; 3; 5; 7.
C++ Ошибка в условии if в функции https://www.cyberforum.ru/ cpp-beginners/ thread1471391.html
Вот фрагмент кода. class directoryNote { protected: vector <telephone> telephones; string mail; string twitter; string instagram; string skype;
0 / 0 / 1
Регистрация: 22.04.2015
Сообщений: 22
14.06.2015, 20:17  [ТС] 0

Префиксная польская запись - C++ - Ответ 7761494

14.06.2015, 20:17. Показов 4091. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Hasuni как решение

Решение

Написала код, который не хочет работать, помогите =.=

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "Pol.h"
char q[30], p[30];
char flag='Y';
void main()
{
    setlocale(0,"Rus");
    Stack st;
    int i, j, n;
    char ch;
    system("cls");
    while(flag=='Y'|| flag=='y')
    {
        for (i=0;i<30;i++)
            p[i]=' '; q[i]=' ';
    }
    cout<<"Введите инфиксную запись выражения ";
    cin>>q;
    n=0;
        while(q[n]!= '\0')
            n++;
    i=j=n-1;
    Add('(');
    while (i>=0)
    {
        switch (q[i])
        {
        case ')':Add(')');
            break;
        case '+':  while (st[j] == '*' || st[j] == '/' || st[j] == '^')
            p[j--] = Delete();
            Add(q[i]);
                break;
        case '-':while (st[j] == '*' || st[j] == '/' || st[j] == '^')
            p[j--] = Delete();
            Add(q[i]);
                break;
        case '*':while (st[j] == '^')
            p[j--] = Delete();
                     Add(q[i]);
                break;
        case '/':while (st[j] == '^')
            p[j--] = Delete();
            Add(q[i]);
                break;
        case '^': Add(q[i]);
                break;
        case '(': while (st[j] != ')')
            p[j--] = Delete();
            ch = Delete();
                       break;
        default: p[j--]=q[i];
            break;
        }
        j--;
    }
    while(st[j]!= '(')
        p[j--] = Delete();
    cout<<endl<<"Данное инфиксное выражение:  "<<q<<endl;
    cout<<endl<<"Получившееся префиксное выражение:  "<<p<<endl;
    cout<<endl<<"Для продолжения нажмите Y  "<<endl;
    cin>>flag;
}
Pol.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
#include <math.h>
#include<stdlib.h>
using namespace std;
struct Stack
{
    char A[30];
    int count;
};
void Creation(Stack *p);
int Full(Stack *p);
void Add(Stack *p);
void Delete(Stack *p);
int Top(Stack *p);
int Size(Stack *p);
Pol.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "Pol.h"
char q[30], p[30];
char flag = 'Y';
 
void Creation(Stack *p)
{
    p->count = 0;
}
//проверка стека на пустоту
int Full(Stack *p)
{
    if (p->count == 0) return 1;
    else if (p->count == n) return -1;
    else return 0;
}
//добавление элемента
void Add(Stack *p)
{
    char value;
    cin >> value;
    p->A[p->count] = value;
    p->count++;
}
//удаление элемента
void Delete(Stack *p)
{
    p->count--;
}
//вывод верхнего элемента
int Top(Stack *p)
{
    return p->A[p->count - 1];
}
//размер стека
int Size(Stack *p)
{
    return p->count;
}


Вернуться к обсуждению:
Префиксная польская запись C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2015, 20:17
Готовые ответы и решения:

Префиксная и постфиксная запись инкремента
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); int х...

Const методы суффиксная/префиксная запись
Какая разница между этими записями? const void Method(); void Method() const

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

Польская запись
Здравствуйте, у меня возникли некоторые проблемы с данной задачей(если сказать точнее, то я ее...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2015, 20:17
Помогаю со студенческими работами здесь

Обратная польская запись
Помогите написать программу для вычисления обратной польской записи, использовав стек. Например,...

Обратная польская запись
В обратной польской записи, которую также называют постфиксной, операция записывается после двух...

Обратная польская запись
Что такое обратная польская запись и как её реализовать на С++? Почему когда в программе я пишу...

Обратная польская запись
Нужна помощь. Есть программа с общей польской записью. Программа принимает только буквенное...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru