zoukankan      html  css  js  c++  java
  • 两个矩阵相乘算法

    本来是处理两个矩阵的连乘求如何加括号使得中间的运算次数最少的问题,但是突然想到实现一下如何求连个矩阵连乘的算法,就实现了一下,挺简单的:

    注意程序围绕的思想:
    1.两个矩阵相乘,前一个矩阵的列等于一个矩阵的行
    2.拿前一个矩阵的每一行,依次的乘以后一个矩阵的每一列
    [cpp] view plain copy

        #include  
        //注意矩阵连乘需要满足的是:  
        //前一个矩阵的列等于后一个矩阵的行   
        using namespace std;  
        int main(){  
            int a[3][1] = {  
            {1},  
            {2},  
            {3}  
            };  
            int b[1][3] = {{1,2,3}};  
            int c[3][3];  
            int temp;  
            for (int i=0; i<3; i ){ //拿出数组a的每一行   
                for (int z=0; z<3; z ){ //分别和数组b的每一列进行相乘  
                    int sum = 0;  //因为每次乘以数组a的每一列都会产生数组c中的一个元素,所以sum要放在这里   
                    for(int j=0; j<1; j ){  
                        sum = a[i][j] * b[j][z];  
                    }  
                    c[i][z] = sum;    
                 
             
              
            for (int i=0; i<3; i ){  
                for (int j=0; j<3; j )  
                    cout << c[i][j];   
                cout << endl;   
            }  
        }


  • 相关阅读:
    1.6 linux基础(六)
    1.5 Linux基础(五)
    1.4 linux基础(四)
    在win10中安装VB的方法
    重新拾起这个博客
    实验11-2-2 学生成绩链表处理
    实验11-1-9 藏尾诗
    实验11-1-8 查找子串
    实验11-1-6 指定位置输出字符串
    实验9-8 通讯录排序
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586512.html
Copyright © 2011-2022 走看看