Длина массива

Предыдущая тема Следующая тема Перейти вниз

Длина массива

Сообщение  Gena в Пн Фев 23, 2009 12:06 pm

Хочу спросить, можно ли организовать двумерный массив с различной длиной?

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  tux в Пн Фев 23, 2009 7:56 pm

если я правильн опонимаю, то нужно реализовать динамический массив, проще всего его реализовать в виде списка
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Eric-S в Вт Фев 24, 2009 9:04 pm

Гена, уточни, о чём спрашиваешь. А то правда не очень понятно, что и для чего.

Двумерный массив с различной длиной.
В чём длина должна различаться?
Или она должна меняться, как предположил Тукс?

Массив можно создать любой длины и это потом можно всё изменить.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Andrew в Ср Фев 25, 2009 11:45 pm

Может имелось ввиду ReDim ? study

Andrew

Сообщения : 45
Дата регистрации : 2008-09-23
Возраст : 28
Откуда : Киев

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Eric-S в Сб Фев 28, 2009 3:15 am

Ох. До чего же мне не понравилась эта фраза, когда мне однажды её написали в ответе. Но сдесь она очень даже подходит.
У нас на форуме, телепатов нет!

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Gena в Сб Фев 28, 2009 6:09 pm

Извините, что толком не объяснил(отсутствовал), телепаты в отпуске наверно =).
Я имел ввиду нечто такое:
Dim a1(1 TO 10)
Dim a2(1 TO 3)
Dim a3(1 TO 5664)
...
Dim an(1 to M)

Я просто не знаю как это объяснить словами ).

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Eric-S в Сб Фев 28, 2009 7:29 pm

То что ты описываеш, очень похоже на массив массивов.
Где a это большой массив а цыфорка это индекс.

Тогда тебе нужен двумерный массив

dim a(1 to n, 1 to 65536)

Но как я понимаю, второй массив нужен тебе с неизвестной длинной.
И вот именно это и усложняет жизнь.

Вижу три варианта.
1. использовать обычный двумерный массив, смерившись с тем, что будет использоваться неразумно память. Зато всё просто.
2. использовать псевдо массивы, ручками захватывая и освобождая память. И получая данные по указателям. Может выйти гораздо быстрее чем обычный массив, но нужно быть более внимательным.
3. Ну и наконец списки, о коих уже не раз упоминалось. Но в отличии от массива, получить элемент списка по его индексу сложнее. Так что см в 2.


А вообще, если не секрет расскажи для чего и куда. Может быть есть другие варианты. Их обычно бывает несколько.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Gena в Сб Фев 28, 2009 11:32 pm

Да вот я Ожл изучаю и не хочу вызывать для каждого треугольника
For
GlBindTexture ...
GlBegin
...
GlEnd
Next
Для этого я научился использовать DrawArrays, НО эта ф-ия не позволяет изменят текущую текстуру(GlBindTexture) во время вырисовки массива.
Поэтому я хочу создать такой "масси массивов" и всё будет выглядеть аккуратно:
For Per = 1 to KolvoTextur
glBindTexture GL_TEXTURE_2D, IdTex(Per)
glVertexPointer(3,GL_FLOAT,8*SizeOf(GLFloat),@Proba(0,0))
glTexCoordPointer(2, GL_FLOAT, 8*SizeOf(GLFloat), @Proba(0,3))
glNormalPointer(GL_FLOAT,8*SizeOf(GLFloat),@Proba(0,5))
glDrawArrays(GL_Triangles, 0, KolvoTreug)
Next
, где Proba -пробный массив

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Eric-S в Сб Фев 28, 2009 11:49 pm

Печально. Но столь погруженный в ojl пример мне почти ни очём не говорит.
Так что прошу прощенья.

Возможно более абстрактный пример или доп коментарии могли бы мне помочь вникнуть в суть, но не факт.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Gena в Вс Мар 01, 2009 10:10 pm

Меня тут внезапно посетила отличная мысль!
Надо просто создать одномерный массив с координатами точек
{0,0,0,0,0, 1,0,0,1,0, 1,1,0,1,1, ...}
, но так, что полигоны с одинаковой текстурой располагались подряд. Тогда ничего не нужно выдумывать: просто при вызове ф-ии надо указать границы! bounce

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Длина массива

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения