Найти и вывести на экран последовательности из семи элементов, начинающихся на 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;
- }
Объяснение кода листинга программы
- В функции
find_seq
ищется последовательность из семи элементов, начинающихся на123
. - В функции
main
определен массивs
, содержащий строки, в которых нужно найти последовательности. - С помощью цикла
for
и функцииfind_seq
последовательности ищутся в массивеs
. - Если последовательность найдена, то с помощью цикла
while
элементы последовательности выводятся на экран, после чего выводится символ новой строки. - В конце программы возвращается значение 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д