これは初歩的な質問かもしれません。私は C++ を初めて使用し、メモリに収まらない可能性のある巨大なランダム マトリックスを実装したいと考えています。したがって、ファイルに書き込んで、ストリーム内の要素ごとに読み込む必要があると思います。
私が確認したいのは、要素がしきい値よりも小さいかどうかです。はいの場合、要素 (i,j) のインデックスを格納用の stl ベクトルにプッシュし、いいえの場合、次の要素に移動します。
基本的に、行列AJM
を に書き込み、matrix.dat
その要素を次のように読み取る2 行が必要です。
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
currentElement = "read AJM[i][j] from matrix.txt";
}
}
したがって、「matrix.txt から AJM[i][j] を読み取る」は明確ではありません。ファイル ポインターを i と j で指定された特定の位置に反復し、読み取るバイト数を指定することによって行われると思います。
matrix.dat
行列全体をメモリに保存しないように、インデックスを知っている要素を 1 つずつ読み書きする C++ コードを教えてください。
どうもありがとう!