スレを勃てるまでもないC/C++の質問はここで 15

このエントリーをはてなブックマークに追加
94デフォルトの名無しさん
9×9の2次元配列を3×3の小さなブロック9個で区切り左上から
0,1,2,
3,4,5,
6,7,8,と番号をつけるとします。
各番号のブロックにある数字を足し、1次元の配列にブロック内の数の合計を保存したいです。
以下のプログラムを書いた場合、1次元の配列の添え字を工夫すると簡単にプログラミングできる
と聞いたのですが、どうしても思いつきません。アドバイスお願いします。

(i=0;i<10;i++)
(j=0;j<10;j++)
total[ここの添え字を工夫]=data[i][j];

totalを2次元配列にする方法は思いつくのですが、1次元に保存する方法がどうしてもわかりません。
よろしくお願いします。