国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

華為機試在線訓練-牛客網(33)矩陣乘法

2019-11-08 01:55:54
字體:
來源:轉載
供稿:網友

題目描述

如果A是個x行y列的矩陣,B是個y行z列的矩陣,把A和B相乘,其結果將是另一個x行z列的矩陣C。這個矩陣的每個元素是由下面的公式決定的:

 

原型:

voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);

輸入參數:

    int *m1:x行y列的矩陣(array1[x][y])

    int *m2:y行z列的矩陣(array2[y][z])

    int x:矩陣m1的行數

    int y:矩陣m1的列數/矩陣m2的行數

    int z:矩陣m2的列數

 

輸出參數:

    int *r:矩陣m1, m2相乘的結果(array3[x][z])

 

返回值:

        void

 

 

輸入描述:

輸入說明:1、第一個矩陣的行數2、第一個矩陣的列數和第二個矩陣的行數3、第二個矩陣的列數4、第一個矩陣的值5、第二個矩陣的值

輸出描述:

輸出兩個矩陣相乘的結果

輸入例子:
2223 88 09 018 9
輸出例子:
171 7272 0基礎題,兩個矩陣相乘,嚴格根據定義,其實就是三重循環。

從最內往外一層一層看,很容易理解:最內層就是一行乘以一列,得到的是矩陣C中的一個元素;倒數第二層就是一行乘以每一列,得到的是矩陣C中一行的結果;最外層就是每一行乘以每一列,得到即矩陣C的完整結果。寫代碼時可以按著這個思路從內層循環往外層寫,非常清晰。需要注意的是最內層每計算出一個結果就是矩陣C中的一個元素,因此每次都需要清零sum。

        int sum=0;        for(int m=0;m<x;m++){            for(int n=0;n<z;n++){                for(int k=0;k<y;k++){                    sum+=matrixA[m][k]*matrixB[k][n];                }                matrixC[m][n]=sum;                sum=0;            }        }完整AC的代碼:

#include <iostream>using namespace std;int main(){    int x,y,z;    while(cin>>x>>y>>z){        int data;        int matrixA[x][y],matrixB[y][z],matrixC[x][z];        for(int i=0;i<x;i++){            for(int j=0;j<y;j++){                cin>>data;                matrixA[i][j]=data;            }        }        for(int i=0;i<y;i++){            for(int j=0;j<z;j++){                cin>>data;                matrixB[i][j]=data;            }        }        int sum=0;        for(int m=0;m<x;m++){            for(int n=0;n<z;n++){                for(int k=0;k<y;k++){                    sum+=matrixA[m][k]*matrixB[k][n];                }                matrixC[m][n]=sum;                sum=0;            }        }        for(int i=0;i<x;i++){            int j=0;            for(;j<z-1;j++){                cout<<matrixC[i][j]<<" ";            }            cout<<matrixC[i][j]<<endl;        }    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东市| 穆棱市| 周宁县| 新蔡县| 旬阳县| 绵阳市| 同仁县| 江源县| 凤冈县| 宁河县| 吐鲁番市| 彭泽县| 绍兴县| 米脂县| 酉阳| 鲜城| 永安市| 邵武市| 永靖县| 洛阳市| 吐鲁番市| 凉城县| 迁安市| 汕头市| 湘西| 南江县| 汽车| 通辽市| 上犹县| 积石山| 浦县| 定日县| 开远市| 公安县| 西藏| 南城县| 兴和县| 醴陵市| 静安区| 花莲市| 邹平县|