IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Посмотрите и подскажите!
Akejljla
сообщение 22.08.2008 14:40
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Виталий

Репутация: -  0  +


Посмотрите пожалуйст в чем ошибка или недоработка: написал программу kypca433 - вроде как программа работает исправно,все хорошо... Но когда ввел ее в kypsovai в качестве процедуры работает совсем некорректно... huh.gif
заранее спасибо.


Прикрепленные файлы
Прикрепленный файл  KURSOVAI.PAS ( 8.53 килобайт ) Кол-во скачиваний: 232
Прикрепленный файл  KYPCA433.PAS ( 1.77 килобайт ) Кол-во скачиваний: 188
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
volvo
сообщение 22.08.2008 16:32
Сообщение #2


Гость






В первом случае (отдельная программа) у тебя все переменные описаны глобально, и инициализируются компилятором (значения по умолчанию - нули, для множества - "пустое множество").

В случае же, когда ты вносишь этот текст как процедуру, переменные уже не глобальные, а локальные, их компилятор не трогает, и хранится в них мусор. Все, что тебе надо сделать (если отдельно процедура работала) - инициализировать все переменные. Конкретно в твоем случае достаточно:
ii := 1, kol := 0, max := 0, mn := []; mn_b := [];
, насколько я вижу.
 К началу страницы 
+ Ответить 
Akejljla
сообщение 24.08.2008 12:13
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Виталий

Репутация: -  0  +


В том-то и дело что как процедура она не хочет работать... nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.08.2008 15:36
Сообщение #4


Гость






Я тебе уже написал, что надо сделать, чтобы процедура начала работать. Пока ты этого не сделаешь, будешь получать то тут, то там разные глюки.

Дальше. Когда ты здесь:
...
writeln;
writeln('1: Определение знака задиака по введенному году');
writeln('2: Формирование нового упорядеченного массива');
writeln('3: Замена самого длинного слова в строке');
writeln('4: Список жильцов дома');
writeln('5: Файл');
writeln('0: Выход');
read(s); { <--- вот именно тут }
...
прочел число, то в буфере клавиатуры остается код Enter-а, потому что ты завершаешь ввод данных именно Enter-ом. А потом, когда читаешь строку уже в процедуре - то строка-то читается до этого самого кода Enter-а! То есть, там у тебя всегда пустая строка. Выход - один из двух: либо заменить в том фрагменте, который я привел Read на ReadLn, либо после того, как пользователь ввел номер задачи, чистить буфер клавиатуры. Я бы выбрал первый вариант.
 К началу страницы 
+ Ответить 
Akejljla
сообщение 25.08.2008 6:28
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Виталий

Репутация: -  0  +


Спасибо огромное! очень помог!все робит теперь! respect.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 29.07.2025 13:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"