Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
#1

Разбиение строки на слова - C++

25.04.2014, 16:44. Просмотров 291. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str, s1, s2;
    int i;
    
    cout<<"Enter please string!"<<endl;
    getline(cin,str);
    
    int len = str.length();
    
    cout<<len;
    
    
}
Видите в коде, а как сделать теперь, чтобы можно было разделить на слова (чтобы потом смог найти макс. длину слова и заменить его на вводимое!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 16:44     Разбиение строки на слова
Посмотрите здесь:

Разбиение строки на слова - C++
Задача: Дана строка, например, &quot;Hello Hello World&quot;, я ввожу слово, которое нужно заменить &quot;Hello&quot; и слово, на которое нужно заменить...

Разбиение строки на слова - C++
записываем слова через токен в массив))) не работает if который сразу после for помогите плиз....))) заранее спасибо)))) в конце...

Разбиение строки на слова - C++
Здравствуйте! При изучении С++ у меня возникла потребность в изучении библиотеки &lt;string.h&gt;. Дело в том, что я довольно долго работал с...

Анализ и разбиение символьной строки на слова - C++
Не могу разобраться, что делает цикл в коде. Пожалуйста, помогите. #define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include...

Анализ и разбиение символьной строки на слова - C++
всем привет) возникла проблема и как с ней справится не пойму( #include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;string.h&gt; ...

Разбиение строки - C++
Доброго времени суток. Я новичок в кодинге. Передо мной такая задача: есть строка str с числами, разделенными через пробел. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
25.04.2014, 17:17     Разбиение строки на слова #2
С помощью класса sstream
C++
1
2
3
4
5
6
7
8
9
10
#include <sstream>
// остальное также
    std::stringstream ss(str);
    string tmp;
    while (!ss.eof())
    {
        ss >> tmp;
        cout << tmp << endl;
        // получаем слова в столбик :-)
    }
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
25.04.2014, 17:21  [ТС]     Разбиение строки на слова #3
Voroshek, Спасибо, отлично!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2014, 17:38     Разбиение строки на слова
Еще ссылки по теме:

Разбиение строки по пробелу - C++
Здравствуйте, такая задача. Ввести фамилию, имя и отчество одной строкой. Определить длину каждого слова. Вывести имя в обратном порядке. ...

Разбиение символьной строки - C++
Необходимо открыть существующий файл с расширением &quot;.txt&quot; и в данном файле разбить каждую строку на две строки приблизительно одного...

Разбиение строки на подстроки - C++
Есть строка &quot;abc какой-либо текст любого размера qwerty какой-либо текст любого размера qazws какой-либо текст любого размера&quot;, где abc,...

Разбиение текстовой строки - C++
Не могу вызвать функцию strtok(); Вот код: int main(){ char *value, *V; int month, day; cin &gt;&gt; value; ...

Разбиение строки при условии - C++
Скажите пожалуйста а могу ли я в функцию strtok 2-ым параметром передать условие окончание строки то есть дана строка &quot;один два...

Разбиение строки на токены: strtok - C++
нужно чтобы программа разбивала строку с выражением, использую strtok например &quot;6+8+99-76-34&quot; выводила 6 8 99 76 34 + + - ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 518
Завершенные тесты: 1
25.04.2014, 17:38     Разбиение строки на слова #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool space(char c)
{
    return isspace(c);
}
bool not_space(char c)
{
    return !isspace(c);
}
 
vector<string> split(const std::string& str)
{
    typedef std::string::const_iterator iter;
    vector<string> ret;
    iter i = str.begin();
 
    while(i != str.end())
    {
        i = find_if(i, str.end(), not_space);
        iter j = find_if(i, str.end(), space);
        if(i != str.end())
        ret.push_back(string(i, j));
 
        i = j;
    }
    return ret;
}
 
int main()
{
string str;
 
 
    cout<<"Enter please string!"<<endl;
    getline(cin,str);
    vector<string> vec;
    vec = split(str);
 
    cout << "dlina kazdoj stroki:" << endl;
    for(vector<string>::size_type i = 0; i != vec.size(); i++)
    cout << vec[i].length()<< endl;
 
return 0;
 
}
Yandex
Объявления
25.04.2014, 17:38     Разбиение строки на слова
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru