|  30.10.2008, 14:54 | #1 | 
| Участник |  двумерный динамический массив 
			
			Добрый день, уважаемые посетители форума   Подскажите, пожалуйста, какими способами можно реализовать двумерный динамический массив на X++. 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  30.10.2008, 15:13 | #2 | 
| Участник | 
			
			Посмотрите в любую книгу по программированию на Х++, везде приводятся примеры. Если кратко - представить двумерный массив через одномерный с помощью игр с индексами. Многие написали, думаю, обертки для этог - обычный класс. Может кто выложит сюда | 
|  | 
|  30.10.2008, 15:14 | #3 | 
| Moderator | 
			
			Книга Еременко, Шашкова - стр.76
		 | 
|  | 
|  30.10.2008, 15:14 | #4 | 
| Участник | |
|  | 
|  30.10.2008, 15:17 | #5 | 
| MCITP |   
			
			Я так понимаю ключевое слово в этом вопросе было "динамический"   
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.10.2008, 15:18 | #6 | 
| Участник | 
			
			Class Array
		 | 
|  | 
|  30.10.2008, 15:18 | #7 | 
| Участник | 
			
			Встроенный массив а Аксапте - динамический, его размер можно не указывать при его определении и он может меняться во время выполнения. По-моему, это и есть определение динамического массива
		 | 
|  | 
|  30.10.2008, 15:23 | #8 | 
| MCITP |   Цитата: chanchala Вы это имели ввиду в вопросе? 
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.10.2008, 15:25 | #9 | 
| MCITP | 
			
			Ну т.е. понятно что как вариант можно взять с большим запасом, если ресурсов не жалко, но вряд ли это выход    
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.10.2008, 15:27 | #10 | 
| Участник | 
			
			Ага, спасибочки. Если правильно поняла: "Чтобы было удобно, написать свой класс"    
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  30.10.2008, 15:34 | #12 | 
| Участник | Цитата: 
		
			Сообщение от ZVV
			   НУ может я что-то недопонял, но если вы определяете массив как пишется в книжках и обращаетесь arr[y*N+x+1] (как в примере выше), то у вас уже забито, что размерность массива N*M. Если вы вдруг заходите чтоб этот массив стал (N+2)*(M+4), то вам придётся перестраивать весь массив. Или я не прав? chanchala Вы это имели ввиду в вопросе? 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  30.10.2008, 15:38 | #13 | 
| MCITP |   Цитата:  Можете почерпнуть многое оттуда.... 
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.10.2008, 15:40 | #14 | 
| MCITP |   Цитата: если как вы говорите Цитата: 
		
			но и могут меняться уже после того, как станут известны с последующим удалением соответствующих "строк" и "столбцов".
		
	 Проблемы то возникнут только при добавлении, причём именно столбцов. 
				__________________ Zhirenkov Vitaly | 
|  | 
|  31.10.2008, 17:07 | #15 | 
| Участник | Цитата: | 
|  | 
|  31.10.2008, 17:18 | #16 | 
| MCITP |   Цитата: Если строки или столбцы будут удаляться только с конца, то проблем вообще никаких. Если же, как в вашем варианте, из середины, тогда некоторые проблемы конечно будут, а именно придётся как-то дополнительно хранить "живые" индексы (ну или "неживые"). Но это тоже несложно реализуемый технический вопрос. Вот что я имел ввиду... 
				__________________ Zhirenkov Vitaly | 
|  | 
|  31.10.2008, 17:20 | #17 | 
| MCITP | 
			
			т.е. в формуле  Цитата: 
		
			arr[y*N+x+1]
		
	 
				__________________ Zhirenkov Vitaly | 
|  | 
|  31.10.2008, 17:29 | #18 | 
| Moderator | 
			
			С такими матричными задачками - надо в Excel, в клеточки! Ну или в Spreadsheet. И там удаляй - не хочу, добавляй - не хочу, транспонируй как хочется. Подумать не успеешь - как всё само перестроится.
		 | 
|  | 
|  31.10.2008, 17:42 | #19 | 
| MCITP |   Цитата: Цитата:  )) 
				__________________ Zhirenkov Vitaly | 
|  | 
|  31.10.2008, 17:58 | #20 | 
| Участник | Цитата: X++: Map m = new Map(Types::Container, Types::Anytype) ; m.insert([i,j], _value) 
				__________________ aLL woRk aNd nO JoY MAKes jAck a dULL Boy | 
|  | |
| За это сообщение автора поблагодарили: Gustav (2). | |
| Теги | 
| array, массив | 
|  | 
| 
 |