2017-10-11 7 views
-3

100行100列の整数を含む.datファイルがあります。x行とx列を新しいベクトルに転送しようとしています。最初の行を希望の列にするが、次の行に移動しようとしていて、x行までは助けてください。これは私のコードです また、表示部分のいくつかの助け、私は複数の行と列を持つベクトルを表示する方法はわかりません。 data.at(i).at(j)しようとしたループのための二重のが、失敗したC++ファイルストリーム、.datファイルからベクトルへのデータのコピー

//variable 
int row, col; 
string fname; 
ifstream file; 
vector<int> data; 

//input 
cout << "Enter the number of rows in the map: "; cin >> row; 
cout << "Enter the number of columns in the map: "; cin >> col; 
cout << "Enter the file name to write: ";   cin >> fname; 

//open file 
file.open(fname, ios::in); // map-input-100-100.dat 

int temp; 
for (int i = 0; i < col; ++i) 
{ 
    file >> temp; 
    data.push_back(temp); 
} 
// display first row of data 
for (int i = 0; i < data.size(); ++i) cout << data.at(i) << ' '; 
cout << endl; 

答えて

0

コードは、このようなことができます:

vector<vector<int>> data; // instead of your definition of data:access data[r][c] 

for (int j = 0; j < row; ++j) 
{ 
    vector<int> x(column);   
    for (int i = 0; i < col; ++i) 
    { 
     file >> temp; 
     x[i] = temp; 
    } 
    data.push_back(x); 
} 
関連する問題