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

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

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

считывание данных из файла в C++ - C++

02.01.2013, 18:53. Просмотров 616. Ответов 8
Метки нет (Все метки)

В файле находиться следующяя информация:

Name AIXTRON HANKORE_ENVM_TECH BOIRON
01.01.2009 4.78 0.039 17.34
02.01.2009 4.71 0.039 17
05.01.2009 4.77 0.043 17
06.01.2009 4.65 0.043 17.09 ...

Первая строка – названия, первый столбец даты, все остальное данные (double). Мне нужно считать данные в виде матрици.
Буду благодарна за любую помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2013, 18:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос считывание данных из файла в C++ (C++):

Считывание данных из файла - C++
Всем здравствуйте... вообщем создан пользовательский класс пассажир class Passenger: public Human { private: string...

Считывание данных из файла - C++
Всем привет, возник вопрос. Нужно считывать из .txt файла координаты точек в массив, размерность которого . Но т.к числа разделены "," ,...

Считывание данных из файла - C++
не могу считать данные из файла На вход программы подаются 365 строк, которые содержат информацию о среднесуточной температуре всех дней...

Считывание данных из файла - C++
// Laboratornaya_4.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "stdio.h" #include...

Считывание данных из файла - C++
Нужно реализовать вывод данных структуры из файла.. Задание: Заполнение футбольных команд и вывод их на экран. Вводим: название...

Считывание данных с файла - C++
Здравствуйте, помогите пожалуйста, программа не может прочитать данные из файла и я не знаю почему, вот код (dev-c++) if (*c==13) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.01.2013, 18:55 #2
Создаёте структуру с соответствующими полями. Создаёте массив структур и считываете в него файл.
1
iryde
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 15
02.01.2013, 19:21  [ТС] #3
Цитата Сообщение от David Sylva Посмотреть сообщение
Создаёте структуру с соответствующими полями. Создаёте массив структур и считываете в него файл.

Немного сложновато создать такую структуру - количество солбцов и строк неизвестно. В файл могут быть добавлены/ удалены акции или временные пункты.

Мой код должен быть вроде этого

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream.h>
#include <fstream.h>
 
int main()
{
        char path[] =   "e:\\1.txt";
  ifstream in(path); // input
 
  if(!in) {
    cout << "Cannot open file.\n";
    return 1;
  }
 
  double d;
  int cnt = 0;
  // получение количества дробных чисел в файле
  while(!in.eof())
  {
        in >> d;
        cnt++;
  }
 
  char buf[256];
  int rows_cnt = 0;
 
  in.close();
  in.clear();
  in.open(path);
 
  // получение количества строк
  while(!in.eof())
  {
        in.getline(buf, 255);
        rows_cnt++;
  }
  in.close();
  in.clear();
 
  // получение количества столбцов
  int cols_cnt =    cnt/rows_cnt;
 
  // создание матрицы
  double **matrix = new double*[rows_cnt];
  for(int i=0; i<rows_cnt; i++)
        matrix[i] = new double[cols_cnt];
 
  in.open(path);
  // чтение матрицы
  for(int i=0; i<rows_cnt; i++)
  {
        for(int j=0; j<cols_cnt; j++)
        {
                 in>>matrix[i][j];
                 cout<<matrix[i][j]<<" ";
        }
        cout<<endl;
  }
 
  // заглушка, чтобы консоль не закрылась
  cin>> d;
  return 0;
}
Я не знаю как его видоизменить для того чтобы отдельно считать строку с названиями акций
и столбец с временными пунктами.
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.01.2013, 19:23 #4
Ссылка не работает.

Добавлено через 1 минуту
Цитата Сообщение от iryde Посмотреть сообщение
Мне нужно считать данные в виде матрици.
Это как?
1
iryde
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 15
02.01.2013, 19:26  [ТС] #5
Матрица значений
4.78 0.039 17.34
4.71 0.039 17
4.77 0.043 17
4.65 0.043 17.09 ...
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
02.01.2013, 19:28 #6
Цитата Сообщение от iryde Посмотреть сообщение
Я не знаю как его видоизменить для того чтобы отдельно считать строку с названиями акций
и столбец с временными пунктами.
Они разделены пробелами и новыми строками. Исходя из этого измени цикл чтения информации.
1
iryde
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 15
02.01.2013, 19:40  [ТС] #7
Цитата Сообщение от KeyGen Посмотреть сообщение
Они разделены пробелами и новыми строками. Исходя из этого измени цикл чтения информации.
Каким образом его изменить?

Как из исходящего текстового файла
Name AIXTRON HANKORE_ENVM_TECH BOIRON
01.01.2009 4.78 0.039 17.34
02.01.2009 4.71 0.039 17
05.01.2009 4.77 0.043 17
06.01.2009 4.65 0.043 17.09 ...
считать матрицу данных
4.78 0.039 17.34
4.71 0.039 17
4.77 0.043 17
4.65 0.043 17.09 ...?

Первая строка и первый столбец имеют другой формат..
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
02.01.2013, 19:54 #8
Тут нужна структура. Из структур уже и лепить матрицу. Или же тебе названия и даты не нужны. А просто цифры с точкой в массив всунуть 3хN. Массив имеет один формат...
1
Croessmah
Эксперт CЭксперт С++
13202 / 7473 / 839
Регистрация: 27.09.2012
Сообщений: 18,367
Записей в блоге: 3
Завершенные тесты: 1
02.01.2013, 20:00 #9
Можно, например, первую строку разбивать и пихать в
C++
1
vector<string>
А всё остальное в структуру типа
C++
1
2
Date date;
vector<double> xxx;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2013, 20:00
Привет! Вот еще темы с ответами:

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

Считывание данных из файла - C++
Есть файл в котором содержится число 145. Мне нужно считать из файла это число без числа 5, то есть все числа до числа 5. Помогите.

Считывание данных из файла - C++
у меня такая проблема: считываю данные из файла открытого fopen для чтения, символы записываются в символьный массив, как только считывание...

Считывание данных из файла - C++
почему не првильно работает считывание из файла? #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;malloc.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.01.2013, 20:00
Ответ Создать тему
Опции темы

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