Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83164

Odpowiedź: Kopiowanie części stringa w inno miejsce.

$
0
0

Z Javy sie dopiero przesiadłeś? :D W C++ "czasem" trzeba coś napisać samemu. Jeśli to wyrażenie jest zawsze w takiej postaci (liczba (+/-) liczba), to sprawa jest banalna. Na początek usuń sobie spacje ze stringa:

for(auto it = str.begin(); it != str.end(); )
{
     if(*it == ' ')
        str.erase(it);
     else it++;
}

Potem znajdź pozycje znaku operatora (+/-) - możesz wykorzystać funkcje isdigit - i wydziel odpowiedni fragment stringa za pomocą metody .substr.

PS: "27 + 14" to nie równanie. Równanie, jak nazwa wskazuje, musi mieć znak równości.


Viewing all articles
Browse latest Browse all 83164