Поиск в тексте слов-"перевертышей" - C (СИ)

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

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

Дан текст. Выделить из текста все слова"перевертыши". Различие строчных и прописных букв во внимание не принимать. Например: "top apple pot". Top —pot - слова "перевертыши". Простите если даная тема была.... Были идеи, но не знаю как её реализовать поскольку на си работаю недавно

Решение задачи: «Поиск в тексте слов-"перевертышей"»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     int i = 0, j = 0, k, m, flag = 0;
  7.     char s[80], A[30][30], word[30], *p;
  8.     puts("Input text:");
  9.     fgets(s, 80, stdin);
  10.     for(p = strtok(s, " ,:-\n"); p; p = strtok(NULL, " ,:-\n"), i++){
  11.         strcpy(A[i], p);
  12.         for(m = 0; m < strlen(A[i]); m++){
  13.             if(A[i][m] >= 'A' && A[i][m] <= 'Z')
  14.                 A[i][m] = A[i][m] + 32;
  15.             }
  16.     }
  17.     for(j = 0; j < i; j++){
  18.         strcpy(word, A[j]);
  19.         strrev(word);
  20.         for(k = j; k < i; k++){
  21.             if(0 == strcmp(A[k], word) && j != k){
  22.                 printf("Inverse words %s -> %s\n", A[j], A[k]);
  23.                 flag = 1;
  24.             }
  25.         }
  26.     }
  27.     if(flag == 0)
  28.         puts("Inverse words not found.");
  29.     return 0;
  30. }

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

  1. Вводится текст, который необходимо проанализировать.
  2. Текст разбивается на отдельные слова (допускаются пробелы, запятые, точки, двоеточия и тире в качестве разделителей).
  3. Каждое слово приводится к нижнему регистру.
  4. Для каждого слова в тексте проверяется, является ли оно перевертышем другого слова в тексте (с учетом регистра). Если да, то выводится сообщение об этом.
  5. Если в тексте не найдено ни одного перевертыша, выводится соответствующее сообщение.

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


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

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

13   голосов , оценка 4.077 из 5

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

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

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