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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
tatoxa
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 5
05.06.2012, 23:10     Чтение из файла и запись в массив на с++ #1
Добрый день. Хотелось бы попросить помощи. Необходимо считать данные из файла(данные измерений в виде матрицы - числа типа double. размерность колеблется) и записать в массив для дальнейших операций. Не могу разобраться с объявлением массива. Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2012, 23:10     Чтение из файла и запись в массив на с++
Посмотрите здесь:

Запись и чтение из файла C++
Си, Запись и Чтение из файла. C++
Запись файла в массив и чтение из него C++
Чтение/запись файла C++
C++ чтение чисел из файла и запись в массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cugop
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 3
05.06.2012, 23:38     Чтение из файла и запись в массив на с++ #2
Файл с данными бинарный или текстовый?
tatoxa
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 5
05.06.2012, 23:39  [ТС]     Чтение из файла и запись в массив на с++ #3
текстовый
Cugop
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 3
06.06.2012, 00:30     Чтение из файла и запись в массив на с++ #4
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
        ifstream filedata("data.txt");
        
        // подсчет количества чисел в текстовом файле       
        double buffdouble;
        int i=0;
        while(!filedata.eof())
        {
                filedata >> buffdouble;
                ++i;
        }
        filedata.close();
        filedata.clear();
                  
        // формирование динамического массива
        double * datadouble  = new double[i+1];
        
        // считывание данных с текстового файла и запись в динамический массив      
        filedata.open("data.txt");
        i=0;
        while(!filedata.eof())
        {
            filedata >> buffdouble;
            datadouble[i]=buffdouble;
            ++i;
        }
        filedata.close();
        filedata.clear();
          
        // работа с массивом
        // ...
          
        delete [] datadouble;
Возможно, есть помарки, код я не проверял, но идея должна быть верной.
tatoxa
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 5
06.06.2012, 01:38  [ТС]     Чтение из файла и запись в массив на с++ #5
это одномерный массив, у меня же проблема с многомерным. завтра попытаюсь подстроить под свою задачу
Cugop
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 3
07.06.2012, 05:02     Чтение из файла и запись в массив на с++ #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// двумерный массив можешь задать таким способом
 
int N; // количество столбцов
int M; // количество строк
 
N=10;
M=100;
 
double * datadouble  = new double[M*N+1]; 
double A;
A=100.01;
// присвоить значение элементу [i,j] =[2,5];
i=2;
j=5;
datadouble[N*(i-1)+j]=A;
 
// особенность данного динамического массива, в том что:
// 1) размерность начинается с [1,1] 
// 2) есть не используемый 0 элемент datadouble[0]
// 3) нужно, соответственно, знать каким образом организованны данные в файле, что бы не было ошибки 
// 4) не очень наглядный, но прост в исполнении
Успеха.
Yandex
Объявления
07.06.2012, 05:02     Чтение из файла и запись в массив на с++
Ответ Создать тему
Опции темы

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