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

分类: 计算机技术
推荐阅读:
Python pdb调试器详细教程 在Python可使用一个叫pdb的模块用于调试代码;pdb模块为Python程序定义了一个交互式的源代码调试器,你可通过它设置断点、逐行执行、堆栈检查等等常用调试功能;
Python set()函数 在 Python 中,set() 函数用于创建一个无序不重复元素集合。可以使用一个可迭代对象作为参数,例如列表、元组、字符串等。set() 函数会返回一个新的集合,其中包含传递给函数的唯一元素。
Golang中如何表示无穷大 在Golang中,可以使用math包中的Inf函数来表示无穷大;具体来说,使用math包中的Inf(1)表示正无穷大,Inf(-1)表示负无穷大。
Rust panic宏的用法和示例 在Rust中,当你使用panic宏时,表明程序遇到了一个不可恢复的错误,因此需要立即停止执行并打印错误信息;
Golang中结构体方法的定义和使用 本文将详细的描述在Go语言中如何定义方法,以及如何使用它;阅读本文可能需要一点Go语言基础以及结构体的知识;
Python any()函数 any()是 Python 内置函数之一,接受一个可迭代对象(例如列表、元组、集合或生成器)作为参数,如果至少有一个元素在逻辑上等价于 True,则返回 True,否则返回 False。