Найти и вывести на экран последовательности из семи элементов, начинающихся на 123 - C (СИ)

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

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

найти и вывести на экран последовательности из семи элементов начинающихся на 123****

Решение задачи: «Найти и вывести на экран последовательности из семи элементов, начинающихся на 123»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. char* find_seq(char* s, char** e, const char* t){
  4.     const char* a, *b;
  5.     char* p = NULL;
  6.     while(*s){
  7.         a = s;
  8.         b = t;
  9.         while(*a && *b){
  10.             if((*b != '*') && (*b != *a))
  11.                 break;
  12.             ++a;
  13.             ++b;
  14.         }
  15.  
  16.         if(!*b){
  17.             p  = s;
  18.             *e = (char*)a;
  19.             break;
  20.         }
  21.         ++s;
  22.     }
  23.     return p;
  24. }
  25.  
  26. int main(void){
  27.     char* p, *e;
  28.     char s[] = "1234567, apl, (123PERL), 123ABCD, bla-bla, 123FFFF, 1234";
  29.  
  30.     for(p = &s[0]; (p = find_seq(p, &e, "123****")) != NULL; ){
  31.         while(p != e)
  32.             putchar(*p++);
  33.         putchar('\n');
  34.     }
  35.     return 0;
  36. }

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

  1. В функции find_seq ищется последовательность из семи элементов, начинающихся на 123.
  2. В функции main определен массив s, содержащий строки, в которых нужно найти последовательности.
  3. С помощью цикла for и функции find_seq последовательности ищутся в массиве s.
  4. Если последовательность найдена, то с помощью цикла while элементы последовательности выводятся на экран, после чего выводится символ новой строки.
  5. В конце программы возвращается значение 0, что означает успешное выполнение программы.

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


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

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

11   голосов , оценка 4.364 из 5

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

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

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