Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/32: Рейтинг темы: голосов - 32, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 11.09.2013
Сообщений: 85

Посчитать число слов в предложении, заканчивающихся на заданную букву

18.11.2013, 23:04. Показов 6806. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посчитать число слов в предложении, заканчивающихся на заданную букву.
Собственно, вот. Через строки
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2013, 23:04
Ответы с готовыми решениями:

Посчитать количество слов заканчивающихся на заданную букву
Дано предложение.Посчитать количество слов заканчивающихся на заданную букву,и записать эти слова в другую строку через запятую

Посчитать количество слов, заканчивающихся на заданную букву и перенести их в другую строку
Дан текст. Посчитать количество слов, заканчивающихся на заданную букву и перенести их в другую строку, написав через запятую. Вывести...

Посчитать в предложении количество слов, заканчивающихся на букву "о"
Всем привет! Помогите решить задачу: Посчитать в предложении количество слов, заканчивающихся на букву "о" Заранее спасибо:)

5
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,389
19.11.2013, 03:36
Vol4_OK, а... Сами... Что же? Это проще пареной репы, нет, даже проще сырой репы (она как раз проще пареной репы).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program wend;
 
var s: string;
    c: char;
    i, n: integer;
 
begin
  n := 0;
  writeln('Enter string:');
  readln(s);
  s := s + ' ';
  write('Enter letter: ');
  readln(c);
  for i := 1 to length(s) - 1 do if (s[i] = c) and (s[i + 1] = ' ') then n := n + 1;
  writeln('Count of "', c, '"-ended words: ', n);
  readln
end.
1
2 / 2 / 1
Регистрация: 11.09.2013
Сообщений: 85
19.11.2013, 08:12  [ТС]
А зачем в конец добавлять пробел? PS: я знаю что проще, но запутался в алгоритме. Делал почти так-же, но выдавались различные ошибки, например: Выход за рамки массива или что and нельзя использовать с char и string.

Добавлено через 8 минут


Спасибо большое, это действительно легко. Я не так понял задание и искал слова, где вообще есть заданная буква, а это, согласитесь, труднее.
0
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,389
19.11.2013, 12:28
Цитата Сообщение от Vol4_OK Посмотреть сообщение
зачем в конец добавлять пробел?
Для упрощения алгоритма. В данном случае за конец нужного слова считаем подряд идущие нужную букву и пробел. А у последнего слова в предложении это может быть и не так. Вот и делаем - безобразно, но однообразно.

О. Кстати. Сейчас дотумкал. У программы есть недостаток - если в конце нужного слова стоит знак препинания, слово не лоцируется. Исправляется просто: удалением из строки знаков препинания. Так подрихтовать: После
Pascal
1
  readln(s);
добавить это самое удаление:
Pascal
1
2
3
  for i := length(s) downto 1 do
    if s[i] in ['.', ',', '!', '?', ':', ';', '"', '(', ')', '''']
      then delete(s, i, 1);
Другие знаки препинания в множество можно добавить по желанию.

"downto" здесь чтобы не вылететь за пределы строки - границы цикла for считаются один раз при вхождении в цикл, и если было бы "1 to length(s)", то, так как при хотя бы одном удалении из строки укорачивается её длина, а, следовательно, уменьшается номер последнего символа (как раз length(s)), в конце строки произойдёт выход за границы индексов массива. Поэтому и "downto": номер первого символа по определению 1.

Добавлено через 44 минуты
Можно ещё считать концом нужного слова подряд идущие нужная буква и знак препинания либо пробел. Тогда удаление добавлять не надо, а вместо
Pascal
1
  for i := 1 to length(s) - 1 do if (s[i] = c) and (s[i + 1] = ' ') then n := n + 1;
написать
Pascal
1
2
3
  for i := 1 to length(s) - 1 do
    if (s[i] = c) and (s[i + 1] in [' ', '.', ',', '!', '?', ':', ';', '"', '(', ')', ''''])
      then n := n + 1;
0
2 / 2 / 1
Регистрация: 11.09.2013
Сообщений: 85
20.11.2013, 17:56  [ТС]
Спасибо)

Добавлено через 1 минуту
Как бы посчитать кол-во слов, в которых есть буква n... Это труднее.
0
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,389
20.11.2013, 21:55
Цитата Сообщение от Vol4_OK Посмотреть сообщение
Спасибо)
Для этого есть кнопочка "+1 спасибо".
Цитата Сообщение от Vol4_OK Посмотреть сообщение
Как бы посчитать кол-во слов, в которых есть буква n... Это труднее.
Нисколько не труднее. Переделывается из уже написанного. И, чтобы не нарушать правило форума
5. 16. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
в следующий раз создавайте новую тему, а в данной теме в оффтопе пишете просьбу и указываете ссылку на новую тему. Вот:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program letter;
 
var s, w: string;
    c: char;
    i, n: integer;
 
begin
  n := 0;
  writeln('Enter string:');
  readln(s);
  s := s + ' ';
  write('Enter letter: ');
  readln(c);
  while pos('  ', s) > 0 do delete(s, pos('  ', s), 1); //оставляем по одному пробелу
  while pos(' ', s) > 0 do //пока не кончатся слова
    begin
      w := copy(s, 1, pos(' ', s)); //копируем слово в буфер
      delete(s, 1, pos(' ', s)); //удаляем слово из строки
      for i := 1 to length(w) do //просматриваем слово, ищем букву
        if w[i] = c then //если буква есть,
          begin
            n := n + 1; //счётчик слов + 1
            break //и прекращаем просматривать слово
          end
    end;
  writeln('Count of words, contained letter "', c, '": ', n);
  readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2013, 21:55
Помогаю со студенческими работами здесь

Написать программу, которая считает число слов в предложении, начинающихся на заданную букву
Написать программу, которая считает число слов в предложении, начинающихся на заданную букву.

Определите количество слов, заканчивающихся на заданную букву
ребята срочно нужна помощь плохо программирую на языке visual basic а тут как на зло попалась задача Дан текст.определите количество...

Определить количество слов, заканчивающихся на заданную пользователем букву
помогите пожалуйста написать программу: 2) Напишите программу, которая позволяет вводить с клавиатуры строку, содержащую более одного...

Найти в предложении количество слов, заканчивающихся на ту же букву, что и первое
найти в предложении количество слов заканчивающихся на ту же букву что и первое. Выдает ошибки: Ошибка 1 Наиболее подходящий...

Подсчитать количество слов в текстовом файле, заканчивающихся на заданную букву
Создать в программе Блокнот текстовый файл. Написать программу, которая подсчитывает количество слов в созданном текстовом файле,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru