![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 73
|
![]()
Не могу понять в чем проблема.
Есть класс матрицы и функция которая ищет алгебраическое дополнение. В ней непонятная ошибка. Помогите пожалуйста. Заведомо благодарю! Вот Функция и тип: Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 15.05.2010
Сообщений: 88
|
![]()
в записях как товых нельзя использовать динамические масивы и строки (за исключением когда используется директива $H - объясняет компилятору является ли данная строка динамической, но это уже другой вопрос)..
можно использовать только масивы и строки определенной длины(статические) |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 06.05.2010
Сообщений: 73
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.05.2010
Сообщений: 88
|
![]()
а текст ошибки можно привести?
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 73
|
![]()
Благодарю за внимание.
Я уже нашел причину. Она в потому что массив двумерный но иногда создается как [1..1] то есть с одного элемента. Теперь не знаю что делать с индексацией таких маленьких массивов, тип нужный тот же , индексация одним числом не разрешается компилятором , а двумя вызывает ошибку?????????????? Капець |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 15.05.2010
Сообщений: 88
|
![]()
вы описали var M: array of array of real; это значит что каждый елемент динамческого массива M: array так же является динамическим массивом, длину которого надо тоже задать. то есть(например):
setLength(M,20); setLength(m[0],12); то есть нужно еще задать длину для каждого елемента (напрмер цыклом) p.s. хочу добавить об этой строчке: SetLength(result.M,result.i,result. j); я уже немножко позабыл, т.к. давно не делал такого, вобщем еси указать два параметра после переменной-масива, то даная процедура задаст индексацию масива от result.i до result.j (но я точно не помню до result.j или до result.j - 1) Последний раз редактировалось Stilet; 30.03.2011 в 11:57. |
![]() |
![]() |
![]() |
#7 | |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 73
|
![]()
Все создается правильно!
Проблема в потому что иногда нужно создавать массив с одного элемента, а тогда этот тип не подходит( Может можно как-то обойти ограничение компилятора????? Очень надо! |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в Делфи массивы индексируются с нуля.
можно обойти написанием своего класса, и там индексировать с единицы, но это костыль понижающий скорость работы(на пересчет индекса, копейка, но тем не менее) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 06.05.2010
Сообщений: 73
|
![]() Цитата:
Проблема в двумерном массиве размерностью один на один |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
процедуры и функции при работе с массивами | irina belka | Помощь студентам | 1 | 12.12.2010 16:33 |
Переполненние стека при работе с массивами | max&ilja | Помощь студентам | 2 | 22.12.2009 22:03 |
Задача с динамическими массивами | _grusha_ | Помощь студентам | 2 | 22.04.2009 19:46 |
Проблема с динамическими массивами | Arassir | Помощь студентам | 2 | 11.11.2008 00:15 |