![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
![]()
помечает строчку setlength(a,n)
|
![]() |
![]() |
![]() |
#22 |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
![]()
А мой вариант 14 поста тебе чем не устраивает?
|
![]() |
![]() |
![]() |
#23 | ||
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
Ой ёй ёй что это?
Цитата:
Дальше Цитата:
А ещё что бы конкретнее сказать ТС прошу покажи ВЕСЬ код То есть весь Unit
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
||
![]() |
![]() |
![]() |
#24 |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
![]()
Toxi, на будущее: весь код выглядит так:
Код:
Все тривиальное просто
|
![]() |
![]() |
![]() |
#25 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
в общем, Hacker19_90 и whatever абсолютно правы. но я позволю себе прокомментировать, в чём была ошибка, вдруг TC этого не понял...
Toxi, смотри, ты задал n в описании процедуры на кнопку Button1Click. значит эта переменная у тебя локальная. Значит, после выхода из данной процедуры эта переменная уничтожается. Потом ты попытался использовать эту переменную n в процедуре Button2Click. И, чтобы компилятор не ругался, ты был вынужден опять описать n как локальную переменную. Разумеется, её значение НИЧЕМУ хорошему не равно - вот и получаешь обращение за пределы массива. в решении от whatever переменная n сделана глобальной. она описана в разделе переменных модуля, поэтому эта переменная доступна из любой процедуры/функции данного модуля (и все присвоения, сделанные, например, в модуле Button1Click будут видны в Button2Click... |
![]() |
![]() |
![]() |
#26 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
![]()
whatever, огромное спасибо, код работет)
Serge_Bliznykov спасибо за доступное объяснение так же спасибо всем кто тратил свое время на меня |
![]() |
![]() |
![]() |
#27 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
![]() Код:
|
![]() |
![]() |
![]() |
#28 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
![]()
nil = NULL = 0 = и т.д.
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
![]() |
![]() |
![]() |
#29 |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
![]()
Сейчас попробую объяснить, что такое nil, как сам это понимаю. В случае неточностей просьба не бросаться камнями
![]() Как уже было сказано, nil==ноль, но я бы назвал это "пустота". Другими словами, если под динамический массив не выделена память и с ним нельзя работать, то он nil. А если, например, a[0]=0, то уже не nil, так как память под элемент с индексом 0 уже выделена и этот элемент равен нулю. Также справедливо утверждение, что если length(a)=0, то a=nil. В остальных случаях не nil. В контексте данной задачи кусок кода Код:
Надеюсь объяснил понятно и нигде не наврал.
Все тривиальное просто
Последний раз редактировалось whatever; 17.03.2012 в 23:27. |
![]() |
![]() |
![]() |
#30 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на одномерный массив (C++) | sesame | Помощь студентам | 1 | 18.01.2012 14:27 |
Одномерный массив задача Delphi | Начинающий програм | Помощь студентам | 12 | 23.12.2011 21:34 |
Одномерный массив в Delphi (Задача) | Kawun | Помощь студентам | 10 | 18.06.2011 14:21 |
Пожалуйста помогите в Delphi задача на одномерный массив | Женя V. | Помощь студентам | 6 | 15.05.2009 22:56 |
Задача на одномерный массив | AliVe | Помощь студентам | 1 | 19.11.2007 21:35 |