Advertisement

矩阵累加使用指针实现

阅读量:

编写程序实现k个整型矩阵的逐项累加运算,并将计算结果输出;如果所给定的矩阵无法相加,则程序直接终止并输出提示信息:"无法相加";当计算机内存不足以完成给定矩阵的累加计算时,程序同样会立即终止并显示"内存不足"提示信息。第一行输入一个整数k;第一行之后的第一行为两个整数m₁和n₁;随后从第二行为起接下来连续m₁×n₁个整数值作为第一个矩阵的内容;接着在第三行为两个代表第二个矩阵行列数量m₂与n₂的第一个数字;依此类推依次读取后续各个待累加操作对象的具体数据内容

假设A=(aij)m×n与B=(bij)m×n是尺寸相同的矩阵,则这两个矩阵的和(记作A+B)即为这两个矩阵对应元素相加的结果。每个元素c_{ij}等于a_{ij}加上b_{ij}。如果这两个矩阵的尺寸不同,则它们无法进行求和运算。

1、矩阵可以用二维数组来实现。需要注意的是该矩阵尺寸是可以变化的,并且需要考虑动态内存管理的问题,在完成内存释放后还需注意避免使用C99变长数组。
2、关于二维数组动态内存分配的方法有两种:
(1)预先为每行预留一个存储行地址的空间,在完成该过程后再对每个元素分别预留n个存储空间。这样做的结果是该二维结构中各元素对应的a[i][j]值将与实际位置一一对应。
(2)可以选择将一个长度为m乘以n的一维连续存储区视为模拟这种结构的方式,在这种情况下第i行第j列的数据点对应于a[i*n + j

全部评论 (0)

还没有任何评论哟~