【C语言】矩阵乘法

这篇具有很好参考价值的文章主要介绍了【C语言】矩阵乘法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述

计算两个矩阵的乘法。n×m阶的矩阵A乘以m×k阶的矩阵B得到的矩阵C 是n×k阶的,且C[i][j] = A[i][0]×B[0][j] + A[i][1]×B[1][j] + …… +A[i][m-1]×B[m-1][j](C[i][j]表示C矩阵中第i行第j列元素)。

输入

第一行为n, m, k,表示A矩阵是n行m列,B矩阵是m行k列,n, m, k均小于100。

然后先后输入A和B两个矩阵,A矩阵n行m列,B矩阵m行k列,矩阵中每个元素的绝对值不会大于1000。

输出

输出矩阵C,一共n行,每行k个整数,整数之间以一个空格分开。

样例输入 复制

3 2 3
1 1
1 1
1 1
1 1 1
1 1 1

样例输出 复制

2 2 2
2 2 2
2 2 2
#include<stdio.h>
int main()
{
	int n,m,k,i,j,sum=0,p;
	int a[100][100];
	int b[100][100];
	int c[100][100];
	scanf("%d %d %d",&n,&m,&k);
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<k;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<k;j++)
		{  sum=0;
		  for(p=0;p<m;p++)
		  {
		  	sum+=a[i][p]*b[p][j];
		  }
		  c[i][j]=sum;
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<k;j++)
		{
		printf("%d ",c[i][j]);
		}
		printf("\n");
	}
}

 文章来源地址https://www.toymoban.com/news/detail-759285.html

到了这里,关于【C语言】矩阵乘法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言矩阵、向量操作(矩阵乘法,向量内积、外积(叉乘),矩阵转置,矩阵的逆)

    创建两个四维矩阵 A 与 B,A 按列填充,B 按行填充 : 创建两个 n 维向量 x 和 y : 使用 t(矩阵、向量名) 即可: 输出如下: 使用 %*% 符号即可: 输出如下: 在R语言中,两个矩阵、向量的内积并不只是简单的 * 号就完事了,而是有以下两种求法: 或者 其结果如下: (注意区分

    2024年02月12日
    浏览(22)
  • 【动态规划】矩阵链乘法——算法设计与分析

    对于矩阵 U p × q U_{ptimes q} U p × q ​ 和 V q × r V_{qtimes r} V q × r ​ , Z p × r = U V Z_{ptimes r}=UV Z p × r ​ = U V ,共需计算 p q r pqr pq r 次标量乘法,时间复杂度为 Θ ( p q r ) Theta (pqr) Θ ( pq r ) 矩阵乘法满足结合律,即 ( U V ) W = U ( V W ) (UV)W=U(VW) ( U V ) W = U ( VW ) ,选择不同的结合

    2024年02月03日
    浏览(49)
  • 矩阵链乘法的动态规划算法_1

    上次我们学习了rod-cutting 问题的动态规划算法,初步了解求解动态规划过程的CRCC步骤,此步骤对于可以运用动态优化的问题非常有用,类似给大家提供了一套思维模板,让我们能更系统的思考和解决问题。本次我们将讨论矩阵链乘法的动态规划算法。 矩阵乘法 在讨论矩阵链

    2024年01月19日
    浏览(42)
  • 算法导论【分治思想】—大数乘法、矩阵相乘、残缺棋盘

    在分而治之的方法中,一个问题被划分为较小的问题,然后较小的问题被独立地解决,最后较小问题的解决方案被组合成一个大问题的解决。 通常,分治算法有三个部分: 分解:将问题划分为若干子问题,这些子问题是同一问题的较小实例。 解决:通过递归地解决子问题来

    2024年02月03日
    浏览(29)
  • 《算法导论》学习(四)---- 矩阵乘法的Strassen(斯特拉森)算法

    矩阵乘法可以采用分治的策略。 这里提供了两个分治策略的解决 n ∗ n n*n n ∗ n 矩阵之间乘法的算法 但是着两个方法的缺点是只能是两个 n ∗ n n*n n ∗ n 矩阵的乘法,同时n必须为2的幂 之后也对这两个算法进行了时间复杂度上的分析 对于 n ∗ n n*n n ∗ n 矩阵A,B,C(n为2的

    2023年04月09日
    浏览(34)
  • cutlass入门: 调用cutlass做通用矩阵乘法Gemm(附代码)

    cutlass是CUDA C++模板抽象的集合,用于实现CUDA中所有级别和规模的高性能矩阵乘法(GEMM)和相关计算。相较于cuBLAS和cuDNN,cutlass中包含了更多可重用的模块化软件组件,这使得cutlass相较于前两者更为灵活。 cutlass项目官方网站:GitHub - NVIDIA/cutlass: CUDA Templates for Linear Algebra Su

    2024年02月12日
    浏览(92)
  • 矩阵乘法的三种算法(蛮力嵌套循环法,分治递归法,Strassen法)

    目录 一.矩阵乘法的嵌套循环算法 二.矩阵乘法的递归算法 三.矩阵乘法的Strassen算法 一.矩阵乘法的嵌套循环算法 伪代码: C++代码: 二.矩阵乘法的递归算法 伪代码: C++代码: 原理:矩阵乘法的分块运算: 【2.5】矩阵分块相乘 - 知乎 (zhihu.com) 复杂度: 三.矩阵乘法的Strass

    2024年02月13日
    浏览(27)
  • 【矩阵乘法】C++实现外部矩阵乘法

    ​ 使用文件和内存模拟系统缓存,并利用矩阵乘法验证实际和理论情况。 设计一个 Matrix 类,其中 Matrix 是存在磁盘中的一个二进制文件,类通过保存的矩阵属性来读取磁盘。前八个字节为两个 int32 ,保存矩阵的行列数。 Matrix中有一个 buffer 成员为读取到的数据缓存,通过

    2024年02月11日
    浏览(27)
  • python矩阵乘法全面解读,python矩阵乘法常用代码

      矩阵乘法,顾名思义是矩阵的乘法,矩阵相乘的含义是两个向量的积,在 Python中一般以乘号或括号表示。与常用的加、减、乘、除运算不同,矩阵乘法只能用于对给定矩阵进行乘法运算,不能进行除法运算。若要计算矩阵乘法的值,必须先进行矩阵分解。 在上一篇文章中

    2024年02月08日
    浏览(31)
  • 矩阵乘法(矩阵乘矩阵)

    首先理了解矩阵是什么: 矩阵是一个按照长方阵列排列的复数或实数集合。(相信大家都懂) 关于矩阵的基本概念: 1.方阵:n 阶方阵 (正方形嘛) 2.同型矩阵:两个矩阵,行数与列数对应相同,称为同型矩阵 矩阵加减法: 在了解矩阵乘法前先看看矩阵加减法: 1.两个矩阵

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包