C语言实现矩阵乘法

本文将使用C语言实现矩阵乘法;分别生成阶为m*n和p*q的两个矩阵,以得到阶为m*q的结果矩阵,其中n等于p。

示例代码:

#include <stdio.h>
 
void main(){
	int m=3, n=3, p=3, q=3, c, d, k, sum = 0;
	int first[m][n], second[p][q], multiply[m][q];

	first[0][0] = 1; first[0][1] = 2; first[0][2] = 0;
	first[1][0] = 0; first[1][1] = 1; first[1][2] = 1;
	first[2][0] = 2; first[2][1] = 0; first[2][2] = 1;

	second[0][0] = 1; second[0][1] = 1; second[0][2] = 2;
	second[1][0] = 2; second[1][1] = 1; second[1][2] = 1;
	second[2][0] = 1; second[2][1] = 2; second[2][2] = 1;

	if ( n != p ){
		printf("Matrices with entered orders can't be multiplied with each other.\n");
	}

	for(c=0;c<m;c++){
		for(d=0;d<q;d++){
			for(k=0;k<p;k++){
				sum = sum + first[c][k]*second[k][d];
			}
			multiply[c][d] = sum;
			sum = 0 ;
		}
	}

	printf("Product of entered matrices:\n");

	for(c=0;c<m;c++){
		for(d=0;d<q;d++){
			printf("%d\t", multiply[c][d]);
		}
		printf("\n");
	}

}

运行效果:

C语言实现矩阵乘法

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/matrix-multiplication.html

分类: 计算机技术
推荐阅读:
Rust实现冒泡排序算法(Bubble Sort) 本文将使用Rust语言实现冒泡排序算法;
PySide6控件详细教程 在本教程中,我们将介绍 PySide6 中最常用的控件,包括标签、按钮、文本框、下拉框、列表框、复选框、单选框、滑块、进度条、图像控件等。
Golang中imported and not used:这类错误解决办法 在Golang中,比较容易碰到诸如 imported and not used: "time" 这样的错误;在这里表示你导入了一个time包却没有使用它;
C语言实现复数乘法计算 本文将使用C语言实现复数的乘法运算;
Linux系统下正确清空日志文件的方法 在Linux系统下,你不应该直接删除日志文件来实现清除日志内容,因为那样可能会造成日志无法继续产生的问题;
如何禁用VSCode后台自动更新 VSCode是我比较喜欢的IDE了,但它也会偷偷摸摸的下载更新并自动安装,而且频率非常高;我并不太喜欢软件在自己毫不知情的情况下自动完成更新,所以我决定禁止它的这种行为;