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

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

Войти
Регистрация
Восстановить пароль
 
Zukokun
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 6
#1

Чтение массива из файла - C++

10.12.2013, 23:43. Просмотров 271. Ответов 1
Метки нет (Все метки)

В интернете целая куча статей по чтению из текстового файла, но насколько я понял все сводится к чтению либо символа, либо строки, либо, если известен размер числа, то считывание числа.
Ответа для моей задачи я не нашел, ну или не смог разобраться, поэтому пишу здесь.
Есть текстовый файл в начале которого написана размерность массива после чего идут числа значений каждой ячейки массива. Задача сформировать в программе этот массив.
Примерный вид файла:

ncols 3
nrows 4
1.00 60.00 150.00
500.00 300.00 100500.00
400.00 2500.00 1.00
350.00 490.00 560.00
После ncols и nrows много пробелов (по-видимому, форум несколько пробелов подряд приравнивает одному), далее по одному пробелу. Можно считывать построчно и вычленять необходимые значения, но что-то мне подсказывает, что можно это сделать проще, помогите плз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 23:43     Чтение массива из файла
Посмотрите здесь:

Чтение двухмерного массива из файла C++
C++ Чтение массива из файла
Быстрое чтение массива из файла C++
Чтение массива структур из файла C++
C++ Чтение массива из файла
C++ чтение определенного элемента массива из файла
C++ Чтение из файла массива
Чтение массива из файла C++
Чтение и вывод массива из файла C++
Чтение массива из файла C++
Запись и чтение массива из файла C++
C++ Чтение из файла массива структур

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5411 / 4807 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.12.2013, 00:05     Чтение массива из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    ifstream fin("file.txt");
    if (!fin) cout << "Error!" << endl;
    else
    {
        int cols;
        int rows;
        char str[10];
        
        fin >> str >> cols;
        fin >> str >> rows;
 
        double** arr = new double*[rows];
        for (int i = 0; i < rows; ++i)
            arr[i] = new double[cols];
 
        for (int i = 0; i < rows; ++i)
            for ( int j = 0; j < cols; ++j)
                fin >> arr[i][j];
 
        fin.close();
    }
Yandex
Объявления
11.12.2013, 00:05     Чтение массива из файла
Ответ Создать тему
Опции темы

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