二维数组大小未知

时间:2019-05-09 20:28:51

标签: c++

我不理解的代码错误。在此程序中,我必须创建多维数组,并且大小未知,并执行一些操作 像总和减去乘法和除法告诉我如何解决这个问题 问题是:::动态创建两个用户定义大小的矩阵。在矩阵上执行以下操作。 加法减法乘法 为每个操作编写一个单独的函数。

int r,c;
void sum(int matrix1[r][c], int matrix2[r][c])
{
    int sum1[r][c];
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            sum1[i][j]=matrix1[i][j]+matrix2[i][j];//sum of 2 arrays
        }

    }
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            cout<<sum1[i][j];
        }
        cout<<endl;    
    }
}

void sub(int matrix1[r][c],int matrix2[r][c])
{
    int sum1[r][c];
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            sum1[i][j]=matrix1[i][j]-matrix2[i][j];
        }

    }
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            cout<<sum1[i][j];
        }
        cout<<endl;
    }
}

void mult(int matrix1[r][c],int matrix2[r][c])
{
    int sum1[r][c];
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            sum1[i][j]=matrix1[i][j]*matrix2[i][j];
        }

    }
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            cout<<sum1[i][j];
        }
        cout<<endl;
    }
}
int main()
{
    int *matrix1=NULL;
    int *matrix2=NULL;

    cout <<"Enter the Number of rows: ";
    cin >>r;
    cout<<"Enter the Number of columns: ";
    cin >>c;
    matrix1=new int [r][c];//dynamic array
    matrix2=new int [r][c];//dynamic array
    cout<<"Enter the value of first matrix: ";
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
           cin >>matrix1[i][j];//enter the 1st array

        }
    }
        cout<<"\nEnter the value of 2nd  matric: ";
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            cin >>matrix2[i][j];//enter the second array 

        }
    }
    system("cls");
    cout <<"Sum of both matrix is: "<<endl;
    sum(matrix1,matrix2);//pass to function
    cout<<endl<<"Subtraction of matrix is: "<<endl;
    sub(matrix1,matrix2);
    cout<<endl<<"Multiplication  of matrix is: "<<endl;
    mult(matrix1,matrix2);
    delete matrix1[][];
    delete matrix2[][];
    r=NULL;
    c=NULL;
    return 0;
    }

0 个答案:

没有答案