我想定义个函数创建二维数组,为什么错误了?

img

img

这个问题挺多啊
首先全局变量玩的不对啊
其次数组大小不确定,int p[height][width]应该也不行

兄弟,你这语法都通不过啊
先恶补一下二维数组怎么定义,怎么初始化,再来写你的代码,别好高骛远啊

回答:创建二维数组,用DevC++编写如下(C++编写的,和C语言没太大区别,改一下输入输出语句就行):

#include<iostream>
using namespace std;

int main()
{
    int m,n;
    cout<<"创建二维矩阵"<<endl;
    cout<<"请输入二维矩阵的行列数:"<<endl;
    cin>>m>>n;
    int martix[m][n];
    cout<<"请输入矩阵的每项"<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cin>>martix[i][j];            
        }        
    }
    cout<<"矩阵为:"<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cout<<martix[i][j];
            cout<<" ";
        }
        cout<<endl;
    }
}

这个是没有弄成函数的,大体这样就可以生成,但功能与你要求的会有一些出入,封装成函数就是下面这个:

#include<iostream>
using namespace std;

void Martix(int m,int n)
{
    int martix[m][n];
    cout<<"请输入矩阵的每项"<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cin>>martix[i][j];            
        }        
    }
    cout<<"矩阵为:"<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cout<<martix[i][j];
            cout<<" ";
        }
        cout<<endl;
    }
}

int main()
{
    int m,n;
    cout<<"创建二维矩阵"<<endl;
    cout<<"请输入二维矩阵的行列数:"<<endl;
    cin>>m>>n;
    Martix(m,n);     
}

解答完毕,功能比较简单,可以后续补充