Посмотрите и подскажите! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Посмотрите и подскажите! |
Akejljla |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Виталий Репутация: 0 |
Посмотрите пожалуйст в чем ошибка или недоработка: написал программу kypca433 - вроде как программа работает исправно,все хорошо... Но когда ввел ее в kypsovai в качестве процедуры работает совсем некорректно...
заранее спасибо. Прикрепленные файлы KURSOVAI.PAS ( 8.53 килобайт ) Кол-во скачиваний: 311 KYPCA433.PAS ( 1.77 килобайт ) Кол-во скачиваний: 265 |
volvo |
Сообщение
#2
|
Гость |
В первом случае (отдельная программа) у тебя все переменные описаны глобально, и инициализируются компилятором (значения по умолчанию - нули, для множества - "пустое множество").
В случае же, когда ты вносишь этот текст как процедуру, переменные уже не глобальные, а локальные, их компилятор не трогает, и хранится в них мусор. Все, что тебе надо сделать (если отдельно процедура работала) - инициализировать все переменные. Конкретно в твоем случае достаточно: ii := 1, kol := 0, max := 0, mn := []; mn_b := [];, насколько я вижу. |
Akejljla |
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Виталий Репутация: 0 |
В том-то и дело что как процедура она не хочет работать...
|
volvo |
Сообщение
#4
|
Гость |
Я тебе уже написал, что надо сделать, чтобы процедура начала работать. Пока ты этого не сделаешь, будешь получать то тут, то там разные глюки.
Дальше. Когда ты здесь: ...прочел число, то в буфере клавиатуры остается код Enter-а, потому что ты завершаешь ввод данных именно Enter-ом. А потом, когда читаешь строку уже в процедуре - то строка-то читается до этого самого кода Enter-а! То есть, там у тебя всегда пустая строка. Выход - один из двух: либо заменить в том фрагменте, который я привел Read на ReadLn, либо после того, как пользователь ввел номер задачи, чистить буфер клавиатуры. Я бы выбрал первый вариант. |
Akejljla |
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Виталий Репутация: 0 |
Спасибо огромное! очень помог!все робит теперь!
|
Текстовая версия | 25.04.2024 18:54 |