Зравствуйте все! Вот тут моя подруга послала просьбу Вам, так вот вопрос: а мне поможете? Послезавтра экзамен, помогите пожалуйста!!! Надо написать программу: "Найти наибольшее симметричное слово из предложения" Целую, Яночка...
Доброе время суток, Яна! Предлагаю следующий алгоритм: 1. Определяещь переменную типа BOOLEAN (например, InWord), которая указывает, находимся ли мы внутри слова или нет. Вначале она равна FALSE - мы не внутри слова. 2. Перебираем символы строки до тех пор, пока очередной символ все еще является разделителем слов (пробел, знаки препинания, цифры и т.п.) 3. Как только нашли начало слова - InWord = TRUE 4. Перебираем символы в строке до тех пор, пока снова не обнаружим разделитель. Символы сохраняем в какой-нибудь строковой переменной. 5. Опять устанавливаем InWord = FALSE 6. Проверяем слово на симметричность. Для этого сравниваем равноудаленные от концов слова символы до первого несовпадения (слово не симметричное) либо пока индекс от начала слова не станет больше индекса от конца слова (слово - симметричное). 7. Если слово симметричное - сравниваем
его длину с текущим максимумом (в начале программы он равен 0). Если длина слова больше максимума, то корректируем значение текущего максимума. 8. Переходим к п.2. Если что не понятно - пиши, отвечу
Ответ отправлен: 14.05.2002, 15:14 Отправитель: Ayl Отвечает Vallon
Здравствуйте, Яна! Держи поцедуру нахождения симмтричных слов
Приложение: Ответ отправлен: 16.05.2002, 15:05 Отправитель: Vallon
Вопрос № 20
Уважаемые эксперты, подскажите, пожалуйста, что нужно сделать со старой прогой, чтобы она работала на новом компе. Где-то читал, что там какие-то задержки не подходят… Прога на паскале. Пробовал увеличить задержки аж в 100000 раз - не помогло. Пишет "Runtime error 216". Эта же прога прекрасно компилируется на 486. Заранее благодарю, NeverHood.
Здравствуйте, NeverHood! Не помешал бы текст проги, а ваще-то вот что пишет хелп компилятора по поводу твоей проги: Эта ошибка возникает, если вы пробуете обращаться к памяти, доступ к которой закрыт вашему приложению. Операционная система останавливает ваше приложение и сообщает, что произошла ошибка защиты. Следующие действия обычно вызывают GPF: _ Загрузка констант в сегментные регистры _ Выполнение арифметических операций на сегментных регистрах селекторов _ Использование сегментных регистров для временного хранения _ Запись в сегменты кода _ Доступ к памяти вне локального адресного пространства, данного вашему приложению _ Переименование нулевых указателей Разница тут скорее всего не в паузах (это 200 ошибка - деление на 0) юЭта ошибка возникает, если вы пробуете обращаться к памяти, доступ к которой закрыт вашему
приложению. Операционная система останавливает ваше приложение и сообщает, что произошла ошибка защиты. Следующие действия обычно вызывают GPF: _ Загрузка констант в сегментные регистры _ Выполнение арифметических операций на сегментных регистрах селекторов _ Использование сегментных регистров для временного хранения _ Запись в сегменты кода _ Доступ к памяти вне локального адресного пространства, данного вашему приложению _ Переименование нулевых указателей" Дело тут совсем не в задержках (вылетает на быстрых компах модуль crt из-за обнуления счетчика паузы, но не с 216 ошибкой а с 200 - деление на ноль, кстати этот баг исправлен в турбо паскале 7.1), а по моему в разной реализации работы с памятью в разных процессорах и возможно из-за разных ОС Ответ отправлен: 17.05.2002, 23:37 Отправитель: igorash Отвечает Andre Lukichov
Добрый день, NeverHood! Замените модуль Crt на тот, что в дистрибутиве TP 7.1. Тогда ошибка Runtime Error 200 исчезнет. Если же ошибка 216 - то это из-за нарушения защиты. Задержки тут ни при чем. Ответ отправлен: 17.05.2002, 21:23 Отправитель: Andre Lukichov Отвечает baldr
Доброе время суток, NeverHood! Так еггог 216 или еггог 200? Наверное, 200? Деление на ноль... Объяснять, почему это так сейчас не буду - ты об этом не спрашивал да и неохота. А исправляется это просто... Если такая прога уже скомпилирована, то ей помогут спец. программки, которые ее просто патчат. И еггога нету! А для программ, которые еще только будут компилироваться есть исправленная версия модуля crt, который находится в файле turbo.tpl. Пиши на baldr@pisem.net - вышлю все это...
Ответ отправлен: 19.05.2002, 00:17 Отправитель: baldr
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.