如何使用条件结果告诉程序要处理哪个2D数组?

时间:2016-10-31 01:08:15

标签: c++ arrays multidimensional-array

原谅我的英文

如何使用条件结果告诉程序在函数中引用哪个数组?

我想一次只获取一个特定的数组,以便将其值与主数组匹配,到目前为止,我无法想出如何做这些事情的想法。

示例: 如果条件结果出现" 0",请参考第一个数组(playerA),如果它出现" 1"参考另一个(playerB),依此类推。 程序将匹配相应播放器的CORRECT数组值与数据"数据"这是主要的一个。

我本来会使用开关然后放手,但是我试着避免它,因为我会在每种情况下都有很多代码要复制,而且很多情况,所以这很愚蠢。

重要的是,"球员"数组都是2x2,并且将匹配2x2的数据数组(它实际上有更多行,但我选择特定的2x2来匹配)。 我需要将2x2中的所有4个值与给定数据阵列2x2的4个对应值进行匹配

如果没有开关或内部的临时数组,我该如何做这样的事情? 我的一个伙伴告诉我,我应该使用指针,但无法向我展示一个例子,所以我在这里查看了,我只是不知道。

我可能已经猜到了,这是一个初学者。请记住这一点。

提前

和thnx

int data[2][2] = {{5,5},{5,5}} ;

int playerA[2][2] = {{5,6},{7,8}} ;
int playerB[2][2] = {{1,2},{3,4}} ;

main () {

function(player) ;

}

void function (int activePlayer) {

   // this condition is just so you'd understand what i want
   // because i dont know how to code this part  
    if (activePlayer == 0)
       { pickTheRightArray = playerA } ;
    else if (activePlayer == 1)
       { pickTheRightArray = playerB } ;

    bigger = 0;
    for (x=0 ; x<number ; x++)  {
        if ( pickTheRightArray[x][0] > data [x][0] )
            bigger++;
    };
//etc..etc..etc... do some stuff with this info

1 个答案:

答案 0 :(得分:0)

有很多方法可以处理这种情况,其他人提到使用3-D阵列。这也看起来像是一种更加模块化的编码风格:

'https://productionapplink.com/'

能够指定一个指向静态多维数组的指针会让你心痛。我鼓励你避免使用全局变量。