繁体   English   中英

如何用输入创建函数是C ++中的2D数组

How to create function with input is 2D array in C++

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个二维数组,定义为

int P[5][10];
for (int i=0;i<N;i++)
{
    for(int j=0;j<L;j++)
    {
        if(random()>0.5)
            P[i][j]=1;
        else
            P[i][j]=0;
    }
}

我想使输入的函数为P。该函数允许我们显示P的值。如何定义该函数。 我尝试过

void show_P(int P[][], int numcols,int numrows)

但是,这是错误的。 你能帮我解决吗? 谢谢

5 个回复

如果要将参数限制为5 x 10 2D数组,则可以按如下所示通过引用传递:

void show_P(int (&P)[5][10])

对于任何其他类型的阵列,这将失败。 如果您希望该功能适用​​于其他尺寸,则可以将其设为模板。

template <size_t N, size_t M>
void show_P(int (&P)[N][M])

您可以将其更改为:

void show_P(int** P, int numcols, int numrows) 

始终使用指针传递2D数组。

希望这会有所帮助。

或使用std :: array

void printArray(array<array<int,2>,3>& arr)
{
  for (auto x : arr)
  {
    for (auto y : x)
    {
      cout << y << endl;
    }
  }
}

int main()
{
  array<array<int,2>,3> arr{{{1, 2}, {2, 3}, {3, 4}}};
  arr[0][1] = 5;
  printArray(arr);
}

会给你:

1个

5

2

3

3

4

void print( int (&ref)[5][10]) {

for( auto &lm: ref) // get the first array from the multidimensional array and initialize lm with it 
    for( auto &elem: lm) // get the first element from lm 
        std::cout << elem << " "; // print the element 

}

这仅适用于维数为P的数组,即[5] [10]

N=5;
L=10;    
void show_P( int ( &P )[N][L] )
1 如何创建2d数组c ++?

我需要在c ++中创建2d数组。 我不能通过int mas= new int[x][y];来做到这一点int mas= new int[x][y]; 或者auto mas= new int[x][y]; 我需要动态创建一个数组,如: 请帮我。 ...

3 如何用Matlab矩阵输入形成C ++ 2D数组?

我正在尝试使用Matlab MEX函数构建一些C ++源代码。 我有一个Matlab格式的输入(矩阵格式传递给*prhs[]如下)。 当将其传递给mexFunction时,我想将其存储为C ++ 2D数组格式。 我写了一些类似下面的代码,但是无法编译。 你能给点建议吗? 非常感谢。 ...

5 C ++中用于用户输入的2D数组

我是c ++初学者,我想问一个2D数组的简单代码: 我想创建一个像这样的数据类型 如果有人可以更正我的代码,我将非常感谢您!! ...

7 用C ++输入2D数组

我正在做井字游戏。 我已经能够在Java中实现这一点,但是在C ++中却遇到了一些困难。 我创建了2D数组: 然后,我有以下内容,这是实际的游戏玩法。 我还有其他功能可以检查游戏的状态,还有另一个功能可以显示每个回合的棋盘。 我遇到的问题是,当任何玩家选择与第一行和第一列相对 ...

8 C++ 2D 数组输入验证

评委对参赛者的评分在 0 到 10 之间。 我希望我的程序只接受用户输入的 0-10 值,这是我的代码 string name [5]; for(int i=0;i&lt;5;i++) { cout &lt;&lt; "Enter participant's name: \ ...

2021-01-27 15:06:47 1 38   c++
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM