Отображать слова, содержащие аналогичные символы - 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 для разделения строки на токены по заданному разделителю (в данном случае пробел, запятая, точка и табуляция). Затем код проверяет каждый символ в каждом токене, начиная со второго символа, и если текущий символ совпадает с предыдущим, выводит весь токен. Код также проверяет, что токен не пустой, прежде чем проверять его символы. Вот список действий в коде:

  1. Включает необходимые заголовочные файлы.
  2. Определяет константы N и DELIM.
  3. Инициализирует переменную main как void.
  4. Объявляет переменные p и a.
  5. Инициализирует строку str.
  6. Использует strtok для разделения строки str на токены по разделителю DELIM.
  7. Начинает цикл for, который перебирает каждый токен.
  8. Внутри цикла объявляет переменную a равной p и увеличивает ее на 1.
  9. Проверяет, что следующий символ в токене не является нулевым символом.
  10. Если это так, то начинается внутренний цикл while, который перебирает каждый символ в токене.
  11. Внутри внутреннего цикла проверяет, совпадают ли текущий символ и предыдущий символ.
  12. Если это так, то выводит весь токен и прерывает внутренний цикл while.
  13. По завершении внутреннего цикла while код прерывает внешний цикл for и возвращает 0, чтобы указать, что программа успешно завершилась.

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


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

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

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