Отображать слова, содержащие аналогичные символы - C (СИ)
Формулировка задачи:
как сделать программу которая будет отображать слова содержащие аналогичные символы
пример(aa , bb, cc ...)
из строки: J'ai appelé l'ambulance
отобразить: appelé
Решение задачи: «Отображать слова, содержащие аналогичные символы»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define N 255 #define DELIM " ,.\t\n" int main(void) { char *p=NULL, *a; char str[N]="ddgh srsff ghjkgd"; for (p = strtok(str, DELIM); p; p = strtok(NULL, DELIM)) { a=p; ++a; if(*a !='\0') { while(*a) { if(*(a-1) == *a) { printf("%s\n", p); break; } ++a; } } } return 0; }
Объяснение кода листинга программы
В этом коде используется функция strtok
для разделения строки на токены по заданному разделителю (в данном случае пробел, запятая, точка и табуляция). Затем код проверяет каждый символ в каждом токене, начиная со второго символа, и если текущий символ совпадает с предыдущим, выводит весь токен. Код также проверяет, что токен не пустой, прежде чем проверять его символы.
Вот список действий в коде:
- Включает необходимые заголовочные файлы.
- Определяет константы
N
иDELIM
. - Инициализирует переменную
main
какvoid
. - Объявляет переменные
p
иa
. - Инициализирует строку
str
. - Использует
strtok
для разделения строкиstr
на токены по разделителюDELIM
. - Начинает цикл
for
, который перебирает каждый токен. - Внутри цикла объявляет переменную
a
равнойp
и увеличивает ее на 1. - Проверяет, что следующий символ в токене не является нулевым символом.
- Если это так, то начинается внутренний цикл
while
, который перебирает каждый символ в токене. - Внутри внутреннего цикла проверяет, совпадают ли текущий символ и предыдущий символ.
- Если это так, то выводит весь токен и прерывает внутренний цикл
while
. - По завершении внутреннего цикла
while
код прерывает внешний циклfor
и возвращает 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д