矩阵的基本运算(C实现)
来源:互联网 发布:nmath 非线性优化 编辑:程序博客网 时间:2024/05/16 08:45
使用函数来实现对矩阵的基本输入输出以及求和、相乘等运算。
#include<stdio.h>
#define N 10void print_matrix(float *a, int m, int n) //打印矩阵
{
int i, j;
printf(" %d行%d列的矩阵:\n", m, n);
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
printf("%6.1f ", *(a + n*i + j));
printf("\n");
}
}
void input_matrix(float *a, int m, int n) //输入矩阵
{
int i, j;
printf("请输入%d行%d列的矩阵:\n", m, n);
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%f", (a + n*i + j));//将二维数组看成一维进行存储
}
void multiply_matrix(float *a, int m1, int n1, float *b, int m2, int n2, float *c)//矩阵相乘
{
int i, j, k;
for (i = 0; i < m1; i++)
for (j = 0; j < n2; j++)
for (k = 0; k < n1; k++)
*(c + n2*i + j) += *(a + n1*i + k) * *(b + n2*k + j);
}
void add_matrix(float *a, float *b, int m, int n) //矩阵求和
{
int i, j;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
*(a + n*i + j) += *(b + n*i + j);
}
{
int i, j, m1, n1,m2,n2;
float ma[N][N], mb[N][N],mc[N][N]= {0};
printf("请输入矩阵a的行、列数:\n");scanf("%d%d", &m1, &n1); //m表示行,n表示列
input_matrix(ma, m1, n1);
print_matrix(ma, m1, n1);
printf("请输入矩阵b的行、列数:\n");
scanf("%d%d", &m2, &n2); //m表示行,n表示列
input_matrix(mb, m2, n2);
print_matrix(mb, m2, n2);
if(m1== m2 && n1== n2)
{
printf("矩阵a+矩阵b=\n");
add_matrix(ma,mb,m1, n1);
print_matrix(ma, m1, n1);
}
else
{
printf("两个矩阵无法相加\n");
}
if(n1== m2)
{
printf("矩阵a*矩阵b=\n");
multiply_matrix(ma, m1, n1, mb, m2,n2, mc);
print_matrix(mc, m1, n2);
}
else
{
printf("两个矩阵无法相乘\n");
}
}- 矩阵的基本运算(C实现)
- 矩阵的基本运算 ------ C 实现
- 基本矩阵运算的Java实现
- 基本矩阵运算的Java实现
- 2.matlab实现矩阵的基本运算
- [算法]矩阵的基本运算(Java实现)
- C实现矩阵加减乘除运算
- C实现矩阵加减乘除运算
- 稀疏矩阵的基本运算
- 稀疏矩阵的基本运算
- opencv矩阵的基本运算
- 矩阵运算(C++)
- !实现稀疏矩阵(采用三元组表示)的基本运算
- C语言实现常见的矩阵运算函数
- C语言实现常见的矩阵运算函数
- C语言之基本算法33—矩阵的基本运算
- IML 编程的基本函数(矩阵运算,数据管理)
- 对称矩阵的压缩存储及基本运算(1)
- 两种二分查找
- jquery中对于数字的计算
- 随机数
- Angularjs表单验证demo
- 第一章 基本语法-4判断语句(if)练习平年闰年
- 矩阵的基本运算(C实现)
- Android_08_服务的使用总结
- Spring定时任务的几种实现
- I/O模型:同步I/O和异步I/O,阻塞I/O和非阻塞I/O
- powerDesigner的一些使用技巧
- Spark storage系列------2.Spark cache数据块的读取
- oracle 11g ocm 考试内容
- MySQL数据库常用命令
- GDI+图像操作