第一范文网 - 专业文章范例文档资料分享平台

矩阵运算——C语言实现

来源:用户分享 时间:2025/9/9 10:32:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

} } //if(succ==1) // printf(\内存分配成功|;?\\n\ //else printf(\内存分配失败;\\n\ } }

void InitialMatrixZero(Matrix *T, int row, int col) { //printf(\矩阵初始化为零中......\\n\ int i, j; for (i = 0; i < row; i++) for (j = 0; j < col; j++) T->mat[i][j] = 0; //printf(\矩阵初始化为零矩阵成功;\\n\}

void InitialMatrixRand(Matrix *T, int row, int col) { int i, j; for (i = 0; i < row; i++) for (j = 0; j < col; j++) (*T).mat[i][j] = rand() % 50; }

void InputMatrix(Matrix *T) { printf(\输入矩阵:\\n\ int i, j; for (i = 0; i < (*T).row; i++) for (j = 0; j < (*T).col; j++) scanf(\}

void DestroyMatrix(Matrix *T) { int i; for (i = 0; i < (*T).row; i++) free((*T).mat[i]); }

void PrintfMatrix(Matrix *T) {

int i, j; for (i = 0; i < (*T).row; i++) { for (j = 0; j < (*T).col; j++) printf(\ \ printf(\ } }

int AddMatrix(Matrix *A, Matrix *B, Matrix *C) { int i, j; if ((*A).row == (*B).row && (*A).col == (*B).col) { for (i = 0; i < (*A).row; i++) for (j = 0; j < (*A).col; j++) (*C).mat[i][j] = (*A).mat[i][j] + (*B).mat[i][j]; for (i = 0; i < (*A).row; i++) for (j = 0; j < (*A).col; j++) return 1; } else { printf(\这两个矩阵不能相加!\\n\ return 0; } }

int MinusMatrix(Matrix *A, Matrix *B, Matrix *C) { int i, j; if ((*A).row == (*B).row && (*A).col == (*B).col) { for (i = 0; i < (*A).row; i++) for (j = 0; j < (*A).col; j++)

(*C).mat[i][j] = (*A).mat[i][j] - (*B).mat[i][j]; return 1; } else

printf(\这两个矩阵不能相减!\\n\ return 0; }

int MultiMatrix(Matrix *A, Matrix *B, Matrix *C) { int i=0, j=0; int k = 0; if ((*A).col == (*B).row) { for (i = 0; i < (*A).row; i++) { for (j = 0; j < (*B).col; j++) for(k=0;k <(A->col);k++) (*C).mat[i][j] += (*A).mat[i][k] * (*B).mat[k][j]; } return 1; } else printf(\这两个矩阵不能相乘!\\n\ return 0; }

double MeanMatrix(Matrix *T) //矩阵元素均值 { double mean; double sum = 0; int i, j; for (i = 0; i < (*T).row; i++) for (j = 0; j < (*T).col; j++) sum += (*T).mat[i][j]; mean = sum / ((*T).row*(*T).col); return mean; }

void NMatrix(void) {

#define M 20 #define N 20

int i,j,m,n; float y=1.0; float a[M][2 * M]; float b[N][2 * N]; float t, x; int k, T;

printf(\输入方阵的维数:\\n\请输入方阵,即行和列相等的矩阵。 scanf(\请输入矩阵:\\n\ for(i=0;i

for(i=0;i

}

for(j=0;j<(2*T);j++) a[i][j]=a[i][j]/t; }

for(i=0;i

printf(\逆矩阵为:\\n\ for (i=0;i

搜索更多关于: 矩阵运算——C语言实现 的文档
矩阵运算——C语言实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0abfy8kuiw85bn78arf2570pk9t7uz00b4j_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top