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