![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
кучаТрупов |
![]()
Сообщение
#1
|
![]() изувер ![]() ![]() Группа: Пользователи Сообщений: 88 Пол: Женский Реальное имя: ann Репутация: ![]() ![]() ![]() |
задача: сколько слов в тексте имеет 1 слог,2 слога,3 слога и т.д.(кол-во слогов в слове совпадает с кол-ом гласных)
в Фак'е было только про *сколько раз заданное слово встречаетсся в тексте* и больше я не нашла что бы мне помогло. |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Сначала разбиваем на слова.
Можно задать множество, состоящее из гласных, потом проходить по словам, и если буква оказывается в множестве, то увеличиваем счётчик слогов. Сообщение отредактировано: Unconnected - 19.03.2009 22:32 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Для начала надо разбить текст на слова, и для каждого слова уже пробегать по всем буквам и считать слоги...
|
кучаТрупов |
![]()
Сообщение
#4
|
![]() изувер ![]() ![]() Группа: Пользователи Сообщений: 88 Пол: Женский Реальное имя: ann Репутация: ![]() ![]() ![]() |
ну текст уже дан словами. его разбивать не надо же. в условии- слова разделены пробелами.
и слоги я посчитать могу думаю) просто не могу вывести в конце сколько именно слов по сколько слогов имеет. |
amega |
![]()
Сообщение
#5
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
- береш создаеш множество из гласных букв
- потом нашол первое слово в тексте - проверяш по букво гласные, если гласная то i:=i+1; - потом a[i]:=a[i]+1; на выходе ми будем иметь масив где в а1 будет содержатся количество 1 слог в а2 будет содержатся количество 2 слог тоесть чтото такого
хех пока писал текст уже меседжев понаписовали)) Сообщение отредактировано: amega - 19.03.2009 22:42 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата ну текст уже дан словами. его разбивать не надо же. Это тебе только кажется... Не надо было бы разбивать - если б текст был дан в виде массива слов. Вот тогда достаточно было бы просто пробежаться по всему массиву, и посчитать то, что тебе нужно... Кроме всего прочего - задание надо указывать полностью, в первом посте не было ничего сказано о том, что разделяются слова в тексте только пробелами. Если ты в этом уверена - все еще проще: count := 0;(чтобы не мучить себя обработкой конца строки - ты ж уверена, что слова разбиваются ТОЛЬКО пробелами, значит, признака конца строки, например, точки, не будет - к исходной строке допиши справа один пробел) |
amega |
![]()
Сообщение
#7
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата к исходной строке допиши справа один пробел) count := 0; теперь не нада Сообщение отредактировано: amega - 19.03.2009 23:36 |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Хм... кучаТрупов, вопрос на засыпку: а если у тебя вообще нет гласных в слове - тогда что? Первое слово данного поста уже даст тебе 0 слогов (гласных-то нет), да мало ли еще таких слов в русском-то языке...
Цитата теперь не нада Лучше уж добавить пробел, чем добавлять вычисление длины строки (причем неоднократное). |
amega |
![]()
Сообщение
#9
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
например
Хм кучаТрупов вопрос на засыпку тоесть получается на первом пробеле inc(а[0]) ? тогда оно при массиве array [1..20] of integer;видаст ошибку ... тогда array [0..20] of integer; и тогда получится а[0] содержит количество слов без гласных, а выводить тогда с первого элемента Сообщение отредактировано: amega - 19.03.2009 23:53 |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
А слово "Хм" ты просто вышвырнул из предложения, да? Ну, в принципе, если такой алгоритм подсчета слогов устраивает автора темы, то надо сделать чуть-чуть по-другому:
const Тут уже, кстати, не особо и важно, чем разделяются слова, одним пробелом или несколькими. Да и пробелами ли вообще (можно заменить сравнение с пробелом на проверку вхождения в набор разделителей)... |
amega |
![]()
Сообщение
#11
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
а инициализировать масив? ведь там может быть мусор...
на этом месте может выдать ошибку в виде непонятных циферок if mas[i] > 0 then ... Сообщение отредактировано: amega - 20.03.2009 0:25 |
кучаТрупов |
![]()
Сообщение
#12
|
![]() изувер ![]() ![]() Группа: Пользователи Сообщений: 88 Пол: Женский Реальное имя: ann Репутация: ![]() ![]() ![]() |
спасибо.
ответ на вопрос на засыпку-- нет гласных-нет слогов. |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 3:59 |