C で書き直したいこのコードが与えられました。目的は、行列 A と B を乗算することです。
for i := 1 to n do
for j := 1 to n do
begin
C[i,j] := 0;
for k := 1 to n do
C[i,j] := C[i,j] + A[i,k]*B[k,j]
end;
私のCへの翻訳:
int main(int argc, const char * argv[])
{
int n = 2; //for testing
int i = n;
int j = n;
int k = n;
int A[i][k];
int B[k][j];
int C[i][j];
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
C[i][j]=0;
for (int k=0; k<n; k++)
{
C[i][j] = C[i][j]+A[i][k]*B[k][j];
printf("A[%d][%d]*B[%d][%d]\n", i, k, k, j);
}
printf("\n");
}
}
}
ただし、テストすると、n^3 の出力が得られます。上記の疑似コードのコーディングでエラーが発生しましたか? さらに、始まりと終わりは何ですか。表すと思いますか?