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

STL String. Вывести слово и после него количество символов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
02.07.2013, 23:57     STL String. Вывести слово и после него количество символов #1
Здраствуйте! У меня есть например строка string, покажите пожалуйста на примере как можно выделять слова этой строки, например вывести слово и после него количество символов. И так же например вывести каждое 2-е или 3-е слово строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 23:57     STL String. Вывести слово и после него количество символов
Посмотрите здесь:

C++ STL, istream_iterator, в вектор считывается неверное количество символов
C++ Удалить конец строки символов. Ввести кол-во удаляемых символов , вывести результат ,String ,задачка,С++
C++ нужно удалить и вывести все символы после *(его не нужно выводить). я смог наоборот вывести всё до него! помоите
Вывести имя и количество букв в фамилии. Вывести самое длинное слово C++
Вывести имя и количество букв в фамилии. Вывести самое длинное слово C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 00:11     STL String. Вывести слово и после него количество символов #2
а пробелы между словами есть?)
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
03.07.2013, 00:15  [ТС]     STL String. Вывести слово и после него количество символов #3
Цитата Сообщение от Ko Посмотреть сообщение
а пробелы между словами есть?)
конечно есть)
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 00:21     STL String. Вывести слово и после него количество символов #4
так в цикле и написать) делов то

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string line = "qwe qweq qwe";
string data_load = ""
for (int i = 0; i < line.size(); i++)
{
    if ( line[i] != ' ')
    {
        data_load+=line[i];
        continue;
    }
    if ( line[i] == ' ' || i == line.size()-1 )
    {
        cout <<"слово: "<<data_load<<", размер: "<<data_load.size()<<endl;
        data_load ="";
    }
}
вот и вся проблема)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.07.2013, 00:26     STL String. Вывести слово и после него количество символов #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <sstream>
 ...
    string str = "a bb ccc dddd";
    stringstream s(str);
    string temp;
    int i = 0;
    while (!s.eof())
    {
        s >> temp;
        ++i;
        if (i == 2 || i == 3) cout << temp << ' ';
        cout << temp.size() << endl;
 
    }
...
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
03.07.2013, 00:38  [ТС]     STL String. Вывести слово и после него количество символов #6
Цитата Сообщение от Ko Посмотреть сообщение
так в цикле и написать) делов то

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string line = "qwe qweq qwe";
string data_load = ""
for (int i = 0; i < line.size(); i++)
{
    if ( line[i] != ' ')
    {
        data_load+=line[i];
        continue;
    }
    if ( line[i] == ' ' || i == line.size()-1 )
    {
        cout <<"слово: "<<data_load<<", размер: "<<data_load.size()<<endl;
        data_load ="";
    }
}
вот и вся проблема)
почему не выводит последнего слова?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 01:19     STL String. Вывести слово и после него количество символов #7
эту строчку я поправил if ( line[i] == ' ' || i == line.size()-1 )

Добавлено через 2 минуты
потому что врядли вы будете ставить пробел после последнего слова)

Добавлено через 1 минуту
а лучше ещё так написать
if ( ( line[i] == ' ' && line.size() > 0 ) || ( i == line.size()-1 && line.size() > 0) )

Добавлено через 35 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    string line = "qwe qweq qwe";
    string data_load = "";
    for (int i = 0; i < line.size(); i++)
    {
        if (data_load.size() > 0)
            if ( line[i] == ' ' || i == line.size()-1 )
            {
                if ( line[i] != ' ' && i == line.size()-1) data_load+=line[i];
                cout <<"слово: "<<data_load<<", размер: "<<data_load.size()<<endl;
                data_load ="";
                continue;
            }
        data_load+=line[i];
    }
во правильно и мелче)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11805 / 6784 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
03.07.2013, 01:25     STL String. Вывести слово и после него количество символов #8
Все-таки, с объектом класса string работаем, а не с массивом чаров, так что будет разумнее использовать методы класса и не работать напрямую как с массивом
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
03.07.2013, 01:26  [ТС]     STL String. Вывести слово и после него количество символов #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Все-таки, с объектом класса string работаем, а не с массивом чаров, так что будет разумнее использовать методы класса и не работать напрямую как с массивом
вот и я про это)
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 02:34     STL String. Вывести слово и после него количество символов #10
Цитата Сообщение от Croessmah Посмотреть сообщение
Все-таки, с объектом класса string работаем, а не с массивом чаров, так что будет разумнее использовать методы класса и не работать напрямую как с массивом
покажите пожалуйста Ваш пример
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11805 / 6784 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
03.07.2013, 03:30     STL String. Вывести слово и после него количество символов #11
Ko, посмотрите по форуму, их тут навалом в т.ч. и моих, ну или ждите утра
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
03.07.2013, 13:17  [ТС]     STL String. Вывести слово и после него количество символов #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Ko, посмотрите по форуму, их тут навалом в т.ч. и моих, ну или ждите утра
уже утро)
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
03.07.2013, 13:35     STL String. Вывести слово и после него количество символов #13
чем пример alsav22, плох?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 23:08     STL String. Вывести слово и после него количество символов #14
Цитата Сообщение от Кудаив Посмотреть сообщение
чем пример alsav22, плох?
а Вы его пробывали использовать?

Добавлено через 1 минуту
Croessmah если Вы обладаете знаниями как сделать более компактный и быстрый код по данному примеру пожалуйста подскажите нам.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.07.2013, 23:12     STL String. Вывести слово и после него количество символов #15
Цитата Сообщение от Ko Посмотреть сообщение
а Вы его пробывали использовать?
Какие-то проблемы с использованием?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:44     STL String. Вывести слово и после него количество символов #16
у меня вот такое выдало почему то.
Миниатюры
STL String. Вывести слово и после него количество символов  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 00:48     STL String. Вывести слово и после него количество символов #17
Покажите то, что выдало такое.
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:51     STL String. Вывести слово и после него количество символов #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
 
    string str = "a bb ccc dddd";
    stringstream s(str);
    string temp;
    int i = 0;
    while (!s.eof())
    {
        s >> temp;
        ++i;
        if (i == 2 || i == 3) cout << temp << ' ';
        cout << temp.size() << endl;
    }
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 00:54     STL String. Вывести слово и после него количество символов #19
И что собственно не устраивает? Выводит размер слов в строке, если слово второе или третье, то слово и его размер.

Добавлено через 1 минуту
Это же набросок. Идея. Подогнать вывод кому как нужно - несложно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 01:01     STL String. Вывести слово и после него количество символов
Еще ссылки по теме:

C++ Дан массив символов, вывести на экран второе слово
C++ Подскажите как найти слово строке в котором больше 2 букв 'a', а затем вывести его?Без использования string
C++ Вывести слово с максимальным кол-вом символов

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

Или воспользуйтесь поиском по форуму:
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 01:01     STL String. Вывести слово и после него количество символов #20
а понятно, спасибо, мне оно тоже подуше)

Добавлено через 6 минут
хотелось бы ещё какие ни будь варианты решения этого вопроса.
Yandex
Объявления
04.07.2013, 01:01     STL String. Вывести слово и после него количество символов
Ответ Создать тему
Опции темы

Текущее время: 16:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru