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

分类: 计算机技术
推荐阅读:
Golang实现冒泡排序算法(Bubble Sort) 本文将使用Go语言完成冒泡排序算法(Bubble Sort)的实现;
Go语言中预定义常量iota的用法 iota可以被认为是一个可被编译器修改的常量,在每个const关键字出现时被重置为0,在下一个const出现之前,每出现一次iota,其所代表的数字会自增1.
pip和pip3有什么区别,用哪个? pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
WordPress上传媒体文件时发生http错误的解决方法 在用WordPress上传媒体文件时,可能发生 http error;发生这种原因是服务端php或web服务程序没有正确配置所致
Python breakpoint()函数 breakpoint()是 Python 3.7 中新增的一个调试工具,它是一个内置函数,可以在程序执行过程中插入一个断点,让程序停在该处等待调试器的进一步命令。
网站搜索功能被恶意利用的解决方法 不良分子通过网站搜索框不断搜索敏感关键词,产生大批网页标题带有敏感关键词的搜索结果页,且这些页面可能会被搜索引擎收录;他们的目的是让这些敏感关键词在搜索结果中大量曝光,从而达到他们宣传的目的;