#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;
}
矩陣相乘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.