![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Vlad |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Vlad Репутация: ![]() ![]() ![]() |
Здравствуйте, помогите, пожалуйста решить задачку по паскалю. У меня курсовая в понедельник, а я немогу разобраться! ПОЖАЛУЙСТА!!!
Дано символьный файл f, найти количество слов в файле. Сообщение отредактировано: Vlad - |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
То что я написал онон не пробел определяет,а проверяет алфавит,все символы не входящие в английский алфавит воспринимаются как разделители слова.если надо конкретно пробел,то будет так.
Код while not eof(fin) do begin while ch <> ' ' do {до тех пор пока наш элемент все кроме пробела читаем следующий,как только робел переходим к следующему слову и увеличиваем S на 1.} read(fin,ch);{считываем элемент из файла fin и записываем в переменную ch} S:=S+1;{Считаем слова} end; В чем заключаются аномалии этого кода.На пример,Если у тебя 2 пробела подрят,то второй пробел воспримется,как слово,так что тебе надо бы создать рекурсивную процедуру удаления пробела.В первой реализации такая же проблема,поэтому, если у тебя нету четких правил по структуре самого файла,лучше весь мусол, попадающтйся между словами, рекурсивно удалять,иначе тебе уйму слов выдаст.Ну а так,если соблюдать правила заполнения файла,то все будет работать.Возможно сторожилы форума подскажут что нибудь пограмотнее. |
![]() ![]() |
![]() |
Текстовая версия | 4.09.2025 15:23 |