Посчитать количество повторяющихся слов в строке - C (СИ)

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

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

Составить программу, которая вводит с клавиатуры строку, содержащую до 70 символов. В случае наличия в этой строке слов, которые повторяются два или более раза, вывести на экран эти слова с указанием числа их повторений. В случае отсутствия таких слов выводится соответствующее сообщение.

Решение задачи: «Посчитать количество повторяющихся слов в строке»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main() {
 
   char text[70];
   char *a[35],*pov[35];
   char* t;
   int i=0,j,k,sk,pov_count[35],h=0,d,f;
   
   printf("\nVvedite text:\n");
   gets(text);
   printf("\n");
   
   t=strtok(text," ");
 
   while (t != NULL) {
      a[i]=t;
      t = strtok (NULL, " ");
      i++;
   }
   
   for(j=0; j<i; j++) {
      sk=0;
      f=0;
      for(k=0; k<i; k++) {
         if (strcmp(a[j], a[k]) == 0) {
            sk++;
         }
      }
      for(d=0; d<h; d++) {
         if (strcmp(a[j], pov[d]) == 0) {
            f++;
         }
      }
      if(sk > 1 && f == 0) {
         pov[h]=a[j];
         pov_count[h]=sk;
         h++;
      }
   }
   
   for(j=0; j<h; j++) {
      printf("\nSlovo povtotyechiesy: %s",pov[j]);
      printf("\nPovtoreniy          : %i",pov_count[j]);
      printf("\n");
   }
   
   printf("\n");
   
   return 0;
}

Объяснение кода листинга программы

В данном коде на языке C выполняется подсчёт количества повторений слов в строке, введённой пользователем. Список действий, выполняемых в коде:

  1. Вводится строка с помощью функции gets().
  2. С помощью функции strtok() строка разбивается на слова.
  3. Каждое слово сохраняется в массиве a[].
  4. Для каждого слова в цикле проверяется, есть ли оно уже в массиве pov[].
  5. Если слово еще не встречалось, оно добавляется в массив pov[] и сохраняется его количество повторений в массиве pov_count[].
  6. Выводится на экран каждое слово из массива pov[] и количество его повторений.

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


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

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

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