Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Удаление предпоследнего слова


Автор: Weman 21.12.2005, 17:20
Люди, помогите пожалуйста с задачей: "В символьной строке удалить предпоследнее слово"
Если можно, приведите код, который смог бы понять новичек и без указателей.
Спасибо!

Автор: Exekutor 21.12.2005, 17:28
Какие тут указатели. Просто просматривай массив символов с помощью цикла с конца в начало. Если какой либо элемент равен ' ' то все элементы после него тоже равны ' '. ПОпробуй осуществить подобное сам. Это ведь гораздо интереснее, чем переписывать готовое

Автор: chaos 22.12.2005, 11:26
может такое решение устроит
Код

#include <iostream>
#include <sstream>
#include <vector>

using namespace std;

void main()    
{
    vector<string> cntStr;
    string soStr = "1 2 3 4 5 6   7";

    istringstream istrstr(soStr);
    while (! istrstr.eof())
    {
        istrstr >> soStr;
        cntStr.push_back(soStr);
    }

    vector<string>::iterator it;
    it = cntStr.end();
    it -= 2;
    cntStr.erase(it);

    for (size_t n = 0; n < cntStr.size(); n++)
        cout << cntStr[n] << endl;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)