私は2つのメンバ変数を持つ構造体を持っています、それぞれintです。各繰り返しで異なる点から始まるC++配列の印刷ループを書くには?
struct trash
{
int sector;
int weight;
};
私は各要素にこれらの構造体の1つが含まれている配列を持っています。すべてのデータは、設定された範囲内でランダムに生成されます。この場合、セクタは1-7からランダムに生成されます。また、配列はこの例ではサイズ15です。したがって、各セクターには、それに関連する重み変数の乱数があります。私が達成しようとしているのは、各セクターにどのような杭が属しているかを印刷することです。だから、フォーマットは、この
Sector 1
Pile 1: xxx
Pile 2: xxx
...
Sector 2
Pile 1: xxx
....
Sector 7
ようになっているはずというようにそれが意味
を行った場合、この時私の試みは、これまでに最初のものから最大の部門で構造体の配列をソートしてからプリントアウトすることでしたforループを使用して配列全体を反復することにより、一言で言えば、セクタごとにソートされた後に配列をプリントアウトするだけですが、セクタごとに分割してください。私の人生は、コンパクトで簡潔な方法でこれを達成する方法を理解しているようです。以下は私が今書いたループです。なぜなら、内側のループが毎回同じポイントから始まるからです。
for(int i=0;i<NUM_SEC;i++)
{
cout<<"Sector "<<(i+1)<<endl;
for(int j=0;j<num_piles[i];j++)
{
cout<<"Pile "<<(j+1)<<": "<<data[j].weight<<endl;
cout<<endl;
}
}
私はすでにプログラムのこの小さな側面と非常にイライラしている時間を費やしてきました。
このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –
"時間"は非常に長い時間ではありません。 –