1

Тема: [C++] Видалити слова

// потрібно видалити всі слова що входять в текст по одному разу

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

using namespace std;
int main()
{
    char *tk, *spt = ", . ! ? ;";

    char st[] = " lost , live love live ? life life lord .";
    cout << st << endl;
    tk = strtok(st, spt);
    vector<string>::iterator tk;
    while (tk)
    {
        char *is = nullptr;
        is = strstr(st,tk);
        if (is != nullptr)
            st.erase(tk)  // я не розумію
        tk = strtok(NULL,spt);
    }
    cout << st << endl;

    return 0;
}

2

Re: [C++] Видалити слова

А ви словами написати можете те, що хочете запрограмувати? Покроково - "взяти тут, покласти там"?

3

Re: [C++] Видалити слова

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;
int main()
{
    //char *spt=", . ! ? ;";
    vector<string>::iterator it;
    vector<string>::iterator it2;
    string st = "i love my dog? But mom love my dog too."; //дана строка
    cout << st << endl;
    for (it = st.end() - 1; it > st.begin(); it--)
    {
        if (*it != *(it - 1))
        {
            repeat.push_back(*it); // повторюються у новий вектор
            it2 = remove(st.begin(), st.end(), *it); // видаляємо унікальні
            st.erase(it2, st.end());
            it = st.end();
        }
    }
    cout << endl;
    cout << " text without unique words " << endl;
    for (it = st.begin(); it != st.end(); it++)
    {
        cout << *it << " ";  // має вивести :love my dog ? love my dog.
    }
    return 0;
}

4 Востаннє редагувалося koala (18.12.2022 22:22:15)

Re: [C++] Видалити слова

Не плодіть теми. В одній темі - одне питання.