Ввести несколько строк текста, и использовать функцию strtok, для подсчета общего количества слов - C (СИ)
Формулировка задачи:
Вот мое задание: Напишите программу, которая вводит несколько строк текста и использует функцию strtok, чтобы сосчитать общее количество слов. Предположим, что слова разделяются символами новой строки или пробелами.
{ char **str = new char* [50]; for (int counter = 0; counter < 50; counter ++) str[counter] = new char[50]; int count=0; char *pstr; printf("Введите текст/строку для подсчёта кол-ва слов: \n"); for (int i = 0; i < 50; i++) { gets(str[i]); if (strcmp(str[i], "") ==0); exit(1); } pstr=strtok(*str," "); while (pstr!=NULL) { pstr=strtok(NULL," "); count++; } printf("Слов всего - %d\n", count); getch(); }
Решение задачи: «Ввести несколько строк текста, и использовать функцию strtok, для подсчета общего количества слов»
textual
Листинг программы
int strtok(char s[]);
Объяснение кода листинга программы
- Вводится строка текста с помощью функции
gets()
. - Инициализируется переменная
s
значением введенной строки. - Вызывается функция
strtok()
для разделения строки на слова. - Результат работы функции
strtok()
сохраняется в переменнойword
. - Проверяется условие
word != NULL
. - Если условие истинно, то выполняется следующая последовательность действий:
а) В счетчик
count
увеличивается на единицу. б) Выполняется операция приведения типаword
к типуchar*
для корректной работы функцииprintf()
. в) Выводится значение переменнойcount
с помощью функцииprintf()
. г) Выполняется следующая последовательность действий: — Переменнаяs
обновляется значениемword + 1
. — Вызывается функцияstrtok()
для разделения обновленной строки на слова. — Процесс повторяется до тех пор, пока условиеword != NULL
остается истинным. - Если условие
word != NULL
ложно, то выводится сообщение об ошибке с помощью функцииprintf()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д