Показать сообщение отдельно
Старый 21.08.2012, 11:55   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Однако согласен, что можно объявить массив именно так, как предложил Андрей, без явного объявления размерности.
Дорогие коллеги, еще раз обращаю внимание на одну тонкость. Это очень важно. Да, пожалуйста - можете задать двумерный массив без объявления размерности, не в этом суть. А вот попробуйте запустить программу отсюда: Перемножение матриц . Там двумерный массив изначально задан одноэлементным - ради Бога, при динамической адресации это не важно. Важно другое - оператор присваивания (и обращения к элементу) вида
A^[i,j]:=
устроен так, что не учитывает порядка расположения индексов, т.е. A^[2,3] и A^[3,2] указывают на ОДНУ И ТУ ЖЕ область памяти. Поэтому при последовательном заполнении двумерного массива введенное значение A^[2,3] будет потеряно, как только дойдем до A^[3,2]. Причем никаких сообщений об ошибках, предупреждений и т.п. выдано не будет! Вот на что я хочу обратить особое внимание. А как его там задать-описать - это не проблема.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070