
27.12.2009, 19:35
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
2 algol
Код:
...
int flag;
for(i=0,ch=0;*(stroka+i)!=0;i++)
{
for(int j=0,flag=0;*(podstroka+j)!=0 && flag==0 && *(stroka+i+j)!=0;j++)
if(*(stroka+i+j)!=*(podstroka+j))
flag=1;
if(flag==0)
ch++;
}
2-nd verson  придумываю для вас прямо тут не проверяя .... так что проверяйте!
Код:
#include <stdio.h>
void st(char *str1,char *str2,int l, int *sum)
{
if(*str1==0)
{
if(*str2==0)
*sum++;
}
else
if(*str2==0)
*sum++;
else
if(*str1==*str2)
st(str1+1,str2+1,l+1,sum);
else
st(str1-l+1,str2-l,0,sum);
}
int main()
{
int sum=0;
char str[]="srvferv ergergt4etr retgbrth4 wfwrefg4ert5 wqede";
char stt[]="er";
st(str,stt,0,&sum);
printf("Совпадений:%d",sum);
}
Последний раз редактировалось Retimiled; 27.12.2009 в 20:09..
|
|
|