|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от ZVV
![]() НУ может я что-то недопонял, но если вы определяете массив как пишется в книжках и обращаетесь arr[y*N+x+1] (как в примере выше), то у вас уже забито, что размерность массива N*M. Если вы вдруг заходите чтоб этот массив стал (N+2)*(M+4), то вам придётся перестраивать весь массив. Или я не прав?
chanchala Вы это имели ввиду в вопросе?
__________________
AX 3.0, Build #9.3 |
|
![]() |
#2 |
MCITP
|
![]() Цитата:
![]() Можете почерпнуть многое оттуда....
__________________
Zhirenkov Vitaly |
|
![]() |
#3 |
MCITP
|
![]() Цитата:
если как вы говорите Цитата:
но и могут меняться уже после того, как станут известны с последующим удалением соответствующих "строк" и "столбцов".
Проблемы то возникнут только при добавлении, причём именно столбцов.
__________________
Zhirenkov Vitaly |
|
![]() |
#4 |
Участник
|
Цитата:
|
|
![]() |
#5 |
MCITP
|
![]() Цитата:
Если строки или столбцы будут удаляться только с конца, то проблем вообще никаких. Если же, как в вашем варианте, из середины, тогда некоторые проблемы конечно будут, а именно придётся как-то дополнительно хранить "живые" индексы (ну или "неживые"). Но это тоже несложно реализуемый технический вопрос. Вот что я имел ввиду...
__________________
Zhirenkov Vitaly |
|
![]() |
#6 |
MCITP
|
т.е. в формуле
Цитата:
arr[y*N+x+1]
__________________
Zhirenkov Vitaly |
|
![]() |
#7 |
Moderator
|
С такими матричными задачками - надо в Excel, в клеточки! Ну или в Spreadsheet. И там удаляй - не хочу, добавляй - не хочу, транспонируй как хочется. Подумать не успеешь - как всё само перестроится.
|
|
![]() |
#8 |
MCITP
|
![]() Цитата:
Цитата:
![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#9 |
Участник
|
Цитата:
В общем, использование одномерного массива для реализации двумерного динамического - априори неудачная идея . |
|
Теги |
array, массив |
|
|