Ответы пользователя по тегу C
  • Как искать повторяющиеся слова в строке?

    drem1lin
    @drem1lin
    чуть программист, чуть чуть админ...
    Что я вижу сразу - вы не вернете ни как отсюда значение. Если речь идет именно о C, то я бы начал с того, что определил бы структуру типа:
    struct WordCount{
    char word[256];
    unsigned int counters;
    }

    но так как количество слов заранее не известно, надо делать динамический массив таких структур, или список.
    далее находя слово, ищете структуру и в ней увеличиваете счетчик на 1. Если не нашли, то создаете новую. Элементарно решается с помощью std::list, но это уже с++.
    Если говорить об ошибках - вы ни где не выделяете слова, так empty_mass[j] == mass_of_all_word[j] вы копируете указатель на строку.
    Что бы я сделал:
    1. все же описать структуры, тогда вы не перепутаете индексы
    2. разделить код на функции, например, функция обработки строки -> передать указатель на массив структур со словами и строку -> в ней вызвать код дробления строки на слова и получить двумерный массив слов, которые потом добавить в массив структур со словами или обработать строку как вам удобно и в цикле пройти все строки
    3. добавить обработку возвращаемых значений функций
    Ответ написан
    Комментировать