|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2012, 21:50 | #21 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
помечает строчку setlength(a,n)
|
16.03.2012, 21:54 | #22 |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
А мой вариант 14 поста тебе чем не устраивает?
|
16.03.2012, 22:00 | #23 | ||
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Ой ёй ёй что это?
Цитата:
Дальше Цитата:
А ещё что бы конкретнее сказать ТС прошу покажи ВЕСЬ код То есть весь Unit
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
||
16.03.2012, 22:09 | #24 |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
Toxi, на будущее: весь код выглядит так:
Код:
Все тривиальное просто
|
16.03.2012, 23:18 | #25 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
в общем, Hacker19_90 и whatever абсолютно правы. но я позволю себе прокомментировать, в чём была ошибка, вдруг TC этого не понял...
Toxi, смотри, ты задал n в описании процедуры на кнопку Button1Click. значит эта переменная у тебя локальная. Значит, после выхода из данной процедуры эта переменная уничтожается. Потом ты попытался использовать эту переменную n в процедуре Button2Click. И, чтобы компилятор не ругался, ты был вынужден опять описать n как локальную переменную. Разумеется, её значение НИЧЕМУ хорошему не равно - вот и получаешь обращение за пределы массива. в решении от whatever переменная n сделана глобальной. она описана в разделе переменных модуля, поэтому эта переменная доступна из любой процедуры/функции данного модуля (и все присвоения, сделанные, например, в модуле Button1Click будут видны в Button2Click... |
17.03.2012, 22:54 | #26 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
whatever, огромное спасибо, код работет)
Serge_Bliznykov спасибо за доступное объяснение так же спасибо всем кто тратил свое время на меня |
17.03.2012, 23:00 | #27 |
Пользователь
Регистрация: 15.03.2012
Сообщений: 31
|
Код:
|
17.03.2012, 23:02 | #28 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
nil = NULL = 0 = и т.д.
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
17.03.2012, 23:24 | #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. |
18.03.2012, 20:19 | #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 |