用C语言计算矩阵乘积
一、设计需求:
- 用命令行参数的形式编写C语言程序
- 从A.txt和B.txt中读取连个矩阵
- 需要判断两个矩阵能否相乘
- 把计算后的结果写入到C.txt中
二、实现思路
- 1.用命令行参数把文件名传给文件指针fp1、fp2、fp3
- 2.检测一行文本中空格的个数和换行符的个数,确定行和列并创建二维数组。
- 3.利用fscanf函数和两层for循环把数据传给二维数组
- 4.利用for循环对两个二维数组进行计算,把结果传给新的二维数组。
- 5.将新的二维数组一个个写入到C.txt中
三、矩阵乘法的定义
设 A 为 m × p 矩 阵 , B 为 的 p × n 的 矩 阵 , 那 么 称 m × n 的 矩 阵 C 为 A 与 B 的 乘 积 , 记 作 C = A B , 其 中 矩 阵 C 中 第 i 行 第 j 列 元 素 可 以 表 示 为 : 设A为m \times p 矩阵,B为的p \times n的矩阵,那么称m\times n的矩阵C为A与B的乘积,记作C=AB,其中矩阵C中第i行第j列元素可以表示为: 设A为m×p矩阵,B为的p×n的矩阵,那么称m×n的矩阵C为A与B的乘积,记作C=AB,其中矩阵C中第i行第j列元素可以表示为:
( A B ) i j = ∑ k = 1 p a i k b k j = a i 1 b 1 j + a i 2 b 2 j + ⋯ + a i