演習課題1-15

二次元配列−3x3行列の和、差、積

問題

 

演習問題の考え方

アルゴリズム

定数: 行列の大きさ N

定数: 機能番号0 「終了」

機能番号1 「行列の入力」

機能番号2

「行列の表示」


機能番号3 「行列の和」

機能番号4 「行列の差」

機能番号5 「行列の積」

機能番号6 「中間式の表示」

主プログラム

変数: 機能番号 int functionNo

操作する行列番号 int matrixNo

配列1 int matrix1[N][N]

配列2 int matrix2[N][N]

計算結果 int matrix3[N][N]
1. 機能を一覧表示する。
2. 機能番号を入力する。
3. 機能番号が「終了」でない限り以下の処理を繰り返す。
3-1. 機能番号が「行列の入力」ならば、以下の処理を実行する。
3-1-1. 行列番号(1=配列1 or 2=配列2)を入力する。
3-1-2. 指定された行列に値を入力する。
3-2. 機能番号が「行列の表示」ならば、以下の処理を実行する。
3-2-1. 行列番号(1=配列1, 2=配列2  or 3=計算結果)を入力する。
3-2-2. 指定された行列を表示する。
3-3. 機能番号が「行列の和」ならば、行列の和を求める。
3-4. 機能番号が「行列の差」ならば、行列の差を求める。
3-5. 機能番号が「行列の積」ならば、行列の積を求める。
3-6. 機能番号が「中間式の表示」ならば、行列の積を求める中間式を表示する。
3-7. 機能を一覧表示する。
3-8. 機能番号を入力する。

指定された行列に値を入力する

引数:指定された行列

アルゴリズムはプログラミング演習1-10を参考にすること。

指定された行列を表示する

引数:指定された行列

アルゴリズムはプログラミング演習1-10を参考にすること。

行列の和を求める

引数:行列1、行列2、計算結果

1. 各行row に対して以下の処理を繰り返す
1-1. 当該行の各列column に対して以下の処理を繰り返す。
1-1-1. 行列1のrow行 column列の値と行列2のrow行 column列の値を加えて、計算結果のrow行 column列に代入する。
 
行列の差を求める 

引数:行列1、行列2、計算結果

1. 各行row に対して以下の処理を繰り返す
1-1. 当該行の各列column に対して以下の処理を繰り返す。
1-1-1. 行列1のrow行 column列の値から行列2のrow行 column列の値を引いて、計算結果のrow行 column列に代入する。

行列の積を求める

引数:行列1、行列2、計算結果
1. 各行row に対して以下の処理を繰り返す
1-1. 当該行の各列column に対して以下の処理を繰り返す。
1-1-1. 計算結果のrow行 column列を 0 とする。
1-1-2. 変数 iの値を0〜N-1まで変えながら以下の処理を繰り返す。
1-1-2-1. 行列1のrow行 i列の値と行列2のi行 column列の値を乗じて、計算結果のrow行 column列に加算する。

行列の積を求める中間式を表示する

引数:行列1、行列2
1. 各行row に対して以下の処理を繰り返す。
1-1. 当該行の各列column に対して以下の処理を繰り返す。
1-1-1. 変数 iの値を0〜N-1まで変えながら以下の処理を繰り返す。
1-1-1-1. 行列1のrow行 i列の値を表示する。(負数の場合のみ()で囲む)
1-1-1-2. "*"を表示する。
1-1-1-3. 行列2のi行 column列の値を表示する。(負数の場合のみ()で囲む)
1-1-1-4. iがN-1でなければ"+"を表示する。
1-2. 改行する。

機能の一覧を表示する

アルゴリズムはプログラミング演習1-10を参考にすること。

プログラム

レポート

参考