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

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

    • Для того, чтобы посчитать количество уникальных символов в словах строки, логично разбить строку на слова для анализа каждого слова в отдельности.
    • Уникализировать символы слова можно удалением повторяющихся символов. Лучше всего формировать новое слово, не включая в него повторы, и от этого нового слова отталкиваться.
    • Разбили строку, уникализировали слово, посчитали в слове количество символов — зафиксировали.
Я задействую более хитрый способ, чем предложенный вам: обнаружу уникальные символы каждого слова с помощью вспомогательного массива моды. Вы можете уникализировать символы слов любым наиболее удобным для вас способом, например, по алгоритму, предложенному выше.



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

  1. Sergey:

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

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

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

  2. Shamchik:

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

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

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

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

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

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

  3. Степан:

    Готов автора покусать за эту строчку:

    я все мозги сломал, понимая, что бы это значило. В итоге понял, что она отлично работает и без «раковой опухоли» && ptr[i]. Вот так просто можно оставить:

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

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

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/kardos-lopes-bruno/llvm-infrastruktura-dlya-razrabotki-kompilyatorov-22784657/?lfrom=15589587
Яндекс.Метрика