C++动态申请二维数组,进行矩阵加法运算,求找出错误
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/22 05:09:05
C++动态申请二维数组,进行矩阵加法运算,求找出错误
程序可以编译通过,但是运行时出现问题,我觉得好像是在传参的问题,但是改了好多次都不正确,求指教.
#include
using namespace std;
void InitAndCin(int h,int l,int **arr){
int i,j;
arr=new int *[h];//动态申请行内存,令arr指向这个堆创建出来的数组(由矩阵的行组成)的首地址
for(i=0;i
程序可以编译通过,但是运行时出现问题,我觉得好像是在传参的问题,但是改了好多次都不正确,求指教.
#include
using namespace std;
void InitAndCin(int h,int l,int **arr){
int i,j;
arr=new int *[h];//动态申请行内存,令arr指向这个堆创建出来的数组(由矩阵的行组成)的首地址
for(i=0;i
![C++动态申请二维数组,进行矩阵加法运算,求找出错误](/uploads/image/z/2172154-58-4.jpg?t=C%2B%2B%E5%8A%A8%E6%80%81%E7%94%B3%E8%AF%B7%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%2C%E8%BF%9B%E8%A1%8C%E7%9F%A9%E9%98%B5%E5%8A%A0%E6%B3%95%E8%BF%90%E7%AE%97%2C%E6%B1%82%E6%89%BE%E5%87%BA%E9%94%99%E8%AF%AF)
改动如下:
1、在main函数里的这一句:int **A,**B,**C;改成如下:
int **A = NULL,**B = NULL,**C = NULL;
2、初始化并输入的函数定义改为如下:
void InitAndCin(int h,int l,int ** &arr){
.
即第3个参数改成二维指针的引用
3、矩阵相加函数定义改为如下:
void Add(int h,int l,int **A,int **B,int ** &C){
...
也是第3个参数改为二维指针的引用
改动之后运行截图如下:
![](http://img.wesiedu.com/upload/1/38/138d01ea1345b3b9658648331a742c4b.jpg)
如果不懂为什么这样改再追问
1、在main函数里的这一句:int **A,**B,**C;改成如下:
int **A = NULL,**B = NULL,**C = NULL;
2、初始化并输入的函数定义改为如下:
void InitAndCin(int h,int l,int ** &arr){
.
即第3个参数改成二维指针的引用
3、矩阵相加函数定义改为如下:
void Add(int h,int l,int **A,int **B,int ** &C){
...
也是第3个参数改为二维指针的引用
改动之后运行截图如下:
![](http://img.wesiedu.com/upload/1/38/138d01ea1345b3b9658648331a742c4b.jpg)
如果不懂为什么这样改再追问