Сгладить массив массивов в CPLEX OPL

#cplex #opl

#cplex #opl

Вопрос:

У меня есть массив, подобный:

 [[101.2], [455.5], [676.1], [232.2], [444.4], [90.1], [280.2]]
 

Как бы я мог объединить отдельные внутренние массивы в один, например:

 [101.2, 455.5, 676.1, ...]
 

Ответ №1:

 range r=1..7;

float v[r][1..1]=

[[101.2], [455.5], [676.1], [232.2], [444.4], [90.1], [280.2]];

float v2[i in r]=v[i][1];

execute
{
  writeln(v2);
}
 

дает

 [101.2 455.5 676.1 232.2 444.4 90.1 280.2]
 

Комментарии:

1. И в этом сценарии: [[101.2, 455.5], [676.1, 232.2], [444.4, 90.1], [280.2, 125.1]] чтобы [101.2 455.5 676.1 232.2 444.4 90.1 280.2 125.1]

Ответ №2:

что касается вашего второго вопроса:

 range r=1..4;
range r2=1..2;
range r3=1..8;

float v[r][r2]=

[[101.2, 455.5], [676.1, 232.2], [444.4, 90.1], [280.2, 125.1]];

float v2[i in r3]=v[(i-1) div 2 1][(i-1) mod 2 1];

execute
{
  writeln(v2);
}
 

дает

 [101.2 455.5 676.1 232.2 444.4 90.1 280.2 125.1]