| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Трехмерный массив. |
| Автор: Atiskara 8.6.2008, 23:54 |
| В общем, есть массив матриц с заранее известными значениями. Как эти значения присвоить массиву при загрузке программы? Одно из измерений массива переменной размерности, но в принципе можно и постоянной сделать.. Помогите, люди.. |
| Автор: Alexeis 9.6.2008, 09:42 | ||||
Например так
Или так
|
| Автор: Atiskara 9.6.2008, 10:24 | ||||||||
хех...около 100 матриц с размерностью примерно 10х12... и все это прописать построчно, как я понимаю?
я ж с ума сойду, пока распишу все это... я конечно извратилась, склеила матрицы в строки, получился массив строк, при котором обращаюсь к элементам строк через преобразование из строки в число.. Но это называется извращение, хотелось бы пограмотнее написать... |
| Автор: Alexeis 9.6.2008, 10:36 |
| Atiskara, потому я и писал i, j, k, что это типичные имена счетчиков циклов. Делать все нужно в цикле |
| Автор: Atiskara 9.6.2008, 11:02 | ||
так мои массивы не подлежат циклированию... вот например, один элемент массива выглядит так: 111111111111 111111111111 110001100011 110001100011 110001100011 110001100011 110001100011 111111100011 011110111110 000000011100 как данные значения присвоить в mas[i,j,k]? |
| Автор: THandle 9.6.2008, 11:09 | ||||
Может быть сразу объявить массив со значениями?
Например:
??? |
| Автор: Atiskara 9.6.2008, 11:16 | ||||||
| THandle, Благодарю. Вот это мне и нужно было... Добавлено через 3 минуты и 24 секунды
а нельзя ли при этом реализовать возможность задания переменного размера одного измерения массива? |
| Автор: Atiskara 9.6.2008, 14:25 | ||||
так как же в процедуре тогда массиву присвоить значения? |
| Автор: Rennigth 9.6.2008, 15:17 |
уже тогда ручками. а от куда данные берешь? |
| Автор: Atiskara 9.6.2008, 15:57 | ||
шаблоны символов в виде пикселей черного или белого цвета, для сравнения при распознавании изображения... |
| Автор: Atiskara 10.6.2008, 22:17 |
| По моему вообще нельзя сделать динамический многомерный массив с переменной размерностью одного из измерений... Переубедите меня если можно? |
| Автор: Alexeis 10.6.2008, 22:41 |
| Можно |
| Автор: Atiskara 10.6.2008, 22:58 | ||
Неубедил... |
| Автор: Alexeis 10.6.2008, 23:03 | ||
|
| Автор: Atiskara 10.6.2008, 23:11 | ||||||
Вторая размерность массива masWord переменной длины. При каждом новом цикле k2 размерности i1 при k2-1 переприсваивается новое значение равное размерности i1 при k2... Как тут быть? |
| Автор: Alexeis 10.6.2008, 23:16 |
| SetLength(masWord,k2+1, Length(masPic)); Зачем это в цикле? Это же пересоздание матрицы на каждой итерации. |
| Автор: Atiskara 10.6.2008, 23:22 | ||
Ну так примерно это мне и надо, чтобы на каждой итерации к "матрице" добавлялись строки различной длины.. Заранее неизвестно, ни какой ширины, ни какой высоты будет данный двумерный массив, это вычислится только внутри цикла... |
| Автор: Alexeis 10.6.2008, 23:23 |
| array of array of <T>; Можно создавать как массив массивов (фактически массив указателей) или как матрицу. Чтобы сделать массив массивов, нужно писать так SetLength(masWord, rowcount); и затем задавать каждую размерность SetLength(masWord[i], elementscount); |
| Автор: Atiskara 10.6.2008, 23:28 | ||
|