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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.92
Skatwoker6
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 8
#1

split C++ для начинающих - C++

22.04.2013, 22:14. Просмотров 3803. Ответов 23
Метки нет (Все метки)

Народ будет большая просьба: кто сможет объяснить как работает split. Искал и не нашел, гугл ничего нормального для понимания не даёт.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос split C++ для начинающих (C++):

Аналог метода Split для std::string - C++
Как можно раздилить string? вот например строчка из сишарп string s = "class Klass"; string sarr = s.Split(' '); есть...

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

С/С++ для начинающих - C++
Вводится последовательность целых чисел, 0 – конец последовательности. Вычислить количество положительных чисел, кратных 7 и не кратных 5 и...

С++ для начинающих - C++
не могу сгенерировать случайные целые числа. всегда одно и тоже значение выходит. при чем эта функция должна быть не в main и количество...

Массивы в с++ для начинающих - C++
В целочисленный массив X(n) после каждого нечетного элемента вставить максимальный простой элемент этого же массива. Определить среднее...

C++ задание для начинающих! - C++
Товарищи, кодеры. Помогите пожалуйста с заданием перваку.

23
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.04.2013, 22:14 #2
о каком split-е речь?
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
22.04.2013, 22:21 #3
Возможно речь идет о разделении сроки на лексемы.
0
Skatwoker6
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 8
22.04.2013, 23:34  [ТС] #4
Есть вот такая штука std::vector<std::string> split(const std::string& s) с вектором разобрался теперь надо понять что делает split посколько там по идее должна стоять размерность
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
22.04.2013, 23:39 #5
Проблема в том что не понимаешь что спрашиваешь ...
split это имя объекта вектора
0
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 867
Регистрация: 27.09.2012
Сообщений: 18,896
Записей в блоге: 3
Завершенные тесты: 1
22.04.2013, 23:40 #6
Цитата Сообщение от Avazart Посмотреть сообщение
split это имя объекта вектора
либо прототип функции
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
22.04.2013, 23:42 #7
Цитата Сообщение от Croessmah Посмотреть сообщение
ну либо прототип функции
Или даже так, поди знай что там, коль такие вопросы пошли...
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
22.04.2013, 23:44 #8
ты про этот сплит?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::vector<std::string> split(const std::string& s) { // программа выделяет из строки слова и добавляет их в вектор
    std::vector<std::string> vec;
    typedef std::string::size_type str_size;
    str_size i = 0;
    int count = 0;
    while (i != s.size()) {  // до тех по пока не дойдем до конца строки
        while (isspace(s[i]) && i != s.size())  // если пробел, то идём дальше
            ++i;
        str_size j = i;   // первый не пробел
        while (!isspace(s[j]) && j != s.size())   // теперь уже идем дальше, если это не пробел
            ++j;
        if (i != j) {     // если что-то нашли 
            vec.push_back(s.substr(i, j - i));  // то забиваем в вектор под строку начинающиуюся с i(первый не пробел) и до j НЕ включительно
            i = j;   // при равниваем 
        }  
    }    // проходим цикл заново
    return vec;   // возвращаем вектор слов
}
1
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
22.04.2013, 23:46 #9
Цитата Сообщение от SummerRain Посмотреть сообщение
C++
1
return vec; // возвращаем вектор слов
Жестоко конечно возвращать контейнер ...
0
Skatwoker6
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 8
22.04.2013, 23:50  [ТС] #10
да этот
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.04.2013, 23:51 #11
Цитата Сообщение от Avazart Посмотреть сообщение
Жестоко конечно возвращать контейнер ...
rvo
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
22.04.2013, 23:55 #12
NRVO, но все равно не хорошо, не гибко...
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
23.04.2013, 10:40 #13
Цитата Сообщение от Avazart Посмотреть сообщение
но все равно не хорошо, не гибко...
Какое Ваше предложение?
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
23.04.2013, 11:18 #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <sstream>
 
using namespace std;
 
int main()
{
    string str = "A manhunt across the Boston area results in the death of one suspect and the capture of a second in the Boston Marathon bombings.";
    stringstream ss(str);
    vector<string> split;
 
    copy(istream_iterator<string>(ss),
         istream_iterator<string>(),
         back_inserter< vector<string> >(split));
 
    copy(split.begin(), split.end(), ostream_iterator<string>(cout, "\n"));
 
    return 0;
}
0
Avazart
Нарушитель
Эксперт С++
7233 / 5405 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
23.04.2013, 16:16 #15
Цитата Сообщение от Tulosba Посмотреть сообщение
Какое Ваше предложение?
boost::split() пример есть в книге "сборника рецептов по С++"
0
23.04.2013, 16:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 16:16
Привет! Вот еще темы с ответами:

Задачки для начинающих. - C++
Буду очень благодарна: 1)Дана последовательность целых чисел,подсчитать сумму элементов кратных 9. 2)Дана последовательность из...

Многопоточность для начинающих - C++
пускай у нас есть коллекция объектов, вид коллекции можем выбрать как удобно. нужно вызвать функцию foo для каждого объекта в коллекции....

С++ 11 потоки для начинающих - C++
Ранее никогда с потоками дело не имел, не знаю толком никакой теории(если можно, посоветуйте конкретные примеры для быстрого освоения)....

самоучитель с++ для начинающих - C++
Если у кого есть самоучитель с++ для начинающих (совсем), можете загрузить и дать скачать?


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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