プログラミングC言語

画像

C言語関連280閲覧

ベストアンサー

1

1人がナイス!しています

その他の回答(1件)

0

Arduinoで遊んでみた。 print周りはArduinoの方言だから、適当に読み替えて。 // 行列の掛け算 // l行m列 × m行n列 → l行n列 #define l 2 #define m 3 #define n 2 void mul_array(const int (*x)[m], const int (*y)[n], int (*ans)[n]) { int ls, ms, ns; for (ls = 0; ls < l; ls++) { for (ns = 0; ns < n; ns++) { ans[ls][ns] = 0; for (ms = 0; ms < m; ms++) { ans[ls][ns] += x[ls][ms] * y[ms][ns]; } } } } void setup() { Serial.begin(115200); Serial.println("START"); int x[l][m] = {{1, 2, 3}, {4, 5, 6}}; int y[m][n] = {{1, 5}, {5, 3}, {8, 1}}; int ans[l][n]; int ls, ns; mul_array(x, y, ans); for (ls = 0; ls < l; ls++) { for (ns = 0; ns < n; ns++) { Serial.print(ans[ls][ns]); Serial.print("\t"); } Serial.print("\n"); } Serial.println("END"); } void loop() { }