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

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

Войти
Регистрация
Восстановить пароль
 
LyciferAnZ
3 / 6 / 2
Регистрация: 28.09.2016
Сообщений: 192
#1

Занести числа из текстового файла в динамический массив - C++

28.09.2016, 17:13. Просмотров 282. Ответов 9
Метки нет (Все метки)

Задача такова:
1). Нужно считать числа с файла (*.txt).
Пример файла:
39 45
50 47
102 53
86 53
49 50
54 47
... ...
(чисел может бить много, но всегда в одной строке по два числа)
2). Нужно занести эти числа в динамический массив.
Пример:
mas[] = {39,45,50,47,102,53,86,53,49,50,54,47,...,n}
3). Нужно разбить этот массив еще на два массива.
Пример:
demas[] = {39,50,102,86,49,54,...,n}
dekey[] = {45,47,53,53,50,47,...,n}
Спасибо заранее!)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2016, 17:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Занести числа из текстового файла в динамический массив (C++):

Занести в бинарный файл h из текстового файла t целые числа, упорядоченные по возрастанию - C++
Не получается..(((киньте идеи.. В текстовом файле t записаны целые числа, упорядоченные по убыванию. Занести в бинарный файл h из...

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

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

Как занести содержание текстового файла в одну строку? - C++
Нужно занести содержание текстового файла в одну строку. Делаю так: CFile m_pFile; char txtBuffer; m_pFile.Open ( *m_pPath,...

Считать из текстового файла рандомные числа и поместить в отдельный массив - C++
Помогите,не могу разобраться.Вот у меня есть текстовой файл,в нем скажем есть 30 000 разных чисел,как мне считать из файла рандомных 800...

В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. - C++
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.

9
nmcf
5754 / 5065 / 1733
Регистрация: 14.04.2014
Сообщений: 20,749
28.09.2016, 17:16 #2
Ну ifstream используй. В чём сложность-то?
0
LyciferAnZ
3 / 6 / 2
Регистрация: 28.09.2016
Сообщений: 192
28.09.2016, 17:18  [ТС] #3
Нормально не заноситься в массив

Добавлено через 32 секунды
Я считую вот так:
C++
1
2
3
4
5
6
7
8
    ifstream file("out.txt");
    int kil,n=0;
    while (file>>kil) {
        int demas[12];
        demas[n]=kil;
        n++;
        cout<<demas[n]<<" ";
    }
0
nd2
2414 / 2003 / 705
Регистрация: 29.01.2016
Сообщений: 6,552
28.09.2016, 18:22 #4
Цитата Сообщение от LyciferAnZ Посмотреть сообщение
Я считую вот так:
На каждой итерации цикла новый массив создаёшь?
0
nmcf
5754 / 5065 / 1733
Регистрация: 14.04.2014
Сообщений: 20,749
28.09.2016, 18:35 #5
С нединамическими массивами:
C++
1
2
3
4
5
6
7
8
9
10
11
int demas[100];
int dekey[100];
 
    ifstream file("out.txt");
    int kil,n=0;
 
    while (file >> demas[n] >> dekey[n])
    {
        cout << demas [n] <<" ";
        ++n;
    }
0
LyciferAnZ
3 / 6 / 2
Регистрация: 28.09.2016
Сообщений: 192
28.09.2016, 18:40  [ТС] #6
nd2, Непонял вопрос(
Переделал код, пашет норм, но осталься 3 пункт (смотрите шапку)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    fstream fs("out.txt");
    if (!fs) {
        cout << "File not found\n";
        system("pause");
    }
    int count = 0;
    int a;
    while (fs >> a) {
        count++;
    }
    fs.clear();
    fs.seekg(0);
    int *mas = new int[count];
    for (int i=0;i<count;i++) {
        fs >> mas[i];
    }
    for (int i=0;i<count;i++) {
        cout<<mas[i]<<' ';
    }
    cout<<"\n";
    fs.close();
    system("pause");
Добавлено через 3 минуты
nmcf, Не тут нужен именно динамический т.к. ето будет дешифратор)
0
nmcf
5754 / 5065 / 1733
Регистрация: 14.04.2014
Сообщений: 20,749
28.09.2016, 18:44 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    fstream fs("out.txt");
    if (!fs) {
        cout << "File not found\n";
        system("pause");
        return 0;
    }
    int count = 0;
    int a;
    while (fs >> a) {
        count++;
    }
 
    fs.clear();
    fs.seekg(0);
 
    int *demas = new int[count / 2];
    int *dekey = new int[count / 2];
    int n = 0;
 
    while (file >> demas[n] >> dekey[n]) ++n;
1
LyciferAnZ
3 / 6 / 2
Регистрация: 28.09.2016
Сообщений: 192
28.09.2016, 18:54  [ТС] #8
nmcf, Ето Ви сразу на 2 масива поделили? Да? Если да, то так даже лучше)

Добавлено через 6 минут
Блин ето же гениально спасибо большое nmcf, как я дурак сам не додумался(( Вообщем спасибо!
0
nmcf
5754 / 5065 / 1733
Регистрация: 14.04.2014
Сообщений: 20,749
28.09.2016, 19:00 #9
Ну а какой смысл их делить, если можно сразу считать?
0
LyciferAnZ
3 / 6 / 2
Регистрация: 28.09.2016
Сообщений: 192
28.09.2016, 20:14  [ТС] #10
nmcf, Та ето я как всегда ищю сложние пути
0
28.09.2016, 20:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2016, 20:14
Привет! Вот еще темы с ответами:

Как занести в массив содержимое файла? - C++
Каким образом можно занести содержимое текстового файла в массив? Т.е. имеется какой-либо читабельный (английский) текст в файле и его надо...

Найти простые числа и занести их в новый массив - C++
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. ...

Найти эти недостающие числа и занести в массив Б. - C++
Есть 2 массива A и B. Массив А состоит из 9 элементов, каждый элемент - число от 1 до 9, причем числа не повторются. Некоторые числа...

Считать из файла слова и занести их в массив string-ов - C++
Как считать слова из файла и занести их в массив типа string?


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

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

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