0

我正在尝试创建一个大小为 5 的动态数组( x : dynamic array(5) of integer),我用x(1)=1,x(2)=4,x(3)=1,x(4)=2,x(5)=3.

多亏了这一点,我想解决一个问题。然后,在同一个程序中,我想将此数组的 die 大小增加到 7 以添加另一个值x(6)=2,x(7)=3,请提供一个可以做到这一点的算法。

4

1 回答 1

1

你可以使用这种形式:

declarations
  x: dynamic array(R:range) of integer
end-declarations
x(1):=1; x(2):=4; x(3):=1; x(4):=2; x(5):=3

然后稍后

x(6):=2; x(7):=3

请注意,如果“x”是优化问题中的决策变量数组,则需要使用“mpvar”类型声明数组,在这种情况下,动态数组的条目不能通过赋值指定,但必须是显式创建:

declarations
  x: dynamic array(R:range) of mpvar
end-declarations
forall(i in 1..5) do
  create(x(i))
  x(i) is_integer           ! To state that variables are discrete
end-do
x(1)=1; x(2)=4; x(3)=1; x(4)=2; x(5)=3
于 2018-11-21T11:15:08.153 回答