• 締切済み

C言語の問題で一部分からないところがあります。

C言語の問題で2つの4x4行列の2次元配列に格納し、それらの積を求めるというプログラムで以下のような関数を作成しました。 #include <stdio.h> void m_ena(int a0[4][4], int a1[4][4], int result[4][4]); int main(void) { } void m_ena(int a0[4][4], int a1[4][4], int result[4][4]) { int a[4][4], b[4][4], r[4][4]; int i, j; for(i=0; i<4; i++){ for(j=0; j<4; j++){ scanf("%d", &a[i][j]); } } for(i=0; i<4; i++){ for(j=0; j<4; j++){ scanf("%d", &b[i][j]); } } for(i=0; i<4; i++){ for(j=0; j<4; j++){ r[4][4] = a[i][j]*b[i][j]; } } } ここまで出来たのはいいのですが、これ以降どのようにメイン関数に書けばいいのか分からず困っています。 この問題は必ず上記関数を使う必要がありますのでどうぞよろしくお願いします。

みんなの回答

  • ohkinu1972
  • ベストアンサー率44% (458/1028)
回答No.2

m_ena関数の引数が関数の中で使われていません。 問題がよく分かりませんが、 scanfで二つの行列を読み込むところは、 main関数の中でやるんじゃないでしょうか? その上で、 m_ena(a0, a1, result); などと書いて関数を呼び出して計算させ、 あとは、printfで結果を出力するくらいでしょうか。

すると、全ての回答が全文表示されます。
  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.1

とりあえずmain関数からm_ena関数を呼ぶだけでしたら int main (void) { m_ena(a0, a1, result) ; } のように書けば呼び出しは可能ですが、そのままではコンパイルのエラーが出たり、その他色々問題があります。 仮引数と実引数の関係に関してもう少し調べてみてください。

すると、全ての回答が全文表示されます。

関連するQ&A