2014-09-10 1 views
0

Я борюсь с перегрузкой оператора ifstream, чтобы получить входной файл из матрицы в матричной форме и создать 2D-массив. Это для матрицы 3x3. Это небольшая часть задания, без которого все мое назначение совершенно бессмысленно.Как использовать ifstream для ввода файла в 2D-массив?

пример файла:

1 2 3 
4 5 6 
7 8 6 
+0

К сожалению файл примера должен был быть матрица 3х3 – newProgrammerOnTheBlock

+1

Пожалуйста, покажите нам, что вы пытались первым. – 0x499602D2

+0

Согласен. Это слишком просто; кажется, вы вообще ничего не делали, или вы уже узнали, как это прочитать. –

ответ

0

Я сделал так ...

#include <iostream> 
#include <fstream> 
#include <string> 
#include <sstream> 

using namespace std; 

int main() 
{ 
    int data[3][3]; 
    int i = 0; 
    int j = 0; 
    ifstream in(filename); 
    std::string line; 
    std::string temp; 
    while(std::getline(in, line)) 
    { 
     std::istringstream iss(line); 

     // Parse each line using the input string stream 
     j = 0; 
     while(std::getline(iss,temp,' ')) 
     { 
     data[i][j] = std::stoi(temp); 
     j++; 
     } 
     i++; 
    } 
    return 0; 
} 
Смежные вопросы