c语言,矩阵

来源:百度知道 编辑:UC知道 时间:2024/05/27 16:59:21
请在这个程序的基础上,编写矩阵的加法以及乘法的函数程序
程序在这里
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j;
int row,col;
int** matrix;
printf("input the row and col:\n");
scanf("%d%d",&row,&col); //输入矩阵的行和列

//动态分配内存
// 为动态数组分配了二维的空间
matrix=(int **)malloc(sizeof(int *)*row);
for(i=0;i<row;i++)
{
matrix[i]=(int*)malloc(sizeof(int)*col);
}
//输入
printf("please input the array elements:\n") ;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",&matrix[i][j]);
}
}
//输出
for(i=0;i<row;i++)
{
printf("\n");
for(j=0;j<col;j++)
{
printf("%d ",matrix[i][j]);
}
}
}
/*运用此程序,在输入的时候,只要将矩阵的元素从上到下从左到右依次输入即可,元素之间以空格键隔开。*/
***********************

上面那个程序是我写的,下面写的是两个2*2矩阵相加和相乘的程序(行数和列数可以在主函数中更改),不得不说一句,有关矩阵的东西就是麻烦:
#include <stdio.h>
#include <stdlib.h>

int** NewMatrix(int row,int col) //动态开辟一个数组
{
int i,j;
int** matrix;
matrix=(int **)malloc(sizeof(int *)*row);
for(i=0;i<row;i++)
{
matrix[i]=(int*)malloc(sizeof(int)*col);
}
//输入矩阵的元素
printf("please input the array elements:\n") ;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",&matrix[i][j]);
}
}
return matrix;
}

//两矩阵相加a[row][col]+b[row][col]
int **addMatrix(int** a,int** b,int row,int col)
{
int i,j;
int** matrix;
//动态建立一个矩阵空间以存放运算结果
matrix=(int **)malloc(sizeof(int *)*row);
for(i=0;i<row;i++)
{
matrix[i]=(int*)malloc(sizeof(int)*col);
}
//计算a+b
for(i=0;i<row;i++)
{
for(j=0;j<col;j++) <