求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 02:00:39
求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical

求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical
求编写一道大一大二水平的C语言程序
求编写一个大一水平的C语言程序.
要求如下:
1: 程序可以读取2个矩阵,A和B.
2.A和B的行列数是可以让用户自定义的.
3. 给A和B两个数据动态分配的空间(dynamicallyallocate space).
4.程序可以执行5个操作,分别是:
——A和B相加;
——A和B相减;
——A和B 相乘;
——把A矩阵转置(行变成列,列变成行);
——找出A矩阵的行列式(determinant)
5:系统会检测程序是否可以运行.比如:
——操作5的转置,如果A矩阵不是方阵,系统会显示:”error”
——A是1*3的矩阵,B也是1*3的矩阵,那他们相乘操作会显示“error”,也就是说相乘操作A的列于B的行应该是一样的.
——A矩阵式2*2,B矩阵式1*2,他们两个不能想加,所以显示“error”
(下面的图是一个示例)

6.每一个操作(加,减,乘,等那5个都需要用function,然后在程序中被叫出来).
7. 程序的output示例如下:

感激不尽.
可以的话请把程序的output截图也发过来.

求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical
#include
#include
void enter(double **a,int *prow_a,int *pcol_a,double **b,int *prow_b,int *pcol_b);
void add(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void sub(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void multi(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void trans(double *a,int row_a,int col_a);
void dete(double *a,int row_a,int col_a);
int main()
{
double *a=NULL,*b=NULL;
int row_a,col_a,row_b,col_b,choice,flag=1;
while(flag)
{
printf(
"1 - Enter matrices A & B\n"
"2 - Add matrices\n"
"3 - Substract matrices\n"
"4 - Multiply matrices\n"
"5 - Transpose of A\n"
"6 - Determinant of A\n"
"7 - Quit program\n"
);
printf("Option:");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:{enter(&a,&row_a,&col_a,&b,&row_b,&col_b);break;}
case 2:{add(a,row_a,col_a,b,row_b,col_b);break;}
case 3:{sub(a,row_a,col_a,b,row_b,col_b);break;}
case 4:{multi(a,row_a,col_a,b,row_b,col_b);break;}
case 5:{trans(a,row_a,col_a);break;}
case 6:{dete(a,row_a,col_a);break;}
case 7:{free(a);free(b);a=NULL;b=NULL;flag=0;break;}
default:break;
}
}
return 0;
}
void enter(double **a,int *prow_a,int *pcol_a,double **b,int *prow_b,int *pcol_b)
{
int i;
if(*a)
{
free(*a);
*a=NULL;
}
if(*b)
{
free(*b);
*b=NULL;
}
printf("Number of rows in A:");
scanf("%d",prow_a);
printf("Number of columns in A:");
scanf("%d",pcol_a);
if(*prow_a>0&&*pcol_a>0)
{
*a=(double *)malloc(sizeof(double)*(*prow_a)*(*pcol_a));
printf("Enter matrix data:\n");
for(i=0;i0&&*pcol_b>0)
{
*b=(double *)malloc(sizeof(double)*(*prow_b)*(*pcol_b));
printf("Enter matrix data:\n");
for(i=0;i

求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical C语言编写程序,求1-3+5-7+.-99+101的值用while和for两种方法编写 计算机二级 大一水平 求c语言编写椭圆面积的程序,完整的 C语言 编写程序 求下列分段函数的值 用c语言编写一个求三角形面积的程序 编写C语言程序,求33除以5的余数. C语言编写程序,求所有三位数中的素数. C语言程序 设计:用辗转相除法求两个正整数的最大公约数编写程序 编写程序,调用函数求一个圆柱体的表面积和体积.用c语言编写.谢谢啦. 编写以下框图的C语言程序 求大神编写Java语言的十道选择题的试卷直接在命令符中显示程序如下:你的年龄a.18 b.19 c.20 d.21你的性别a.男 b.女你的年级a.大一 b.大二 c.大三输出成绩:没有其他的要求了) 输入三角形的三边,怎样用C语言编写求三角形面积的程序? 用c语言编写”求一元二次方程的根”的程序 求C 语言编写的计算器程序,能进行四则混合运算的,包括流程图, 怎样用c语言编写程序:求1-3+5-7+9.-99+101的值 用C语言编写程序,求s=1-3+5-7+...-99+101的值 编写一个c语言程序 求两个整数的最大公约数我只要最大公约数 求N个数的最大公约数和最小公倍数!错了 使用c语言 程序编写