gpt4 book ai didi

C++:创建结构的二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:58 24 4
gpt4 key购买 nike

我有一个结构...

struct playerProbs {
int probPlayer1;
int probPlayer2;
};

和一个二维数组playerProbs killChart[11][11]=

我正在尝试将值添加到数组每个位置的每个结构中的 probPlayer1probPlayer2 中。所有的值都不同。我想知道最快、代码效率最高的方法是什么?

我看过一些示例,但它们看起来都非常非常耗时。感谢您的宝贵时间!

编辑:当前代码,

    struct playerProbs {
int probPlayer1;
int probPlayer2;
};

playerProbs killChart[11][11];

killChart[0][0].probPlayer1 = 30; //getting an error saying size of array
killChart[0][0].probPlayer2 = 30; //must be bigger than 0

最佳答案

您只是在填充一个非常小的数据集,因此只需使用嵌套的 for 循环。

for(int i(0); i < 11; ++i)
for(int j(0) j < 11; ++j)
killChart[i][j].probPlayer1 = x;
killChart[i][j].probPlayer2 = y;
}
}

根据评论中的请求进行编辑,这就是您手写输入这些内容的方式。要分配给定值,让我们使用:

killChart[0][0].probPlayer1 = 30;
killChart[0][0].probPlayer2 = 30;

killChart[0][1].probPlayer1 = 30;
killChart[0][1].probPlayer2 = 30;

/// ........
killChart[10][10].probPlayer1 = 30;
killChart[10][10].probPlayer2 = 30;

// And so on and so forth for all values

一个完整的可以运行的代码(样本量小得多,只有一个2x2的数组)如下所示:(我不想把121个值都打出来,这演示了两种使用方法。)

struct playerProbs {
int probPlayer1;
int probPlayer2;
playerProbs(int _v1, int _v2) : probPlayer1(_v1), probPlayer2(_v2){}
};

int main()
{


playerProbs killChart[2][2] =
{ // Assign via bracket initialization
{ playerProbs(30,30), playerProbs(30,30) },
{ playerProbs(30,30), playerProbs(30,30) },
};

// Assign via individual initialization.
killChart[0][0].probPlayer1 = 30;
killChart[0][0].probPlayer2 = 30;
killChart[0][1].probPlayer1 = 30;
killChart[0][1].probPlayer2 = 30;
killChart[1][0].probPlayer1 = 30;
killChart[1][0].probPlayer2 = 30;
killChart[1][1].probPlayer1 = 30;
killChart[1][1].probPlayer2 = 30;
return 0;
}

关于C++:创建结构的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36486539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com