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

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

Восстановить пароль Регистрация
 
Мега Ксю
 Аватар для Мега Ксю
3 / 3 / 0
Регистрация: 02.03.2013
Сообщений: 56
03.10.2013, 20:29     Чтение из файла в массив #1
Всем привет! Извините, если такая тема уже поднималась, но я ничего не нашла....
У меня такая задачка. Есть два файлика, в одном матрица цифр, а в другом столбик цифр.. Мне из надо засунуть в вектора.. Как запихнуть столбик в вектор я разобралась, а с матрицей никак не получается..

Матрица в файле A.txt, столбик в B.txt, например так
A.txt
1 2 3 4
5 6 7 8
9 0 1 2

B.txt
0
1
2


Вот кусочек кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  ***
  std::vector<std::vector<int> > a;
  std::vector<int> b
  std::string fileName;
  int buffer;
 
  std::cout << "File name with matrix A -> ";
  std::cin >> fileName;
  std::ifstream inA(fileName.c_str());
 
  std::cout << "File name with matrix B -> ";
  std::cin >> fileName;
  std::ifstream inB(fileName.c_str());
 
  if (inA.is_open() && inB.is_open())
  {
    //while (inA >> buffer) a.push_back(buffer); Как записать матрицу в вектор A?
    while (inB >> buffer) b.push_back(buffer);
  }
  ***
P.S. Беда в том, что матрица может быть произвольного размера..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2013, 20:29     Чтение из файла в массив
Посмотрите здесь:

Чтение из файла в массив C++
Неполное чтение из файла в массив C++
C++ Чтение в двумерный массив из файла
чтение из файла (массив строк) C++
C++ Чтение из файла в массив
C++ Чтение из файла в массив
Чтение из файла в массив C++
Чтение из файла в динамический массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2013, 21:13     Чтение из файла в массив #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (inA.is_open() && inB.is_open())
  {
    std::vector<int> temp;
    while (inA >> buffer)
    {   temp.push_back(buffer);
        if (inA.peek() == '\n' || inA.peek() == EOF) 
        {
            a.push_back(temp);
            temp.clear();
        }
    }
    
      
      while (inB >> buffer) b.push_back(buffer);
  }
Yandex
Объявления
03.10.2013, 21:13     Чтение из файла в массив
Ответ Создать тему
Опции темы

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