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

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

Войти
Регистрация
Восстановить пароль
 
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
#1

Как записать все числа из файла в вектор? - C++

09.06.2014, 15:21. Просмотров 472. Ответов 9
Метки нет (Все метки)

Числа хранятся в таком формате,

слово Fail потом идет набор чисел и заканчивается двумя пустыми строчками и потом повторяется ниже указан пример

bla bla blal fail 9.755 0 2 55 25 2 52 52 2 2.525 2.2 52.5.

dahkja ai a aia fail 1515.153315 5151.5 5 44

и так далее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 15:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать все числа из файла в вектор? (C++):

Как из файла записать в вектор? - C++
есть от такая программа в файл вроде пишет а вот придумать как извлечь в вектор не могу ( , подскажите как ето можно сделать или киньте...

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

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>> - C++
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа, разделенные пробелами и запятыми: 1, 2, 3,...

Записать в файл g все четные числа файла f, а в файл n-все нечетные - C++
Дан файл f, компоненты которого являются целыми числами. Записать в файл g все четные числа файла f, а в файл n-все нечетные. Порядок...

Записать в целочисленный массив все числа из указанного файла (std::getline, работа с файлами) - C++
Имеется текстовый файл, к примеру с таким содержимым Из него в целочисленный массив нужно записать все числа. Собственно код: int i...

Записать каждые 16 символов из файла в вектор - C++
Как прочитать txt файл и записать каждые 16 символов в вектор? Я сделал вот так: std::vector&lt;char&gt; text_v; char time_text; ...

9
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
09.06.2014, 16:38 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
 
using namespace std;
 
char a[1000];
double x;
vector <double> vec;
 
int main()
{
    freopen(".in", "r", stdin);
    freopen(".out", "w", stdout);
    while (scanf("%s", a) != EOF)
    {
        x = atof(a);
        if (x != 0 || a[0] == 0)
                    vec.push_back(x);
    }
}
Даже не является обязательным условие на наличие слова fail
0
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
09.06.2014, 17:21  [ТС] #3
там могут быть и другие числа, но нужно именно те которые после слова fail
0
Avazart
Нарушитель
Эксперт С++
7226 / 5398 / 291
Регистрация: 10.12.2010
Сообщений: 23,931
Записей в блоге: 17
09.06.2014, 17:25 #4
Через регулярные выражения, ну или "руками" разбор строки.
0
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
09.06.2014, 17:36  [ТС] #5
регулярных выражений нет же в плюсах , а руками нереально, ибо файл огромный
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 17:37 #6
Цитата Сообщение от virtuos553 Посмотреть сообщение
регулярных выражений нет же в плюсах , а руками нереально, ибо файл огромный
http://www.cplusplus.com/reference/regex/ тадам
0
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
09.06.2014, 17:44 #7
Как это нереально? За размер файла спокойно же делается.
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
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
 
using namespace std;
 
char a[1000];
double x;
vector <double> vec;
 
int main()
{
    freopen(".in", "r", stdin);
    freopen(".out", "w", stdout);
    while (scanf("%s", a) != EOF)
    {
        
        x = atof(a);
        if ((x != 0 || a[0] == '0') && flag) // число, после фейла
                    vec.push_back(x);
        if (x == 0 && a[0] != '0') // не число
             flag = 0;    
        if (strcmp(x, "fail") == 0) // fail
            flag = 1;
        
    }
}
0
Avazart
Нарушитель
Эксперт С++
7226 / 5398 / 291
Регистрация: 10.12.2010
Сообщений: 23,931
Записей в блоге: 17
09.06.2014, 20:20 #8
Цитата Сообщение от virtuos553 Посмотреть сообщение
регулярных выражений нет же в плюсах , а руками нереально, ибо файл огромный
Есть boost, есть другие фреймворки.

Добавлено через 1 минуту
Цитата Сообщение от virtuos553 Посмотреть сообщение
а руками нереально
Читай Страуструпа ищи пример калькулятора.
0
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
10.06.2014, 13:44  [ТС] #9
я его читал, там пример обратного польского калькулятора, если мне память не изменяет, там показан пример использования стеков
0
Avazart
Нарушитель
Эксперт С++
7226 / 5398 / 291
Регистрация: 10.12.2010
Сообщений: 23,931
Записей в блоге: 17
10.06.2014, 14:19 #10
Цитата Сообщение от virtuos553 Посмотреть сообщение
я его читал,
Ну так почему проблема с разбором строки ?
0
10.06.2014, 14:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2014, 14:19
Привет! Вот еще темы с ответами:

Все четные числа из файла записать во второй файл, а нечетные — в третий файл - C++
Имеется файл, элементами которого являются целые числа. Все четные числа этого файла записать во второй файл, а нечетные — в третий файл....

Записать в вектор случайные числа в заданном диапазоне - C++
нужно записать в вектор от 10 до 15 случайных чисел от -10 до 10 сделал вот так #include &lt;iostream&gt; #include &lt;string&gt; ...

Записать в вектор строки разной длины из файла - C++
Всем добрый день, ситуация следующая: не могу записать в вектор строки разной длины из файла допустим есть файл под названием first.txt...

Сформировать вектор, в который записать номера строк, в которых все элементы массива одинаковы. - C++
Дан двумерный массив A размера m*n. Сформировать вектор В, в который записать номера строк , в которых все элементы одинаковы. Если можно...


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

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

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