现在,我正在尝试制作一个数组,将其长度更改为我键入的变量。
让我为您展示一个示例代码,使您更容易理解。
int ANum = 3; // Number of Equipment A
int BNum = 2; // Number of Equipment B
int QNum = 8; // Number of Equipment Q
range ARange = 1..ANum;
range BRange = 1..BNum;
range CRange = 1..(ANum+BNum);
range QRange = 1..QNum;
float Ar1[ARange] = [1.3, 5, 3]
float Ar2[BRange] = [0.9, 2.2]
float Ar3[CRange] = [Ar1[ARange], Ar2[BRange]] <== "This is Error"
float Ar4[QRange] = [0.8, 1.1, 0.5, 2, 0.3, 1.8, 1.1, 0.6]
----------第一个问题-------------------------------
在这种情况下,我们可以看到数组“ Ar4”。
我想要的是将“ QNum”的变量更改为(<= 8),例如5或3或其他。 Ar2会自动将其长度更改为5或3或其他长度。
就像,如果键入'int ANum = 5;' => "Ar2[QRange] = [0.8, 1.1, 0.5, 2, 0.3]"
---------第二个问题--------------------------
如您所见,“ AR1和AR2,AR3”
我想将AR1和AR2结合起来,所以要新建阵列AR3。
我这样做的原因是定期更换设备的数量。 这意味着每次我为更改数量的设备运行此代码时,都需要键入此变量。对于多样性环境下的迭代代码。
答案 0 :(得分:3)
您可能会使用的一种方法是:
float Ar3[i in CRange] = ((i<=ANum) ? Ar1[i] : Ar2[i-ANum]);