Форум программистов, компьютерный форум CyberForum.ru

Перевод типов string to int - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.81
Shevko
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 12
20.12.2011, 20:33     Перевод типов string to int #1
Суть задания в следующем:

Задана строка, приблизительно такого вида "2+3/4"

Мне надо подсчитать результат...

Для этого решил создать 2 массива, в один кинуть все знаки, в другой - все числа.
Потом перевести числа в целый тип и сложить, но вот как-то не совсем получается (

Вот то, что у меня получилось:


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 <math.h>
#include <string>
#include <set>
#include <string>
using namespace std;
int main()
{
 
 
    int i=0;
    int n=0;
    string cache="";
    string chislo1="";
    string numers[5];
    string primer ="3+2-2/2*4"; 
    for (i=0;i<primer.length();i++)
    {
        if ((primer[i]=='+') || (primer[i]=='-') || (primer[i]=='*') || (primer[i]=='/'))
        {
            cache.push_back(primer[i]);
            n++;
        }
    }
    for(int i=0;i<primer.find(cache[0]);i++)
 
    {
 
        chislo1.push_back(primer[i]);
    }
    for(int i=0;i<n;i++)
{
for(int j=0;j<primer.find(cache[i]);j++)
{
    numers[i].push_back(primer[j]);
 }
}
        
        for(int i=0;i<primer.find(cache[0]);i++)
 
    {
 
        cout<<chislo1<<endl;
    } 
        for (i=0;i<primer.length();i++)
            {
 
        cout<<cache<<endl;
    } 
        return 0;
}
Выводит только первую тройку, а с остальными проблема (
Да и не знаю, как перевод правильно организовать...
Помогите, пожалуйста...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vikichocolate
 Аватар для vikichocolate
25 / 14 / 1
Регистрация: 11.11.2011
Сообщений: 94
20.12.2011, 21:04     Перевод типов string to int #2
у мя тож такая хрень...
там со стеками работать надо...
обратная польская запись это...
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.12.2011, 21:26     Перевод типов string to int #3
можете глянуть:
http://ru.wikipedia.org/wiki/%D0%90%...86%D0%B8%D0%B8

алгоритм довольно хорошо описан.
Shevko
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 12
21.12.2011, 01:07  [ТС]     Перевод типов string to int #4
Но все же, может быть, по самому коду подскажет кто-нибудь ?
Yandex
Объявления
21.12.2011, 01:07     Перевод типов string to int
Ответ Создать тему
Опции темы

Текущее время: 13:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru