4 / 4 / 0
Регистрация: 01.06.2013
Сообщений: 153
1

Не могу разобраться в чём ошибка(инфиксная и постфиксная запись выражения)

07.11.2013, 13:24. Показов 1199. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на вход для простоты подаю коротенько выражение меньше 10 символов
цифры во входе тоже от 0 до 10
при выводе строки otvet ничег оне выходит.(строка пустая получается)
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
#include <iostream>
#include <string>
 using namespace std;
struct stek
{
    char d;
    struct stek *next; // указатель на следующий элемент списка (стека)
};
 
 
void push(stek* &next, int d)
{
    stek *pv = new stek;      // объявляем новую динамическую переменную типа stek
    pv->d = d;                // записываем  значение, которое помещается в стек
    pv->next = next;          // связываем новый элемент стека с предыдущим
    next = pv;                // новый элемент стека становится его вершиной
}
 
char pop(stek* &next)
{  
    char temp = next->d;     // извлекаем в переменную temp значение в вершине стека
    stek *pv = next;        // запоминаем указатель на вершину стека, чтобы затем
                            // освободить выделенную под него память
    next = next->next;      // вершиной становится предшествующий top элемент
    delete pv;              // освобождаем память, тем самым удалили вершину
    
    return temp;          // возвращаем значение, которое было в вершине
}
int kol;
int main()
{
    string s, otvet;
    stek*p=0;
 
 
getline(cin, s);
 
cout<<"\n vashe virazhenie v obi4noy zapisi :"<<s<<"\n";
for(int i=0;i<10;i++)
    {
        if ('s[i]'>'0'  &&  's[i]'<'10')
        otvet+=s[i];
            if ('s[i]'=='+' || 's[i]'=='-' ||'s[i]'=='*' || 's[i]'=='/'){
            push (p,s[i]);
            kol++;
        }}
for (int i=0;i<kol;i++){    //добавляю к выходной строке данные из стека
    otvet+=pop(p);}
cout<<'\n'<<"POSTFIKS ---       "<<otvet;
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2013, 13:24
Ответы с готовыми решениями:

Не могу разобраться в чём ошибка
Массив заполнен с помощью генератора случайных чисел. Разности (1-2,3-4,..,19-20) отсортировать по...

Работа со строкой. Не могу разобраться, в чём ошибка.
Есть такой код: HANDLE Search;//Объявляем хендл WIN32_FIND_DATAA FileSearch;//Создаем структуру...

Не могу разобраться в чём ошибка
Помогите, пожалуйста, разобраться в чём ошибка procedure TForm1.Button1Click(Sender: TObject);...

Не могу разобраться, в чём ошибка в движке
Добрый день, уважаемые кодеры! Вопрос вот в чём, есть сайт, движок самопис, после переноса на...

4
85 / 33 / 12
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
07.11.2013, 14:04 2
Для начала замени все 's[i]' на s[i], кто может объяснить почему он не ругался на это 's[i]'?
В потоковом выводе для переноса стоки используй std::endl;
0
4 / 4 / 0
Регистрация: 01.06.2013
Сообщений: 153
07.11.2013, 14:40  [ТС] 3
Jazz411, написал без ковычек и добавил <<endl , появилась другая ошибка

Expression: string subscript out of range

Добавлено через 3 минуты
>LINK : fatal error LNK1168: не удается открыть c:\users\vlad\documents\visual studio 2012\Projects\polska\Debug\polska.exe для записи
0
85 / 33 / 12
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
07.11.2013, 14:46 4
закрой программу или перезапусти комп, ты запустил проект и не закрыл программу
0
4 / 4 / 0
Регистрация: 01.06.2013
Сообщений: 153
07.11.2013, 22:33  [ТС] 5
Jazz411, Спасибо! для приметивных 1+3-5 работает безотказно. буду дальше химичить
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2013, 22:33
Помогаю со студенческими работами здесь

Не могу разобраться в чём беда
Здравствуйте. у меня проблемы с железом. Чуть больше месяца назад у меня при долгой работе...

Не могу разобраться в чём понт при установке windows
Доброго всем дня!!! В общем столкнулся с токой проблемой что самому не разобраться. При...

Постфиксная запись
Всем доброго времени суток! Подскажите что нужно исправить в коде? Выдаёт ошибку в Функции...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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