矩阵运算——C语言实现
PAGE2 / NUMPAGES53
#include "stdafx.h"
#include
//结构体
typedef struct{
double ** mat;
int row;
int col;
}Matrix;
void InitialMatrix(Matrix *T, int row,int col); //只分配空间不初始化;
void InitialMatrixZero(Matrix *T,int row, int col); //初始化为0
void InitialMatrixRand(Matrix *T,int row, int col); //初始化为50以内随机正整数
void InputMatrix(Matrix *T);//键盘输入矩阵
void DestroyMatrix(Matrix *T);// 释放矩阵空间
void PrintfMatrix(Matrix *T);//矩阵输出
int AddMatrix(Matrix *A,Matrix *B,Matrix *C); // 矩阵加
int MinusMatrix(Matrix *A,Matrix *B,Matrix *C); // 矩阵减
int MultiMatrix(Matrix *A,Matrix *B,Matrix *C); //矩阵乘法
double MeanMatrix(Matrix *T); //矩阵元素均值
int SubMatrix(Matrix *T1,Matrix *T2,int BeginRow,int BeginCol,int EndRow,int EndCol); //求T1的子矩阵T2;
测试程序参考界面如下所示:
矩阵函数测试,请选择功能,输入对应的数字:
***************************************************
1:输入一个矩阵,求矩阵均值;
2:产生一个随机数矩阵,求矩阵均值;
3:输入两个个矩阵,求矩阵和;
4:输入两个个矩阵,求矩阵差;
5:输入两个个矩阵,求矩阵积;
6:产生两个个随机数矩阵,求矩阵和;
7:产生两个个随机数矩阵,求矩阵差;
8:产生两个个随机数矩阵,求矩阵积;
9:求矩阵的子阵,如矩阵的2-4行,1-3列的子阵;
0:结束!
#include
#include
//结构体
typedef struct {
double **mat;
int row;
int col;
} Matrix;
//函数声明
void InitialMatrix(Matrix *T, int row, int col);
void InitialMatrixZero(Matrix *T, int row, int col);
void InitialMatrixRand(Matrix *T, int row, int col);
void InputMatrix(Matrix *T);
void DestroyMatrix(Matrix *T);// 释放矩阵空间
void PrintfMatrix(Matrix *T);//矩阵输出
int AddMatrix(Matrix *A, Matrix *B, Matrix *C); // 矩阵加
int MinusMatrix(Matrix *A, Matrix *B, Matrix *C); // 矩阵减
int MultiMatrix(Matrix *A, Matrix *B, Matrix *C); //矩阵乘法
double MeanMatrix(Matrix *T); //矩阵元素均值
//int SubMatrix(Matrix *T1, Matrix *T2, int BeginRow, int BeginCol, int EndRow, int EndCol); //求T1的子矩阵T2;
void NMatrix(void);//求逆矩阵
//主函数
int main()
{
int inputevent;
//int i, j;
int row, col;
Matrix T;
Matrix A;
Matrix B;
Matrix C;
printf(" 矩阵函数测试,请选择功能,输入对应的数字:\n");
printf(" *