С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 42
1

Считать из файла в массив до пробела

05.07.2017, 13:07. Показов 1251. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как считать из файла в массив число до пробела
К примеру есть 3 числа, 2456 526777 2126237
И мне нужно чтобы в один массив занеслось только число 2456
В другой 526777 и тд
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2017, 13:07
Ответы с готовыми решениями:

Нужно записать массив в файл, а потом из этого файла считать этот же массив
Помогите, пожалуйста, никогда с файлами делов не имела. Нужно записать массив в файл, а потом из...

Считать строку до пробела
Как считать строку до пробела

Считать массив А с файла a.txt. после чего сформировать массив С в котором все отрицательные элементы с масси
Помогите написать программу на C++. Изучала этот язык меньше пол года, пока есть проблемы. очень...

считать строку после пробела
здравствуйте подскажите как считать строку после пробела #include <iostream> #include <string>...

4
174 / 134 / 105
Регистрация: 14.04.2016
Сообщений: 719
05.07.2017, 18:06 2
Если в массив известной длинны то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <string>
 
int main() {
 
    std::ifstream file("Test.txt");
    std::string buffer;
    int test_array[20];
    int count = 0;
 
    while (file >> buffer) {
 
        test_array[count] = std::stoi(buffer) + 10;
        count++;
 
    }
 
}
Или вам каждое число необходимо заносить в разные массивы, размером в 1 int значение?

Вариант с вектором:
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 <fstream>
#include <string>
#include <vector>
 
int main() {
 
    std::ifstream file("Test.txt");
    std::string buffer;
 
    std::vector<int> array;
 
    while (file >> buffer) {
 
        array.push_back(std::stoi(buffer) + 10);
 
    }
 
    for (int i = 0; i < (int)(array.size()); i++) {
        std::cout << array[i] << std::endl;
    }
 
}
0
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
05.07.2017, 20:17 3
Цитата Сообщение от SlavaSokolov Посмотреть сообщение
Вариант с вектором:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <vector>
 
int main()
{
    std::ifstream file("test.txt");
    std::vector<int> array;
    int value_tmp = 0;
 
    while (file >> value_tmp) 
        array.push_back(value_tmp);
 
    for (const auto &a : array)
        std::cout << a << std::endl;
 
    file.close();
}
0
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 42
06.07.2017, 02:55  [ТС] 4
Да, тоесть мне нужно чтобы к примеру 3 числа в файле 256 243 156
И a[0]=2; a[1]=5, a[2]=6
b[0]=2;b[1]=4;b[2]=3
c[0]=1; c[1]=5; c[2]=6
Но числа могут быть произвольными
0
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
06.07.2017, 10:17 5
Как понял, так и сделал.
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
39
40
41
#include <iostream>
#include <fstream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>
 
void get_data(std::istream& _in, std::vector<std::vector<unsigned> >& a){
    a.clear();
    std::for_each(std::istream_iterator<unsigned>(_in), std::istream_iterator<unsigned>(), 
        [&a] (unsigned n){
        a.push_back(std::vector<unsigned>());
        std::vector<unsigned>& v = a.back();
        do {
            v.insert(v.begin(), n % 10);
        } while((n /= 10) != 0);        
    });
}
 
int main(void){
    std::vector<std::vector<unsigned> > a;
 
    //ввод из строки
    char s[] = "2456 526777 2126237";
    std::istringstream sp(s);
    get_data(sp, a);
/*
    ввод из файла
    std::ifstream fp("file.txt");
    get_data(fp, a);
    fp.close();
*/
    std::vector<unsigned>::size_type i, j;
    for(i = 0; i < a.size(); ++i){
        for(j = 0; j < a[i].size(); ++j)
            std::cout << a[i][j] << ' ';
        std::cout << std::endl;
    }
    std::cin.get();
    return 0;
}
0
06.07.2017, 10:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2017, 10:17
Помогаю со студенческими работами здесь

Считать с файла в массив
Подскажите, как считать посимвольно из файла в двумерный массив через fscanf? например в файле: ...

Считать из файла в массив
Добрый день форумчани, у меня маленькое недопонимание. В смысле я не могу считать из файла в...

Считать массив А(n) из файла
Колокол. Считать массив А(n) из файла. В массиве наименьший элемент поместить на первое место,...

Считать из файла в массив char
Имеется массив char, в который из файла нужно считать строку. Для считывания использую данную...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru