c语言关于二维数组相乘运算,c语言矩阵运算问题 紧急

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

乐乐199441

2015.11.26

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:50%    等级:9

已帮助:762人

#include

#include

typedef struct Matrix{

int *m;

int col;

int row;

};

Matrix* ConsMatrix(int *a,int cn,int rn){

Matrix *ma=(Matrix*)malloc(sizeof(Matrix));

ma->m=a;

ma->col=cn;

ma->row=rn;

return ma;

}

void PrintMatrix(Matrix *ma){

int i,j;

for(i=0;irow;i++){

for(j=0;jcol;j++){

printf("%d ",ma->m[i*(ma->col)+j]);

}

printf("\n");

}

}

Matrix* MatrixSub(Matrix*ma,Matrix*mb){

Matrix *mc=(Matrix*)malloc(sizeof(Matrix));

if(ma->col==mb->col&&ma->row==mb->row){

int size=ma->row*ma->col;

int i;

int *d=(int*)malloc(sizeof(int)*size);

mc->m=d;

mc->row=ma->row;

mc->col=ma->col;

for(i=0;i

mc->m[i]=ma->m[i]-mb->m[i];

}

return mc;

}

printf("row or col cant match");

return NULL;

}

int main(){

int a[6]={1,2,3,4,5,6};

int b[6]={2,3,4,5,6,7};

Matrix *mb=ConsMatrix(b,2,3);

Matrix *ma=ConsMatrix(a,2,3);

Matrix *mc=MatrixSub(mb,ma);

PrintMatrix(mc);

system("pause");

return 1;

}

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值