网站首页 > 文章中心 > 其它

矩阵加法函数c语言程序

作者:小编 更新时间:2023-10-05 16:31:51 浏览量:352人看过

求c语言矩阵加法和乘法代码

#includestdio.h

#includestdlib.h

void memory(int **p,int m,int n); //分配的内存的函数;

void readdata(int**p,int m,int n);

void plus(int **u,int **i,int m,int n); //求和函数,要求两个矩阵同型

void redu(int **u,int **i,int m,int n); //求差,要求两个矩阵同型

void mult(int **u,int **i,int m,int n); //矩阵的积;乘法要求前一个矩阵的行数等于后一个矩阵的列数;

void release(int **p,int m,int n); //释放内存的函数;

int main() //也可使用switch语句来选择求和求差求积

{

int m,n;

scanf("%d%d",m,n); //输入m,n两个数,确定矩阵要分配内存的大小

int **k,**q,**o;

memory(**k,m,n);

memory(**q,m,n);

memory(**o,m,n); //备用,用来存放结果的一块内存;

readdata(**k,m,n);

readdata(**q,m,n);

plus(**k,**q,m,n);

redu(**k,**q,m,n);

mult(**k,**q,m,n); //在本行加//则可不求矩阵乘法,使程序适用于一切m*n的矩阵加法;

realease(**k,m,n);

realease(**q,m,n);

}

void memory(int **p,int m,int n)

p=*(int**)malloc(m*sizeof(int*);

for(i=0;in;i◆◆)

p[i]=*(int*)malloc(n*sizeof(int));

void release(int **p,int m,int n)

free(p[i]);

p[i]=0;

free(p);

p=0;

void readdata(int **p,int m,int n)

int i,j;

for(i=0;im;i◆◆)

for(j=0;jn;j◆◆)

scanf("%d",p[i][j]); //要求用户由行到列输入矩阵的数据;

void plus(int **u,int **i,int m,int n)

int r,j;

for(r=0;rm;r◆◆)

printf("\n");

void redu(int **u,int **i,int m,int n)

void mult(int **u,int **i,int m,int n)

int r,j,k,d=0;

for(k=0;km;k◆◆) //这里分号错写成了逗号

d=d◆u[r][k]*i[k][r];

printf("%d",d);

d=0;

c语言矩阵的加法

#include?stdio.h

#include?ctype.h

#define?MAX_STR_LEN?100

int?strToInt(char?s[],int?base)?{

int?i?=?0,result?=?0,sign?=?1;

if(s[i]?==?'◆')?{?sign?=?1;?◆◆i;?}

else?if(s[i]?==?'-')?{?sign?=?-1;?◆◆i;?}

if(base?10)?{?//?数基在10以上时

while(s[i])?{

if(islower(s[i]))?result?=?base?*?result?◆?s[i]?-?'a'?◆?10;

else?if(isupper(s[i]))?result?=?base?*?result?◆?s[i]?-?'A'?◆?10;

else?if(isdigit(s[i]))?result?=?base?*?result?◆?s[i]?-?'0';

◆◆i;

else?{?//?数基为?0?--?10?时

if(isdigit(s[i])?(s[i]?-?'0'?base))

result?=?base?*?result?◆?s[i]?-?'0';

return?sign?*?result;

int?main()?{

int?base;?

char?s[MAX_STR_LEN];?

while(?(scanf("%d:",?base)?!=?EOF)?(gets(s)?!=?NULL)?)

printf("%d\n",?strToInt(s,?base));?

return?0;?

c语言程序设计 矩阵加法

void?main()

scanf("%d",a[i][j]);

scanf("%d",a[k][t]);*///----此处覆盖掉了矩阵1;

printf("矩阵【1】\n");

printf("%d?",a[i][j]);

scanf("%d",b);

//----------楼主此处以下的四个for一一嵌套算出来的结果没什么意义.

if(b==1)

printf("相加:\n");

printf("%d\t",a[i][j]);

printf("\n");}

printf("相乘:\n");

复制后可直接编译运行,结果如下:格式可自行修改.

用C语言表示两个矩阵相加

#include "stdafx.h" //这是个什么东东

#include stdio.h

int main(int argc, char* argv[])

c[i][j]=(a[i][j]◆b[i][j]);

printf("矩阵A与B相加如下所示:\n");

return 0;

如何用C语言编程实现矩阵相加、相乘

c[i][j]=a[i][j]◆b[i][j];

两矩阵相乘,

c[i][j]◆=a[i][k]*b[k][j];

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章