2017-02-12 2 views
0

現在、グラフの変数を定義するテキストファイルをユーザーが入力できるようにするプログラムをC++で作成しようとしています。次のように形式は:グラフ変数を定義するためのファイルベースの入力

int numberOfNodes 
     //node 0, node 1 , node 2 
float distance1, distance2, distance3 //node 0 
float distance1, distance2, distance3 //node 1 
float distance1, distance2, distance3 //node 2 

各ノード間の距離を指定することになる3×3のグリッドが、ある理由である(3ているノードの数)。 contectため

: filedata.txt

3 
0 1 2 
1 0 3 
2 3 0 

は、私はあなたが開くファイルを選択するためにはifstreamとともに、fstreamのを使用してファイル入力を使用することを理解しています。私が理解していないことは、このデータを文脈に入れる方法です。

最初の行は常にリストにあるノードの数になりますが、最初の行の下にあるものは自分のリストに書きたいデータであると私にどのように伝えますか?そのような入力と

while (infile >> size) 
{ 
    cout <<"Total number of Verticies in Graph = "<< size << endl; 
} 

答えて

1

3 

最初の行の数を読み、forループに入る:

infile >> numrows; 
for(int row = 0; i < numrows; ++i) { 
} 

後続の入力が

として読み取ることができます
0 1 2 
1 0 3 
2 3 0 

infile >> distance1 >> distance2 >> distance3; 

ループ内。

+0

コメントありがとうございますが、私はこれが何を探していると思いません。私はファイルからデータを読み取る必要があります。 "cin >> numrows"はデータのユーザータイプを作成します。テキストファイルを使用してフィールドに入力する必要があります – Darision

+0

@Darision 'cin'を' infile'の人に置き換えてください! –

+0

ポテトのおかげで申し訳ありませんが、それはおいしかった、ありがとう! – Darision

関連する問題