私はC++の新機能で、テキストファイルから読み込んだ2次元平面に点のベクトルを作成しようとしています。これを行うには、まず、pointという2つの値(x、y)からなる構造体を作成します。次に、vecと呼ばれるこれらの点のベクトル。しかし、私はどのようにテキストファイルが3つの列にあるときに構造体データを設定するのか分からない!最初の列はポイントのインデックスに、2列目はxデータ、3列目はyデータです。私はvecのサイズを知らないので使用しようとしていますpush_back()
これまで私がこれまで持っていたことはここにあります。2つの列を持つテキストファイルからベクトルを取り込む方法C++
int main(){
struct point{
std::vector<x> vec_x;
std::vector<y> vec_y;
};
std::vector<point> vec;
vec.reserve(1000);
push_back();
ifstream file;
file.open ("textfile.txt");
if (textfile.is_open()){
/* want to populate x with second column and y with third column */
}
else std::cout << "Unable to open file";
}
コメントは次のとおりです。
while(file >> x)
vec.push_back (x);
while(file >> y)
vec.push_back (y);
これは非常に簡単ですが、私には謝罪です!以下は、6ポイントしかないtxtファイルの例です。
0 131 842
1 4033 90
2 886 9013490
3 988534 8695
4 2125 10
5 4084 474
6 863 25
EDIT
while (file >> z >> x >> y){
struct point{
int x;
int y;
};
std::vector<point> vec;
vec.push_back (x);
vec.push_back (y);
}
ようなものになるだろうあなたの助けをありがとう!私はまだこれに苦しんでいます。私は質問を編集しました。正しい軌道にいるかどうか教えてください。乾杯! – AngusTheMan
@AngusTheManちょっとしたことですが、また多くの。簡単なサンプルプログラムのための私の更新された答えを見てください。 –
ありがとうございました! – AngusTheMan