![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
Я только начал изучать Паскаль и решил написать маленькую программку, которая бы помогала мне при принятии решений. Еше я решил добавить возможность присваивать имена вариантам.
Столкнулся с проблемой: при показе ответа выводится только первая буква имени. Помогите найти ошибку)
|
|||
|
||||
VanHelsing |
|
||||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Что сразу бросается в глаза:
Если так то переменную надо объявлять массивом:
А можно и объявлять длину массива после того как стало известно количество вариантов. |
||||
|
|||||
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
если написать
то пишет ошибку: "ожидание константного выражения", а мне не хочется прописывать N в константы. |
|||
|
||||
VanHelsing |
|
||||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Тогда поступает так. Объявляем:
А после получения количества значений присваиваем длину массиву:
P.S. вроде ничего не путаю. |
||||
|
|||||
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
ээ, а куда прописывать
и как вообще понять это выражение? ) |
|||
|
||||
Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: нет Всего: 0 |
||||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
VanHelsing, в Паскале нет динамических массивов.
SeTeM, проблема в том, что ты и считываешь одну букву
Даже не знаю что лучше посоветовать... Использовать масссив статической длины... С указателями работать умеешь? И еще лучше вместо goto использовать цикл repeat..until или while..do |
|||
|
||||
VanHelsing |
|
|||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Стыдно, перепутал Pascal c Delphi. ![]() Ну тогда THandle прав, использовать статические массивы. Объявлять константу. Это сообщение отредактировал(а) VanHelsing - 7.1.2009, 17:41 |
|||
|
||||
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
THandle, нет, не умею еще.
можете пожалуйста показать на примере, как правильно должно быть, а то уже совсем запутался) Это сообщение отредактировал(а) SeTeM - 7.1.2009, 17:43 |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
SeTeM, тогда объяви массив фиксированного размера. Да, будет много памяти кушать, но иначе не получится.видимо в данном случае.
|
|||
|
||||
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
а можно в ARRAY_SIZE указать значение поменьше, ну хотя бы 64?
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: нет Всего: 372 |
SeTeM, сколько хочешь столько и указывай. Значение ARRAY_SIZE - это максимальное количество "имен вариантов" которое ты сможешь ввести.
![]() |
|||
|
||||
SeTeM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 23.2.2008 Репутация: нет Всего: нет |
THandle, спасибо)
и всем остальным тоже большое спасибо) |
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
(для справки: 512 * 256 = 131072 = 128К, в 2 раза больше, чем ВСЕГО выделено подо ВСЕ переменные). Это к вопросу, который возникнет, не сомневайся, SeTeM, обязательно возникнет у тебя, "Что такое Error #96" с таким подходом к написанию программ: "Выдели места побольше, чтоб хватило"... Это сообщение отредактировал(а) volvo877 - 7.1.2009, 18:01 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |