Помощь - Поиск - Пользователи - Календарь
Полная версия: Посмотрите и подскажите!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Akejljla
Посмотрите пожалуйст в чем ошибка или недоработка: написал программу kypca433 - вроде как программа работает исправно,все хорошо... Но когда ввел ее в kypsovai в качестве процедуры работает совсем некорректно... huh.gif
заранее спасибо.
volvo
В первом случае (отдельная программа) у тебя все переменные описаны глобально, и инициализируются компилятором (значения по умолчанию - нули, для множества - "пустое множество").

В случае же, когда ты вносишь этот текст как процедуру, переменные уже не глобальные, а локальные, их компилятор не трогает, и хранится в них мусор. Все, что тебе надо сделать (если отдельно процедура работала) - инициализировать все переменные. Конкретно в твоем случае достаточно:
ii := 1, kol := 0, max := 0, mn := []; mn_b := [];
, насколько я вижу.
Akejljla
В том-то и дело что как процедура она не хочет работать... nea.gif
volvo
Я тебе уже написал, что надо сделать, чтобы процедура начала работать. Пока ты этого не сделаешь, будешь получать то тут, то там разные глюки.

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