forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Массив в массиве (http://forum.boolean.name/showthread.php?t=8159)

rr333 07.04.2009 18:54

Массив в массиве
 
Можно ли это реализовать? Или как то сделать список массивов, чтобы можно было пройтись по ним в цикле.

MiXaeL 07.04.2009 20:16

Ответ: Массив в массиве
 
Массив в массиве - например, двумерный массив.
Массив также может быть полем типа.

Так что все реализуемо.
Другой вопрос, что медленно будет через массивы, осебнно, если они большие и тебе их часто перебирать надо. Но реализуемо.

rr333 07.04.2009 20:53

Ответ: Массив в массиве
 
'Массив также может быть полем типа.'-это как сделать? И можно пример кода. Мне нужно, чтобы был список, а в нем массивы. И лучше, чтобы имена массивам задавала программа (dim group_i(j), где i и j числа, например из цикла)

MiXaeL 07.04.2009 21:12

Ответ: Массив в массиве
 
Двумерный массив Dim a(10,10)
можешь обращаться a(i,j)

Теперь о типах:

Код:


Type Group
  Field a[10]
End Type

делаешь несколько экземпляров типа и обращаешься к ним через цикл. Например:

Код:

For j.Group=each Group
For i=1 to 10
  print j/a[i]
Next
Next

Если через типы, то можно еще удобней через Handle & Object сделать. Читать >>тут<<

rr333 07.04.2009 21:46

Ответ: Массив в массиве
 
Спасибо. Но мне кажется, что удобнее использовать 2-мерный массив,т.к. его можно переназначить в функции, а типы нельзя. Тем более в моей функции мне не известно количество групп изначально.

Sleepybear 28.05.2009 17:50

Ответ: Массив в массиве
 
Чтобы не создавать новой темы пишу тут.

Код:

Type Prize
    Field PrizeMesh[4]
End Type

..............................

function create()
    Prize.Prize = New Prize
    Prize\PrizeMesh[0]=LoadMesh("......")
    HandlePrize=Handle(Prize)
end function

function Update()
    Each_Prize.Prize=Object.Prize(HandlePrize)
    PositionEntity Prize\PrizeMesh[0],0,0,0
end function

создаю массив как елемент пипа
потом в функции заполняю массив, указываю Handle
а в другой функции через Object пытаюсь достучатся до элемента поля
и тут вываливаюсь в ошибку

:SOS:
Где я ступил?

impersonalis 28.05.2009 18:12

Ответ: Массив в массиве
 
HandlePrize не глобальна?

Sleepybear 28.05.2009 18:16

Ответ: Массив в массиве
 
:@ Мдя устал я сегодня :-D

IGR 28.05.2009 18:19

Ответ: Массив в массиве
 
Цитата:

HandlePrize не глобальна?
привет экстросенсам без отпуска !! :)


Часовой пояс GMT +4, время: 22:30.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot