• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd przy usuwaniu kawałka stringa

0 głosów
163 wizyt
pytanie zadane 21 maja 2016 w C i C++ przez Sinnley Stary wyjadacz (12,810 p.)

Witam, próbuję rozdzielić równanie, na razie jego lewą część, na mniejsze kawałki. Napotkałem jednak problem przy usuwaniu ostatniego kawałka. Nie mam pojęcia gdzie jest błąd, zwłaszcza, że nie powinien występować. Z tego co wiem jeśli metodzie erase() poda się za dużo znaków do usunięcia to ta usunie tyle ile da rade. A tutaj błąd występuje ewidentnie pod sam koniec. Kod poniżej:

#include <iostream>
#include <conio.h>
#include <string>
#include <vector>

using namespace std;

int main() {


	string rownanie = "2x^2+7x+6";
	int i = 0;
	vector <string> kawalki;
	string element;
	vector <char> znaki;

	while (rownanie != "") {

		i = 0;
		element = "";

		while (rownanie[i] != '+' && rownanie[i] != '-') {

			element += rownanie[i];
			
			i++;

		}
		
		cout << endl << rownanie << endl;
		znaki.push_back(rownanie[i]);
		kawalki.push_back(element);
		rownanie.erase(0,i);
		if (rownanie != "")rownanie.erase(0, 1);
		



	}


	

	_getch();
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 335 wizyt
pytanie zadane 5 sierpnia 2016 w PHP przez Sebastian Szyja Bywalec (2,950 p.)
0 głosów
1 odpowiedź 241 wizyt
pytanie zadane 2 czerwca 2016 w JavaScript przez Michał_Warmuz Mądrala (5,830 p.)
0 głosów
1 odpowiedź 234 wizyt
pytanie zadane 9 maja 2016 w Python przez Lukasz95 Bywalec (2,160 p.)

93,735 zapytań

142,671 odpowiedzi

323,294 komentarzy

63,297 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...