![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Vlad |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Vlad Репутация: ![]() ![]() ![]() |
Здравствуйте, помогите, пожалуйста решить задачку по паскалю. У меня курсовая в понедельник, а я немогу разобраться! ПОЖАЛУЙСТА!!!
Дано символьный файл f, найти количество слов в файле. Сообщение отредактировано: Vlad - |
![]() ![]() |
sheka |
![]()
Сообщение
#2
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Цитата Вообще то выполняется если пробел - не выполняется read(fin,ch); посчитай сам! вот отлаженые программы 2 способов (для файлов у которых первая и последняя буква не пробел, слова разделены 1 пробелом): без рекурсии: Код var fin: text; ch:char; s:integer; begin s:=0; assign (fin,'test.txt'); reset (fin); while not eof(fin) do begin read(fin,ch); while (ch <> ' ')and(not eof(fin)) do read(fin,ch); S:=S+1; end; close(fin); end. с рекурсией: Код var fin: text; ch:char; s:integer; Procedure rek; begin while not eof(fin) do begin read(fin,ch); if (ch <> ' ')then rek else begin S:=S+1; rek; end; end; end; begin s:=1; assign (fin,'test.txt'); reset (fin); rek; close(fin); end. но я вчера сделал кому-то задачу, и там использовал Цитата Код Procedure probel; begin if ch=' ' then{здесь конекретно пробел,а можно и все что тебе не нужно} begin read(fin,ch); probel' end; end; это самый оптимальный способ - и короткий, и для любого in-файла. P.S то есть рекурсия используется как goto, но только на начало данной процедуры? возникают ли с ней такие же глюки как и с goto? |
![]() ![]() |
![]() |
Текстовая версия | 4.09.2025 19:13 |