Цитата:
Сообщение от wvxvw
Например, когда data = [1, 2, 3, 4, 5, 6, 7, 8, 9], w = 4. В таком случае хотелось бы одну колонку делать выше остальных, а не вразнобой 
|
ну так какбе другие\дополнительные условия
а распихать все равно можно по простому (вроде бы

)

Код AS3:
var i:int, j:int, k:int;
var data:Array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var res:Array = [];
var w:int = 4;
var len:int = data.length;
var h:int = Math.ceil(len / w);
for (i = 0; i < h; i++) res[i] = [];
k = 0;
for (j = 0; j < w; j++)
{
for (i = 0; i < h ; i++)
{
res[i][j] = data[k++];
// уместится ли остаток в прямоугольник
if (len-- <= (w - j - 1) * (h - 1) + 1) break;
// уместится ли в строку
//if (--len < w - j) break;
}
}
for (i = 0; i < h; i++) trace(res[i]);