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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
#1

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

02.07.2013, 23:57. Просмотров 1850. Ответов 36
Метки нет (Все метки)

Здраствуйте! У меня есть например строка string, покажите пожалуйста на примере как можно выделять слова этой строки, например вывести слово и после него количество символов. И так же например вывести каждое 2-е или 3-е слово строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 23:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос STL String. Вывести слово и после него количество символов (C++):

STL, istream_iterator, в вектор считывается неверное количество символов - C++
Имеется программа, в которой происходит посимвольное чтение из файла в вектор: #include <fstream> #include <iostream> #include...

Удалить конец строки символов. Ввести кол-во удаляемых символов , вывести результат ,String ,задачка,С++ - C++
Удалить конец строки символов. Ввести количество удаляемых символов , вывести результат на печать . Помогите плиз с задачкой. тема :...

Задать максимально разрешенное количество вводимых символов (std::string) - C++
Привет ребята! Такая тема: Вводимая строка не должен превышать, допустим, 10 символов (строка хранится в типе string). Делаю так ...

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Помогите сделать задачку: Вывести имя и количество букв в фамилии.Вывести самое длинное слово.На C++

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Вывести имя и количество букв в фамилии.Вывести самое длинное слово,помогите сделать эту программу

Найти слово, содержащее наибольшее количество символов - C++
Ввести с клавиатуры одномерный строковый массив и найти слово, содержащее наибольшее количество символов. DEV-C++

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:44 #16
у меня вот такое выдало почему то.
Миниатюры
STL String. Вывести слово и после него количество символов  
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 00:48 #17
Покажите то, что выдало такое.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:51 #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
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 00:54 #19
И что собственно не устраивает? Выводит размер слов в строке, если слово второе или третье, то слово и его размер.

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

Добавлено через 6 минут
хотелось бы ещё какие ни будь варианты решения этого вопроса.
alsav22
04.07.2013, 01:06
  #21

Не по теме:

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

Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
04.07.2013, 01:10 #22
Цитата Сообщение от alsav22 Посмотреть сообщение
Но думаю, моё - самое простое.
Как вариант, можно еще разделителей добавить ctype же есть
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 01:11 #23
Вот тут Чтение строк из файла, для извлечения слов из строки, изспользуется sscanf().
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
04.07.2013, 01:11 #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
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
04.07.2013, 01:55 #25
А почему это std::string это Standart Template Library?
string это не часть STL

Добавлено через 1 минуту
istringstream + .length() делов то
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 02:07 #26
Цитата Сообщение от MrGluck Посмотреть сообщение
istringstream + .length() делов то
Есть уже: Тут
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
04.07.2013, 02:09 #27
Цитата Сообщение от MrGluck Посмотреть сообщение
std::string
Цитата Сообщение от MrGluck Посмотреть сообщение
Template
basic_string<char>
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 02:16 #28
Цитата Сообщение от MrGluck Посмотреть сообщение
string это не часть STL
Не шаблон или не STL?

Добавлено через 6 минут
Цитата Сообщение от MrGluck Посмотреть сообщение
Template
Template
string
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
04.07.2013, 02:26 #29
Цитата Сообщение от Croessmah Посмотреть сообщение
basic_string<char>
несмотря на то, что специализация шаблона это новый шаблонный класс, а также наличие методов begin и end, это не делает данный класс частью STL

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

Добавлено через 28 секунд
думал сделаю красивый код с потоками) а нет)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 10:59
Привет! Вот еще темы с ответами:

нужно удалить и вывести все символы после *(его не нужно выводить). я смог наоборот вывести всё до него! помоите - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;conio.h&quot; using namespace std; int _tmain(int argc, _TCHAR*...

Вывести слово с максимальным кол-вом символов - C++
Добрый день. Я хожу к репетитору по программированию (с++). Пока просто пытаюсь понять азы. На дом было дано задание, которое заключается в...

Дан массив символов, вывести на экран второе слово - C++
Дан массив символов, вывести на экран второе слово. Помогите запилить, пожалуйста, ну или хотя бы подтолкните на мысль, рассказав как это...

Вывести на экран строки длиной больше 5 и меньше 20 символов из контейнера multiset<string> - C++
Здравствуйте, у меня такой вопрос, например существует контейнер multiset&lt;string&gt;, как можно вывести на экран строки длиной больше 5 и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.07.2013, 10:59
Ответ Создать тему
Опции темы

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