基本行列演算のための単純なライブラリ関数を作成しています。あまりにも多くのパラメータが渡されましたが、一方で私は渡されたすべてのパラメータが必要であり、関数内でそれらを直接取得する方法は他にありません。行列の追加のためにライブラリ関数を作成しているときに、関数に渡されるパラメータの最小数は何ですか?
ので、ここでのコードスニペットです:もちろん
void mat_add(int r1, int c1, int m1[][c1], int r2, int c2, int m2[][c2],int res[][c1])
{
if (r1 == r2 && c1 == c2)
{
for (int i = 0; i < r1; i++)
{
for (int j = 0; j < c1; j++)
{
res[i][j] = m1[i][j] + m2[i][j];
}
}
}
else
{
fprintf(stderr, "ERROR:matrix sizes are not same\n");
exit(-1);
}
}
は、その本当の必要なパラメータを渡す必要があり、
が、私は本当に私がやっているものを知らないが、それが減少したりすることができ、あまりにも多くありますない、
渡されるパラメータの数を減らして、関数内のそれらのデータから必要なデータ(#rowsと#columns)を得る方法はありますか?
if(r1 == c2 && c1 == r2) 'ではないはずですか?つまり、m1の行はm2の列に一致し、m1の列はm2の行に一致する必要がありますか? –
1つの言語を選択します。違いがあります。いずれにせよ、最小数はゼロ(0)である。 –
今後、句読点を使用することを検討してください。 – MikeC