Program wypisujący znaki poprzedzające np. przecinki z wpisanego tekstu

0

Dzień dobry,
Właśnie przestudiowałem lekcje pana Zelenta na temat stringów ale nie znalazłem jak zrobić żeby program wypisał znaki poprzedzające np. przecinki z wpisanego tekstu (getline)?
z góry dziękuję i miłego dnia lub nocy ;)

0

Podaj przykład tego co program otrzyma i co ma wypluć. Nie każdy tutaj ma ochotę googlować odpowiednią lekcję i potem katować się jej oglądaniem.

0

Typowo do takich prostych manipulacji stringami wykorzystuje się std::stringstream.

0
kq napisał(a):

Podaj przykład tego co program otrzyma i co ma wypluć. Nie każdy tutaj ma ochotę googlować odpowiednią lekcję i potem katować się jej oglądaniem.

Przykładowo wpisuję do programu ciąg liczb: "620, 33621, 543634, 3627, 3622" a na wyjściu chcę ostatnie cyfry tych liczb: "0, 1, 4, 7, 2"

0

Aha, no to po prostu przeleć po każdej parze liczb i patrz czy następna to przecinek.

0

@kq:

std::string strText;
std::getline(std::cin, strText);

std::vector<int> preceding_comma;
for (int i = 1; i < strText.size(); i++)
    if (strText[i] == ',')
        preceding_comma.push_back(strText[i - 1] - 48);

edit: poprawiłem.
Da się jakoś prościej/łatwiej/mądrzej?

1

Przede wszystkim, ten kod nie bierze pod uwagę, że przed przecinkiem może być coś, co nie jest cyfrą. Poza tym, lepiej odjąć '0' niż 48. Tak poza tym wygląda ok¹

¹ na moje zmęczone dniem oczy

1 użytkowników online, w tym zalogowanych: 0, gości: 1