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

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

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

 
 Ответить  Открыть новую тему 
> Посмотрите и подскажите!
сообщение
Сообщение #1





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

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


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


Прикрепленные файлы
Прикрепленный файл  KURSOVAI.PAS ( 8.53 килобайт ) Кол-во скачиваний: 215
Прикрепленный файл  KYPCA433.PAS ( 1.77 килобайт ) Кол-во скачиваний: 170
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

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





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

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


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


Гость






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

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





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

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


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

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

 





- Текстовая версия 5.12.2020 18:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name