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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
 
char* find_seq(char* s, char** e, const char* t){
    const char* a, *b;
    char* p = NULL;
    while(*s){
        a = s;
        b = t;
        while(*a && *b){
            if((*b != '*') && (*b != *a))
                break;
            ++a;
            ++b;
        }
 
        if(!*b){
            p  = s;
            *e = (char*)a;
            break;
        }
        ++s;
    }
    return p;
}
 
int main(void){
    char* p, *e;
    char s[] = "1234567, apl, (123PERL), 123ABCD, bla-bla, 123FFFF, 1234";
 
    for(p = &s[0]; (p = find_seq(p, &e, "123****")) != NULL; ){
        while(p != e)
            putchar(*p++);
        putchar('\n');
    }
    return 0;
}

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

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

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


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

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

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