4.1矩阵运算的设计与实现
来源:互联网 发布:xp绑定mac地址 编辑:程序博客网 时间:2024/06/09 14:12
//4.1矩阵运算的设计与实现#include <stdio.h>#include <string.h>#define M 4/****----------------------------------------------****///函数名:MatrixAdd(int m1[M][M], int m2[M][M], int &result[M][M])//参数: (传入)int m1[M][M], m2[M][M]矩阵m1和m2// (传入)int result[M][M],矩阵加计算结果//作用: 两矩阵相加//备注: 计算公式为result[i][j] = m1[i][j] + m2[i][j]/****----------------------------------------------****/void MatrixAdd(int m1[M][M], int m2[M][M], int result[M][M]){ int i, j; for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { result[i][j] = m1[i][j] + m2[i][j]; } }}/****---------------------------------------------****///函数名: MatrixTrams(int m1[M][M], int &result[M][M])//参数: (传入)int m1[M][M],矩阵m1//作用: 将矩阵转置/****---------------------------------------------****/void MatrixTrams(int m1[M][M], int result[M][M]){ int i, j; for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { result[i][j] = m1[j][i]; } }}/****--------------------------------------------****///函数名: MatrixPlus(int m1[M][M], int m2[M][M], int result[M][M])//参数: (传入)int m1[M][M], int m2[M][M] 矩阵m1和m2// (传入)int result[M][M],矩阵乘计算结果//作用: 两矩阵相乘//备注: 计算公式为result[i][j] = m1[i][k]*m2[k][j]/****--------------------------------------------****/void MatrixPlus(int m1[M][M], int m2[M][M], int result[M][M]){ int i, j, k; for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { result[i][j] = 0; for(k = 0; k < 4; k++) { result[i][j] += m1[i][k]*m2[k][j]; } } }}/****--------------------------------------------*****///函数名: Display(int result[M][M])//参数: (传入)int result[M][M],矩阵result//作用: 输出矩阵值//备注: 按行输出/****--------------------------------------------****/void Display(int result[M][M]){ int i, j; printf("The operating result of Matrix:\n"); for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { printf("%d ", result[i][j]); } printf("\n"); }}/***********************测试程序********************/int main(){ int A[M][M]; int B[M][M]; int i, j; printf("Input the first Matrix:\n"); for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { scanf("%d", &A[i][j]); } } printf("Input the second Matrix:\n"); for(i = 0; i < 4; i++) { for(j = 0; j < 4; j++) { scanf("%d", &B[i][j]); } } int result[M][M]; MatrixAdd(A, B, result); Display(result); memset(result, 0, sizeof(result)); MatrixPlus(A, B, result); Display(result); return 0;}
1 0
- 4.1矩阵运算的设计与实现
- 4.3稀疏矩阵的运算与实现
- 矩阵与矩阵运算
- 实现数据的矩阵转换运算
- 矩阵类的实现,运算符重载
- 矩阵的基本运算 ------ C 实现
- 基本矩阵运算的Java实现
- 基本矩阵运算的Java实现
- 矩阵相关运算的java实现
- 矩阵的基本运算(C实现)
- 基于Spark实现的超大矩阵运算
- 2.matlab实现矩阵的基本运算
- 矩阵运算的概念和代码实现
- C++ 中矩阵运算的实现
- Matlab 矩阵与向量的基本运算
- 稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
- java通过矩阵类实现矩阵的加减乘运算
- 数据结构与算法(3)——矩阵的加、乘、转置运算实现
- android trainning(4)
- OpenCL学习笔记(二):并行编程概念理解
- 在GitHub上创建代码仓库
- oracle 事务基本原理
- Android应用开发SharedPreferences存储数据的使用方法
- 4.1矩阵运算的设计与实现
- rTextarea函数,FCKEditor编辑器在轻开平台中的使用例子三
- 一、开发环境搭建
- Android之开发框架androidannotations使用配置
- C++ this指针(1) - this介绍
- CSDN-markdown语法之如何使用LaTeX语法编写数学公式
- C语言提高之——C和指针总结
- 交友须谨慎
- C++重载 箭头运算符