矩阵相乘C语言
来源:互联网 发布:听戏曲的软件 编辑:程序博客网 时间:2024/05/16 17:41
#include<stdio.h>
int main()
{
int count=0;
int a[3][4] = { { 2, 5, -8, 7 },{ 3, 8, 13, 2 }, { -6, 11, -2, 0 } };//3行四列
int b[4][2] = { { 22, 7 }, { -3, 16 }, { -9, 0 }, { 1, 8 } };
int c[3][2], i, j, k;//定义c数组为了用来储存a*b的结果,因为相乘的结果为3行2列(根据矩阵乘法)
for (i = 0; i < 3; i++){//第一个矩阵行数不超过3
for (j = 0; j < 2; j++){//第二个矩阵列数不超过2
c[i][j] = 0;//初始化存放结果的数组为0
for (k = 0; k < 4; k++)
c[i][j] += a[i][k] * b[k][j];//根据矩阵乘法,第一个矩阵的第i行第k列元素与第二个矩阵第j列的第k行元素对应相乘
}
}
for (i = 0; i < 3; i++)
{
for (j = 0;j < 2; j++){
printf("%-5d", c[i][j]);//-5表示每5位一个结果,不满5位的数字用空格补上
count++;//用来计算结果元素数
}
if (count % 2 == 0)//每出现两个数组元素换行
{
printf("\n");
}
}
}
int main()
{
int count=0;
int a[3][4] = { { 2, 5, -8, 7 },{ 3, 8, 13, 2 }, { -6, 11, -2, 0 } };//3行四列
int b[4][2] = { { 22, 7 }, { -3, 16 }, { -9, 0 }, { 1, 8 } };
int c[3][2], i, j, k;//定义c数组为了用来储存a*b的结果,因为相乘的结果为3行2列(根据矩阵乘法)
for (i = 0; i < 3; i++){//第一个矩阵行数不超过3
for (j = 0; j < 2; j++){//第二个矩阵列数不超过2
c[i][j] = 0;//初始化存放结果的数组为0
for (k = 0; k < 4; k++)
c[i][j] += a[i][k] * b[k][j];//根据矩阵乘法,第一个矩阵的第i行第k列元素与第二个矩阵第j列的第k行元素对应相乘
}
}
for (i = 0; i < 3; i++)
{
for (j = 0;j < 2; j++){
printf("%-5d", c[i][j]);//-5表示每5位一个结果,不满5位的数字用空格补上
count++;//用来计算结果元素数
}
if (count % 2 == 0)//每出现两个数组元素换行
{
printf("\n");
}
}
}
阅读全文
0 0
- c语言矩阵相乘
- C语言矩阵相乘
- 矩阵相乘C语言
- C语言实现矩阵相乘
- C语言实现矩阵相乘
- C语言实现矩阵相乘
- 矩阵相乘 C语言实现
- C语言 矩阵的相乘实现
- C语言 求两个矩阵相乘
- C++:矩阵相乘
- C编程:矩阵相乘
- C语言动态二维数组实现矩阵的相乘
- 稀疏矩阵利用三元组相乘(c语言)
- 【R语言 矩阵相乘】R语言矩阵相乘100次
- C语言:大数相乘.
- 【C语言】大数相乘
- C语言大数相乘
- C语言大数相乘
- 我的电路实践
- lmax.disruptor高效内存消息队列spring整合
- centos搭建lamp php运行环境
- hdu 1003(未完成)
- Featuretools介绍
- 矩阵相乘C语言
- 第十一周LeetCode
- Android USB 驱动分析与开发----编程
- poj 2456 二分
- HBuilder&&WebStorm部分快捷键
- 的风格
- 锤子剪刀布
- poj 3111 K Best 二分
- python 格式化字符串