C语言中如何定义矩阵?

如题所述

两种方式可以参考:
1、最简单的就是二维数组,比如存储全是整形的一个m*n的矩阵。然后可以定义int a[m][n]。
输入或者输出可以用两层循环来完成,外层控制行m比如for(i=0;i<m;++i),内层控制列n比如for(j=0;j<n;++j);
2、第二种方式就是压缩矩阵进行存储,如果学了数据结构应该比较好理解。
结构体进行封装,比如:
第一步:先定义一个有效数据的位置
typedef struct node
{
int hang;int lie;int data;//用来存储一个有效数据位的行列和值
}node;
typedef struct matrix
{
node *m;//一个数组,用来存储所有的node数据
int sum;//记录一共有多少个有效数据位
}matrix;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-10
定义一个2维数组,即可表示
第2个回答  推荐于2017-09-06
C语言定义矩阵有两种方式:
1、最简单的就是二维数组。例如定义一个整形的m*n矩阵,可以用二维数组 int a[m][n] 来定义。输入或者输出可以用两层循环来完成,外层控制行m比如for(i=0;i<m;++i),内层控制列n比如for(j=0;j<n;++j)。
2、第二种方式就是使用指针定义二维稀疏矩阵。这种矩阵每行的长度可以不相同。例如 int * a[m],就是一共m个指针,每个指针动态分配不同数量的内存,即可实现稀疏矩阵。
第3个回答  2015-09-22
你需要用结构体自己定义的,具体怎么写就看你的喜好了。
第4个回答  2013-03-08
用二维数组