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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char* argv[])
  6. {
  7.     static char str[256] = "apple fruit banana apple banana fruit orange apple orange fruit banana apple orange\0";
  8.     static char** words = new char*[256];
  9.     memset((void*)words, 0x00, 4 * 256);
  10.  
  11.     char* word = strtok(str, " ");
  12.     for (int i = 0; word != NULL; i++)
  13.     {
  14.         words[i] = new char[256];
  15.         strcpy(words[i], word);
  16.  
  17.         word = strtok(NULL, " ");
  18.     }
  19.  
  20.     for (int i = 0; words[i] != NULL; i++)
  21.     {
  22.         int count = 1; bool f = false;
  23.         for (int k = i - 1; k >= 0 && !f; k--)
  24.             f = (!strcmp(words[k], words[i])) ? 1 : 0;
  25.  
  26.         for (int j = i + 1; words[j] != NULL && !f; j++)
  27.             if (!strcmp(words[i], words[j])) count++;
  28.  
  29.         if (f == false)
  30.             printf("word = %s count = %d\n", words[i], count);
  31.     }
  32.  
  33.     _getch();
  34.  
  35.     return 0;
  36. }

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы