Разбить строку на слова и вывести количество повторений этих слов в строке - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д