/* Initialize matrix with values from 0 to N*N. */
void
init_matrix_seq (unsigned N, float * m)
{
unsigned i;
for (i = 0; i < N*N; ++i)
m[i] = (float) i;
}
つまり、1 次元で N*N 要素を処理するために 1 つのループが使用されているように見えます。列を循環する別のループを必要とせずに、これは C で可能ですか?
編集:
2D 配列を初期化し、この関数を呼び出すコードを次に示します。
A = (float *) malloc (N * N * sizeof (float));
B = (float *) malloc (N * N * sizeof (float));
init_matrix (N, A, 1.0);
init_matrix (N, B, 1.0);