首页 > 解决方案 > 我编写了一个程序,它接受二维矩阵的行和列,但在执行时突然退出

问题描述

我试图编写一个程序,用户可以在其中输入二维矩阵中的行数和列数。它编译没有任何错误,但是当我运行程序时,它不起作用。我输入行数后,程序突然退出。

#include <cstdio>
typedef double** DMatrix;
DMatrix Matrix(int row, int col) {
    DMatrix x = new double* [row];
    for (int r=0; r<row; r++){
        x[r] = new double[col];
    }
    return x;
}

void Delete(DMatrix x, int row){
    for (int r=0; r<row; r++){
        delete[] x[r];
    }
    delete[] x;
}

int main (){
    int row , col;
    printf("Enter number of row : "); scanf("%d", row);
    printf("Enter number of column : "); scanf("%d", col);
    DMatrix A = Matrix(row, col);
    for (int i=0; i<row; i++){
        for (int j=0; j<col; j++){
            printf("Enter number in element %d%d :", i, j);
            scanf("%d\n", A[i][j]);
        }
    }
    for (int r=0; r<row; r++){
        for (int c=0; c<col; c++){
            printf("%lf\t", A[r][c]);
        }
        printf("\n");
    }
    Delete(A, row);
    return 0;
}

标签: c++multidimensional-arraydynamic-memory-allocation

解决方案


推荐阅读