В строке определить самую длинную последовательность символов, стоящих по возрастанию - C (СИ)
Формулировка задачи:
Ребят, спасайте! Проболел последние пол семестра, теперь не могу ни как разобраться со строками. Совершенно не могу понять как решить эту задачу. Помогите решить и/или поделитесь материалом по строкам^^
Задание:
В строке определить самую длинную последовательность символов, стоящих по возрастанию.
Входные данные:
abc012#*&defg346dezxc
Выходные данные:
346dez
Решение задачи: «В строке определить самую длинную последовательность символов, стоящих по возрастанию»
textual
Листинг программы
char s[]="abc321012#*&defg346dezxc"; char *pmax,*pb,*p; int nmax,n; for(nmax=n=0,pmax=s,p=s+1; *p; p++) if(*p>p[-1]) if(!n) { n=2; pb=p-1; }else n++; else { if(nmax<n) { nmax=n; pmax=pb; } n=0; } pmax[nmax]=0; printf("%s\n",pmax);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д