Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
andry97
0 / 0 / 0
Регистрация: 31.10.2015
Сообщений: 2
1

Считать данные текстового файла в массив

31.10.2015, 00:25. Просмотров 774. Ответов 3
Метки нет (Все метки)

Здравствуйте знатоки.
Есть файл file.txt в котором содержатся числа например массив из 5 символов (сам массив не определён и чисел на много больше, но для начала нужно разобраться с лёгкого).
Вот массив:
1 2 3
4 5 6
7 8 9
Как мне его считать с текстового файла и занести в двухмерный массив?
Пишу код:
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 <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <windows.h>
#include <clocale>
#include <iomanip>
#include <math.h>
#include <fstream>
using namespace std;
 
int main(){
 
   std::ifstream file("file.txt");
int n, m;
file >> n >> m;
 
//Создаём динамически двумерный массив и считываем информацию:
int* data=new int[n*m];
int** array=new int*[m];
for(int i=0; i<m; i++)
{
    array[i]=data+i*n;
    for(int j=0; j<n; j++)
        file >> array[i][j];
}
   return 0;
}
Но у меня либо не считывает ничего либо, если пошаманить над кодом считывает только первое значение.
Полноценно работает и считывает все значения только:
C++
1
2
3
4
    ifstream f1("file.txt"); //Открыли файл для чтения
      while (!f1.eof()){ //Проходим по всему файлу, сдвигая указатель посимвольно
            ch=f1.get(); //считываем символ с элемента, на который указывает указатель f1
         cout<<char(ch); //выводим символ на экран
Но данные не в массиве, а мне нужно провести математические операции с ними. Помогите кто может.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2015, 00:25
Ответы с готовыми решениями:

Файл: Необходимо считать данные из текстового файла в массив.
Доброго времени суток. Задача следующая: необходимо считать одномерный массив...

Считать данные из текстового файла и записать их в массив float-ов
Помогите пожалуйста!!!Очень нужно! как считать данные из txt файла и записать...

Не получается считать из текстового файла данные о студентах и записать в структуру
Мне нужно написать программу которая на основе данных о студентах что-то...

Считать данные из текстового файла, переписать в бинарный, и вывести в виде выровненной таблицы
считываю из файла имя, фамилию, номер телефона и тип. необходимо переписать это...

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

3
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
31.10.2015, 08:28 2
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
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <windows.h>
#include <clocale>
#include <iomanip>
#include <math.h>
#include <fstream>
using namespace std;
 
int main()
{
   int n, m;
 
   std::ifstream file("file.txt");
 
   file >> n >> m;
 
//Создаём динамически двумерный массив и считываем информацию:
 
   int** array = new int*[n];
 
   for(int i = 0; i < n; ++i)
   {
       array[i] = new int[m];
       for(int j = 0; j < n; ++j) file >> array[i][j];
   }
 
   // здесь математические операции
 
   for(int i = 0; i < n; ++i) delete[] array[i];
   delete[] array;
 
}
1
andry97
0 / 0 / 0
Регистрация: 31.10.2015
Сообщений: 2
01.11.2015, 15:06  [ТС] 3
Спасибо большое!

Добавлено через 7 минут
А как сделать что-бы считать дробные числа?
Замена int на long не помогает.
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
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <windows.h>
#include <clocale>
#include <iomanip>
#include <math.h>
#include <fstream>
using namespace std;
 
int main()
{
   int n, m;
 
   std::ifstream file("file.txt");
 
   file >> n >> m;
 
//Создаём динамически двумерный массив и считываем информацию:
 
   long** array = new long*[n];
 
   for(int i = 0; i < n; ++i)
   {
       array[i] = new long[m];
       for(int j = 0; j < n; ++j)
       {
        file >> array[i][j];
        cout << array[i][j] <<" ";
       }
       cout <<"\n";
   }
 
   // здесь математические операции
 
   for(int i = 0; i < n; ++i)
    delete[] array[i];
    delete[] array;
 
}
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
01.11.2015, 15:07 4
на double поменяйте
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2015, 15:07

Из текстового файла считать массив целых чисел
Из текстового файла input.txt считать массив целых чисел. Предполагается, что...

Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод)
Здравствуйте! Очень прошу о помощи! Суть задания - дан текстовый файл, нужно...

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


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

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

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