- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 2次元配列の積について)
C言語での行列の掛け算プログラムの作成
このQ&Aのポイント
- 4行3列と3行4列の行列の掛け算プログラムについての演習。
- 行列の入力をキーボードから受け取り、それに基づいた計算結果を得たいと考えている。
- プログラムにおいて、意図とは異なる結果を得てしまい悩んでいる入門者の相談。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そのまんまの演習問題の答えがここにあります。 https://meikaicansewer.blogspot.com/2014/12/5-10.html
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
回答No.2
行列の積 https://lab-brains.as-1.co.jp/enjoy-learn/2023/07/50258/ 上記の「3行2列の行列と2行3列の行列の積」を参考に、[4行3列]×[3行4列]の計算をして下さい。 答えは4行4列になります。
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
>ここに出てくる「行列」とは、数学で出てくるあの「行列」のこと でしょうか。 まあそうでしょうね。 配列m[o][p]に値を放り込むところで a[i][j] * b[i][j] っていう計算してますが、 そもそもaは4行3列、bは3行4列なので a[i][j]のjは0~2が有効のはず、また、b[i][j]のiは0~2が有効のはず。 というわけで、配列の定義範囲外の領域に アクセスしているように見えて仕方がありません。 また、積であるmの例えば1行1列目って、 aの1行1列 * bの1行1列 aの1行2列 * bの2行1列 aの1行3列 * bの3行1列 の和として表わせるって高校で習いました。 これを表現するコードが見当たらないようにも見えます。
お礼