c语言matrix怎么用矩阵相乘

Python015

c语言matrix怎么用矩阵相乘,第1张

void arymul(int a[4][5], int b[5][3], int c[4][3])

{

int i, j, k

int temp

for(i = 0i <4i++){

for(j = 0j <3j++){

temp = 0

for(k = 0k <5k++){

temp += a[i][k] * b[k][j]

}

c[i][j] = temp

printf("%d/t", c[i][j])

}

printf("%d/n")

}

}

两种方式可以参考:

1、最简单的就是二维数组,比如存储全是整形的一个m*n的矩阵。然后可以定义int a[m][n]。

输入或者输出可以用两层循环来完成,外层控制行m比如for(i=0i<m++i),内层控制列n比如for(j=0j<n++j)

2、第二种方式就是压缩矩阵进行存储,如果学了数据结构应该比较好理解。

结构体进行封装,比如:

第一步:先定义一个有效数据的位置

typedef struct node

{

int hangint lieint data//用来存储一个有效数据位的行列和值

}node

typedef struct matrix

{

node *m//一个数组,用来存储所有的node数据

int sum//记录一共有多少个有效数据位

}matrix