C++ для начинающих. Строки. Посчитать количество символов в каждом слове без учета повторений

Сайт не является учебником по программированию. Это только небольшой авторский сборник информации в помощь начинающим программистам.

Одна из множества элементарных задач на обработку строк звучит как

  • Посчитать количество символов в каждом слове

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

  • По факту, слово мало отличается от строки
  • Чтобы посчитать количество разных символов в строке, логично удалить все повторяющиеся символы
  • Операции удаления как правило очень медленные, поэтому удалению стоит предпочесть создание новой строки, в которой будет проверяться вхождение символа и если символ не будет найден, то в создаваемую строку вставлять такой символ
  • Так как строка состоит из множества слов, а нам нужно проанализировать каждое слово, то логично, что слова лучше анализировать по отдельности
  • Чтобы слова анализировать по отдельности, нужно строку разбить на слова
  • После разбиения для каждого слова нужно выполнять построение нового слова, но без повторяющихся символов, длина такого слова как раз и будет результатом

О функции по разбиению строки на слова написано в статье

Я могу надеяться, на то что пример решения такой задачи будет вам на самом деле полезен и поможет решать другие задачи подобного рода самостоятельно и без проблем.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

3 комментария: C++ для начинающих. Строки. Посчитать количество символов в каждом слове без учета повторений

  • Sergey говорит:

    при выполнении этой части кода теряются символы.

    "good" становится "god"

    Автор сайта отвечает:
    Ошибка в названии темы. Оно так и должно было быть. Название исправлено. Спс.

  • Shamchik говорит:

    А как на два файла разбивать их,ввод и вывод в одном файле,подсчет в другом?просто не получается добавлять подсчет символа

    • admin говорит:

      Тут не два файла получится:
      1. Файл программы, в котором есть main. Это главный файл. (prog.cpp)

      2. Файл ввода. В нём хранить только класс и объявления. (1.h)
      3. Файл реализации ввода. В нём подключается файл ввода и описываются функции для класса (1.cpp)

      4. Файл обработки строки. В нём хранить только класс и объявления. (2.h)
      5. Файл реализации обработки строки. В нём подключается файл обработки строки и описываются функции для класса. (2.cpp)

      В главном файле подключается оба файла, которые хранят только классы.
      prog.cpp

      Я не знаю, что именно у Вас не получается.

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

Ваш e-mail не будет опубликован.

Поиск

 
     
Яндекс.Метрика

НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

- Я тут котёнка завела. Помоги придумать какое-нибудь компьютерное имя... - Мышка! - Ты чё, это же котик! - Ну, тогда БЛОХ ПИТАНИЕ.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок