Поиск в тексте слов-"перевертышей" - C (СИ)
Формулировка задачи:
Дан текст. Выделить из текста все слова"перевертыши".
Различие строчных и прописных букв во внимание не принимать.
Например: "top apple pot". Top —pot - слова "перевертыши".
Простите если даная тема была....
Были идеи, но не знаю как её реализовать поскольку на си работаю недавно
Решение задачи: «Поиск в тексте слов-"перевертышей"»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { int i = 0, j = 0, k, m, flag = 0; char s[80], A[30][30], word[30], *p; puts("Input text:"); fgets(s, 80, stdin); for(p = strtok(s, " ,:-\n"); p; p = strtok(NULL, " ,:-\n"), i++){ strcpy(A[i], p); for(m = 0; m < strlen(A[i]); m++){ if(A[i][m] >= 'A' && A[i][m] <= 'Z') A[i][m] = A[i][m] + 32; } } for(j = 0; j < i; j++){ strcpy(word, A[j]); strrev(word); for(k = j; k < i; k++){ if(0 == strcmp(A[k], word) && j != k){ printf("Inverse words %s -> %s\n", A[j], A[k]); flag = 1; } } } if(flag == 0) puts("Inverse words not found."); return 0; }
Объяснение кода листинга программы
- Вводится текст, который необходимо проанализировать.
- Текст разбивается на отдельные слова (допускаются пробелы, запятые, точки, двоеточия и тире в качестве разделителей).
- Каждое слово приводится к нижнему регистру.
- Для каждого слова в тексте проверяется, является ли оно перевертышем другого слова в тексте (с учетом регистра). Если да, то выводится сообщение об этом.
- Если в тексте не найдено ни одного перевертыша, выводится соответствующее сообщение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д