Разбить строку на слова и вывести количество повторений этих слов в строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Слова разделены пробелами

Решение задачи: «Разбить строку на слова и вывести количество повторений этих слов в строке»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(int argc, char* argv[])
{
    static char str[256] = "apple fruit banana apple banana fruit orange apple orange fruit banana apple orange\0";
    static char** words = new char*[256];
    memset((void*)words, 0x00, 4 * 256);
 
    char* word = strtok(str, " ");
    for (int i = 0; word != NULL; i++)
    {
        words[i] = new char[256];
        strcpy(words[i], word);
 
        word = strtok(NULL, " ");
    }
 
    for (int i = 0; words[i] != NULL; i++)
    {
        int count = 1; bool f = false;
        for (int k = i - 1; k >= 0 && !f; k--)
            f = (!strcmp(words[k], words[i])) ? 1 : 0;
 
        for (int j = i + 1; words[j] != NULL && !f; j++)
            if (!strcmp(words[i], words[j])) count++;
 
        if (f == false) 
            printf("word = %s count = %d\n", words[i], count);
    }
 
    _getch();
 
    return 0;
}

ИИ поможет Вам:


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

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы