Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
skybidy
0 / 0 / 1
Регистрация: 04.01.2013
Сообщений: 31
1

Разбить строку(с числами) и записать в массив

13.01.2013, 23:36. Просмотров 1999. Ответов 3
Метки нет (Все метки)

Здраствуйте!
У меня есть стринг line например "0.1 0.2 0.3 0.4"
И мне нужно записать эти числа в массив

Я понимаю, что это если не пробел, то записывать можно в другую строку и потом конвентировать в double

Но у меня не совсем получается(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 23:36
Ответы с готовыми решениями:

Разбить строку на литералы и записать их в двумерный массив
Правильно выводит только первый литерал. Все остальные - пустые строки,похоже,...

Разбить предложение на слова и записать в массив
дано предложение из 10 слов заполнить ими массив из 10 элементов

Разбить строку на массив слов
Как разбить массив символов в отдельный массив по слову?Я вот что-то...

Как разбить строку на массив слов?
Надо разбить строку на массив строк при помощи разделителя... Какой функцией...

Разбить строку в массив через разделитель
Здравствуйте уважаемые форумчане. Мне как новичку интересно как выполнить...

3
Wolkodav
609 / 462 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
14.01.2013, 00:49 2
А только даубл может быть?
0
skybidy
0 / 0 / 1
Регистрация: 04.01.2013
Сообщений: 31
14.01.2013, 00:51  [ТС] 3
Цитата Сообщение от Wolkodav Посмотреть сообщение
А только даубл может быть?
могут быть любые числа

в смысле только числа
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,405
Записей в блоге: 17
14.01.2013, 21:43 4
Если разделитель только пробел, то используй std::stringstream

Добавлено через 8 минут
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
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
 
#include <windows.h>
 
using namespace std;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
string s="0.1 0.2 0.3 0.4";
stringstream ss(s);
 
vector<double>  vd;
 
copy( istream_iterator<double>(ss),
            istream_iterator<double>(),  back_inserter(vd) );
// Вывод
copy(vd.begin(),vd.end(),ostream_iterator<double>(cout,"\n") ) ;
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Если использовать boost, то можно как-то так

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
#include <windows.h>
#include <iostream>
#include <vector>
#include <string>
 
#include <boost/spirit/core.hpp>
#include <boost/spirit/actor/push_back_actor.hpp>
 
#include <boost/foreach.hpp> //  чисто для удобства вывода...
#define foreach BOOST_FOREACH
//--------------------------------------------------
bool parse_digs(const char* str,std::vector<double>& v)
{
    using namespace boost::spirit;
 
    return parse(
                 str,
                 *real_p[push_back_a(v)],
                 space_p
        ).full ;
}
//--------------------------------------------------
int main()
{
    std::vector<double> vd;
 
    std::string s="0.1 0.2 0.3 0.4";
 
    std::cout<<"successful "<<std::boolalpha<< parse_digs(s.c_str(),vd) <<std::endl;
 
    // Вывод :
    foreach(const double& d,vd) std::cout<<d<<"\t";
    std::cout<<std::endl;
 
    system("pause");
    return 0;
}
//--------------------------------------------------
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 21:43

Строку AnsiString разбить по словам и засунуть в массив
Есть строка: AnsiString s= &quot;Дед%Мазай%Любил%Больших%Девочек&quot;; как её...

Разбить строку на массив слов используя strtok()
Мне нужно разделить строку на массив слов используя функцию strtok(), но...

Подскажите как разбить строку на массив слов разделителем
нужно разбить строку на массив строк для дальнейшей обработки, подскажите...


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

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

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