Вообщем дана последовательность слов через запятые, заканчивающееся точкой. Нужно вычислить все слова начинающиеся на "cam". Пример: camin,cams,caer,sgsgsg. Вывод: camin cams
Я тут чото пытался сделать, но не получаеться помогите найти ошибку?
| Код | #include<stdio.h> #include<conio.h> #include<string.h> int y(const char* a, const char* b){ int count=0, i=0, j=0; for(;a[i]!='\0';i++){ for(;a[i]==b[j];i++,j++); //for(;a[i]!=','&&a[i]!='.'&&b[j]=='\0';i++) if((a[i]==','||a[i]=='.')&&b[j]=='\0')count++; else for(;a[i]!=','||a[i]!='.';i++); j=0; } return count; } int main() {clrscr(); char str[271],*strcp="cam"; printf("BBeguTe nocledov. clov\n"); gets(str); //strcpy(strcp,str); char* delims=".,"; char* p; int flag=0; p=strtok(str, delims); printf("\nSlovo cam vstre4aetcya v slovax: \n\n"); while(p) { if(y(p,strcp)==1){ printf("%s\n",p); flag=1; } p=strtok(NULL, delims); } if(flag==0)printf("HeTy Takux Clov!"); getch (); return 0; }
|
M alexeis1 | Модератор: не забывайте выбирать тип подсветки. |
|