矩阵相乘

来源:互联网 发布:数据透视表英文版 编辑:程序博客网 时间:2024/05/21 07:57
#include<iostream>using namespace std;void mutiple(int** a,int** b,int** c,int m,int s,int n)  //m*s乘以s*n最后得m*n {for(int i=0;i<m;i++){    for(int j=0;j<n;j++){    c[i][j]=0;for(int k=0;k<s;k++){    c[i][j]+=a[i][k]*b[k][j];}}}}int main(){    int **a,**b,**c;    int i,j;a = new int*[3];  //a b c 都是指针数组  本质是数组 里面存放的元素是指针   a=3*2  b=2*1  c=3*1 b = new int*[2];  //分别都是有两个元素  数组赋值当然要一个一个地赋值了 c = new int*[3];   //a里面有3个元素   b里面有2个元素    c里面有3个元素 for (int ii=0;ii<3;ii++){a[ii] = new int[2];  //a里面存放的元素是指向两个int类型的指针 c[ii] = new int[1];  //c里面存放的元素是指向一个int类型的 指针 }for (int ii=0;ii<2;ii++){b[ii] = new int[1];  //b里面存放的元素是指向一个int类型的指针 }a[0][0]=1;a[0][1]=-1;    a[1][0]=1;a[1][1]=1;    a[2][0]=2;a[2][1]=1;    b[0][0]=1;    b[1][0]=0;    mutiple(a,b,c,3,2,1);    for(i=0;i<3;++i)        for(j=0;j<1;++j)            cout<<c[i][j]<<endl;    system("pause");    return 0;    } 

0 0
原创粉丝点击