このインライン関数を定義しようとしています。決定木 (オペレーションズ リサーチで使用される特定の二分木) を作成します。
これはコードです:
inline void printTreeFile(int* i_node,int* j_node,int* q_infr,int* value,int nStart,int level,std::fstream& tree)
{ int spazi=0,len,stop;
for(int actual_level=0;actual_level<level;actual_level++)
{spazi+=9;
if(i_node[actual_level]==0)
len=1;
else
len=(int)log10(i_node[actual_level])+1;
spazi+=len;
if(j_node[actual_level]==0)
len=1;
else
len=(int)log10(j_node[actual_level])+1;
spazi+=len;
if(q_infr[actual_level]==0)
len=1;
else
len=(int)log10(q_infr[actual_level])+1;
spazi+=len;
}
if(value[level]==0)
{
tree<<"-->("<<i_node[level]<<","<<j_node[level]<<","<<q_infr[level]<<"=1)";
tree<<endl;
for(int i=0;i<spazi;i++)
tree<<" ";
tree<<"-->("<<i_node[level]<<","<<j_node[level]<<","<<q_infr[level]<<"=0)";
}
else
tree<<"-->("<<i_node[level]<<","<<j_node[level]<<","<<q_infr[level]<<"=1)";
//cin>>stop;
}
は main で次のstd::fstream& tree
ように定義されています。
fstream tree;
remove("tree");
tree.open("tree",ios::out|ios::app);
tree
コマンドが実行されるまでファイルが空である理由がわかりませんtree<<endl;
そのコマンドを待たずにツリーがどのように進化するかを確認する必要があります...誰もこの問題の解決策を知っていますか? 答えてくれてありがとう!