Перейти к содержимому

Как посчитать количество слов в строке c

  • автор:

Как посчитать число слов в строке?

Дано натуральное число n и последовательность символов S1. Sn. Группы символов, разделены одним или несколькими пробелами, будем называть словами. Подсчитать кол-во слов в данной строке.

Отслеживать
13.8k 12 12 золотых знаков 44 44 серебряных знака 77 77 бронзовых знаков
задан 16 дек 2015 в 5:29
19 1 1 бронзовый знак
Для получения полезного ответа поясните, в чем именно вы видите проблему
16 дек 2015 в 5:36

Формат сайта не предполагает, что за вас будут полностью решать задачу. Предлагаю вам делать это самостоятельно и задавать вопросы по конкретным затруднениям и ошибкам.

16 дек 2015 в 10:48
Если вам дан исчерпывающий ответ, отметьте его как верный (галка напротив выбранного ответа).
17 дек 2015 в 11:56

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Идея простая, число слов равно числе пробелов между словами + 1. Вам надо учесть смежные пробелы и на них не реагировать.

Примерный алгоритм, детали и реализацию сделаете сами:

  • Идете в цикле по строке, смотрите каждый символ
  • Храните предыдущий символ (в начале он пустой)
  • Если увидели пробел и прошлый символ НЕ пробел — увеличили счетчик слов
  • Запоминаете прошлый символ
  • Дошли до конца — если в конце пробел, то выходите, если символ — увеличиваете счетчик еще на 1.

Как посчитать количество слов в строке?

Мне нужно подсчитать количество слов, и я предполагаю правильный способ сделать это, вычислив количество раз, когда предыдущий символ в строке не является буквой (то есть другими символами), потому что это должно предполагать, что в строке будут двоеточия, пробелы, вкладки и другие знаки. Поэтому сначала моя идея состояла в том, чтобы прокрутить каждый символ и подсчитать, сколько раз вы не получите букву алфавита

 for(int i = 0; i < string.length(); i++) < for(int j = 0; i < alphabets.length(); j++) < if (string.charAt(i-1) == alphabets.charAt(j)) < counter++; >> > 

Однако из-за этого я всегда получаю массив из-за пределов. Итак, мне нужна небольшая помощь или другой способ, который действительно может быть более эффективным. Я думал использовать Matches только для [a-zA-z], но я не уверен, как обрабатывать char, чтобы быть сопоставимым со строкой при подсчете, сколько раз это происходит. Спасибо

nfnmy 20 май 2012, в 06:12

Поделиться

Там только одно слово в Java.

Dave Newton 20 май 2012, в 04:14

Как посчитать число слов в строке?

Дано натуральное число n и последовательность символов S1. Sn. Группы символов, разделены одним или несколькими пробелами, будем называть словами. Подсчитать кол-во слов в данной строке.

Отслеживать
13.8k 12 12 золотых знаков 44 44 серебряных знака 77 77 бронзовых знаков
задан 16 дек 2015 в 5:29
19 1 1 бронзовый знак
Для получения полезного ответа поясните, в чем именно вы видите проблему
16 дек 2015 в 5:36

Формат сайта не предполагает, что за вас будут полностью решать задачу. Предлагаю вам делать это самостоятельно и задавать вопросы по конкретным затруднениям и ошибкам.

16 дек 2015 в 10:48
Если вам дан исчерпывающий ответ, отметьте его как верный (галка напротив выбранного ответа).
17 дек 2015 в 11:56

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Идея простая, число слов равно числе пробелов между словами + 1. Вам надо учесть смежные пробелы и на них не реагировать.

Примерный алгоритм, детали и реализацию сделаете сами:

  • Идете в цикле по строке, смотрите каждый символ
  • Храните предыдущий символ (в начале он пустой)
  • Если увидели пробел и прошлый символ НЕ пробел — увеличили счетчик слов
  • Запоминаете прошлый символ
  • Дошли до конца — если в конце пробел, то выходите, если символ — увеличиваете счетчик еще на 1.

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode

Как подсчитать количество слов в тексте С#

Сегодня мы узнаем самый простой и примитивный способ подсчета количества слов в тексте с помощью C#. Данный вариант состоит всего из нескольких строк и прост в реализации.

Итак, создадим программу, в которой пользователь будет вводить в консоль текст, а программа будет в ответ писать количество слов в нём.

Весь код состоит всего из нескольких строк:

Console . WriteLine ( «Введите текст:» ) ;
string [ ] textMass ;
string text = Console . ReadLine ( ) ;
textMass = text . Split ( ‘ ‘ ) ;
Console . WriteLine ( «Количество слов:» ) ;
Console . WriteLine ( textMass . Length ) ;
Console . ReadLine ( ) ;

Как видно из представленной реализации, мы создаем массив строк textMass и простую строковую переменную text. В переменную text считывается введенный пользователем текст (строка 3), а в массив textMass добавляются элементы из строки text, расчлененные пробелом при помощи метода Split (строка 4). Иными словами, каждый элемент данного массива — это как раз одно слово, заключенное в тексте между пробелов.

Например, если в консоли будет написано «Мама мыла раму», то элементы массива будут следующими: textMass[0] = «Мама», textMass[1] = «мыла», textMass[2] = «раму».

Дальше программа просто выведет на консоль количество элементов данного массива (6 строка) — это и будет количество наших слов.
Примечание: если в тексте встречаются знаки препинания, то они будут помещены в массив вместе с предшествующим им словом. Однако условлено, что после знаков препинания должен стоят пробел, поэтому на качество подсчета слов это никак не повлияет.

Как подсчитать количество слов в тексте С#

Скачать исходник данной программы:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *