Re[6]: 4-х массив
От: SWW Россия  
Дата: 09.03.07 17:50
Оценка:
Здравствуйте, ., Вы писали:

.>Массив массивов может быть таким:

.>[1,2,3]
.>[4,5]
.>[6,7,8,9]
.>т.е. по сути это массив указателей, каждый указатель указывает на массив значений.

Опять! Да сколько можно!
Автор: SWW
Дата: 01.10.04
Многомерные массивы не являются массивами указателей! Все их элементы располагаются в непрерывной области памяти. Ну откуда пошло это всеобщее помешательство?

.>Память выделяемая под массив массивов N*M*<размер значения>+N*<размер указателя>.

.>если же двухмерный массив (ака матрица), то он может быть только таким:
.>[1,2,3]
.>[4,5,6]
.>[7,8,9]
.>Реализовываться может с помомщью одномерного массива с вычислением индекса по паре значений.
.>Память выделяемая под двумерный массив N*M*<размер значения>.

Точно так же, как и для массива int a[3][3];
Re[2]: 4-х массив
От: SWW Россия  
Дата: 09.03.07 17:56
Оценка:
Здравствуйте, Piero2, Вы писали:

P>спасибо всем кто откликнулся


P>помогло мало — почти не заметно (((


P>компилятор у меня — borland я работаю на Builder 6.


Нормально. Осталось сделать последний шаг — перейти на другой компилятор. Borland — худший из всех имеющихся в природе компиляторов.
Re[9]: 4-х массив
От: SWW Россия  
Дата: 09.03.07 18:06
Оценка:
Здравствуйте, Piero2, Вы писали:

B>>Да, и что представляет из себя Q1?


P>в последней версии программы

P>int ****Q1

Ах, вот оно что! И тебя, значит, научили что многомерный массив — это массив указателей. И что, для каждой размерности выделяешь память?
Многомерный массив объявляется так:
int [SIZE_I][SIZE_J][SIZE_K][SIZE_L];

Тогда он будет располагаться в непрерывной области памяти и доступ к нему будет осуществляться одной командой, а не через 4 указателя.

Кстати, если это массив int то что тогда означает запись Q1[i1][i2][i3+Vg][i4+Vg].dh ?
Re[10]: 4-х массив
От: Piero2  
Дата: 09.03.07 21:31
Оценка:
Здравствуйте, SWW, Вы писали:

SWW>Здравствуйте, Piero2, Вы писали:


B>>>Да, и что представляет из себя Q1?


P>>в последней версии программы

P>>int ****Q1

SWW>Ах, вот оно что! И тебя, значит, научили что многомерный массив — это массив указателей. И что, для каждой размерности выделяешь память?

SWW>Многомерный массив объявляется так:
SWW>
SWW>int [SIZE_I][SIZE_J][SIZE_K][SIZE_L];
SWW>

SWW>Тогда он будет располагаться в непрерывной области памяти и доступ к нему будет осуществляться одной командой, а не через 4 указателя.

SWW>Кстати, если это массив int то что тогда означает запись Q1[i1][i2][i3+Vg][i4+Vg].dh ?



В последней версии программы int Q1; Q1[i1][i2][i3+Vg][i4+Vg] просто
как объявить такой 4-х мерный массив, если заранее неизвестны SIZE_I,SIZE_J,SIZE_K,SIZE_L?
Re[11]: 4-х массив
От: Piero2  
Дата: 09.03.07 22:07
Оценка:
помогло — стало в полтора раза быстрее, но остается вопрос:
как объявить такой 4-х мерный массив, если заранее неизвестны SIZE_I,SIZE_J,SIZE_K,SIZE_L?
Re[12]: 4-х массив
От: SWW Россия  
Дата: 10.03.07 14:13
Оценка:
Здравствуйте, Piero2, Вы писали:

P>помогло — стало в полтора раза быстрее, но остается вопрос:

P>как объявить такой 4-х мерный массив, если заранее неизвестны SIZE_I,SIZE_J,SIZE_K,SIZE_L?

Возможные варианты:

Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.