Форум программистов, компьютерный форум 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
04.07.2013, 01:06     STL String. Вывести слово и после него количество символов
  #21

Не по теме:

Цитата Сообщение от Ko Посмотреть сообщение
хотелось бы ещё какие ни будь варианты решения этого вопроса.
А самому? Croessmah, подсказал направление. Но думаю, моё - самое простое.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
04.07.2013, 01:10     STL String. Вывести слово и после него количество символов #22
Цитата Сообщение от alsav22 Посмотреть сообщение
Но думаю, моё - самое простое.
Как вариант, можно еще разделителей добавить ctype же есть
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 01:11     STL String. Вывести слово и после него количество символов #23
Вот тут Чтение строк из файла, для извлечения слов из строки, изспользуется sscanf().
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
04.07.2013, 01:11     STL String. Вывести слово и после него количество символов #24
Цитата Сообщение от Ko Посмотреть сообщение
как сделать более компактный
C++
1
2
std::getline(std::cin,str);
std::vector<std::string> words((std::istream_iterator<std::string>(std::stringstream(str))),std::istream_iterator<std::string>());
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
04.07.2013, 01:55     STL String. Вывести слово и после него количество символов #25
А почему это std::string это Standart Template Library?
string это не часть STL

Добавлено через 1 минуту
istringstream + .length() делов то
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 02:07     STL String. Вывести слово и после него количество символов #26
Цитата Сообщение от MrGluck Посмотреть сообщение
istringstream + .length() делов то
Есть уже: Тут
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
04.07.2013, 02:09     STL String. Вывести слово и после него количество символов #27
Цитата Сообщение от MrGluck Посмотреть сообщение
std::string
Цитата Сообщение от MrGluck Посмотреть сообщение
Template
basic_string<char>
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 02:16     STL String. Вывести слово и после него количество символов #28
Цитата Сообщение от MrGluck Посмотреть сообщение
string это не часть STL
Не шаблон или не STL?

Добавлено через 6 минут
Цитата Сообщение от MrGluck Посмотреть сообщение
Template
Template
string
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
04.07.2013, 02:26     STL String. Вывести слово и после него количество символов #29
Цитата Сообщение от Croessmah Посмотреть сообщение
basic_string<char>
несмотря на то, что специализация шаблона это новый шаблонный класс, а также наличие методов begin и end, это не делает данный класс частью STL

Цитата Сообщение от alsav22 Посмотреть сообщение
Не шаблон или не STL?
не STL
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 10:59     STL String. Вывести слово и после него количество символов #30
да ещё ребята сегодня взял файл 1.6 гига и решил сделать тест на скорость, получил что мой вариант обрабатывает файл за 36.928 секунды а вариант где используем потоки 99.365 секунд. скорость абсалютно не приемлема.

Добавлено через 28 секунд
думал сделаю красивый код с потоками) а нет)
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
04.07.2013, 14:35  [ТС]     STL String. Вывести слово и после него количество символов #31
Цитата Сообщение от Ko Посмотреть сообщение
да ещё ребята сегодня взял файл 1.6 гига и решил сделать тест на скорость, получил что мой вариант обрабатывает файл за 36.928 секунды а вариант где используем потоки 99.365 секунд. скорость абсалютно не приемлема.

Добавлено через 28 секунд
думал сделаю красивый код с потоками) а нет)
почему такая большая разница во времени?
может надо зарезервировать память для варианта с потоком и будет быстрее?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 14:46     STL String. Вывести слово и после него количество символов #32
Цитата Сообщение от ovner Посмотреть сообщение
почему такая большая разница во времени?
может надо зарезервировать память для варианта с потоком и будет быстрее?
Зарезервируйте пожалуйста поглядим, строчки подобные их примерно 55 млн.

0 644380 1 845 300
0 744380 1 845 300
0 644380 1 845 300


я код проверю и посчитаю.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 18:08     STL String. Вывести слово и после него количество символов #33
Ko, не видно кодов, которыми вы это делаете ("мой", "с потоками").
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 19:26     STL String. Вывести слово и после него количество символов #34
Цитата Сообщение от alsav22 Посмотреть сообщение
Ko, не видно кодов, которыми вы это делаете ("мой", "с потоками").
5 и 7 сообщение в этой ветке

Добавлено через 5 минут
мне интересно как можно модифицировать код для увеличения скорости расчётов, Вы же представили код, знаете как его ускорить, пожалуйста подскажите
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 19:49     STL String. Вывести слово и после него количество символов #35
Цитата Сообщение от Ko Посмотреть сообщение
5 и 7 сообщение в этой ветке
Там нет чтения из файла.

Добавлено через 6 минут
Да и код ваш кривой. Если разделить слова не одним пробелом, а несколькими?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 20:05     STL String. Вывести слово и после него количество символов #36
Цитата Сообщение от alsav22 Посмотреть сообщение
Там нет чтения из файла.

Добавлено через 6 минут
Да и код ваш кривой. Если разделить слова не одним пробелом, а несколькими?
Поставить значит условие дополнительное, я просто говорю что потоки работают медленней в 3 раза

Против потоков ничего не имею они конечно приятней выглядят, но я всегда код расцениваю только со стороны скорости работы. И попросил Вас подсказать как можно ускорить Ваш код при учёте того что загружается подряд 55 млн строк и обрабатывается как Вы указали.

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

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

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 20:12     STL String. Вывести слово и после него количество символов #37
Более совершенный вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
string str = "  a   bb   ccc   dddd  f  ";
    stringstream s(str);
    string temp = "";
    
    while (!s.eof())
    {
        s >> temp;
        if (temp.empty()) break;
        cout << temp << ' ' << temp.size() << endl;
        temp.clear();
}
Цитата Сообщение от Ko Посмотреть сообщение
Если подвести весь диалог к итогу скажите как ускорить Ваш прямой код)
Тут тема другая (1 пост прочтите), к тому же вы код не показываете, который нужно ускорять. В моём коде нет чтения из файла (ещё раз).

Добавлено через 1 минуту
Если хотите узначть насчёт ускорения, то создайте отдельную тему. Я тоже с интересом почитаю.
Yandex
Объявления
04.07.2013, 20:12     STL String. Вывести слово и после него количество символов
Ответ Создать тему
Опции темы

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