したがって、クラスを介して 2D 値を格納するために使用している線形ベクトルがあります。値を逆に出力したいと思います...つまり、値(0,0)
は左下を(max_x,max_y)
占め、右上を占めます...典型的なデカルトグリッドのように。これが私のコードです:
std::string ss="";
int i=0;
for (std::vector<real>::reverse_iterator it= vector.rbegin(); it!=vector.rend();++it)
{
if (lineChanger==max_x)
{
std::cout<<ss<<std::endl;
ss=""; lineChanger=0;
}
ss=std::to_string(*it) +"|"+ ss;
lineChanger++;
}
注: 文字列を使用せずに直接印刷すると、順序が逆になるだけですべて問題ありません。すべてのメンバー関数が機能するようになり
ましたメインコードで、std::fill
必要な値でベクトルを埋めるために使用します(クラス関数呼び出し)。次に、いくつかの値を変更します (例: at(0,0)
および(max_x,max_y)
手動)。(メンバー関数)だから、6x6 = 36サイズのベクトルに2.38を入力してから変更したとします。ここで、アクセスする最初の値 (ベクトルの最後、逆反復子の最初) を 3 に変更し、プログラムを実行します。出力:
2.380000|2.380000|2.380000|2.380000|2.380000|2.380000|
2.380000|2.380000|2.380000|2.380000|2.380000|2.380000|
2.380000|2.380000|2.380000|2.380000|2.380000|2.380000|
2.380000|2.380000|2.380000|2.380000|2.380000|2.380000|
2.380000|2.380000|2.380000|2.380000|2.380000|2.380000|
それはベクトル全体のサイズです。最初の std::fill 値しか取得できません...何が問題なのですか? []
オペレーターを避けたい。