Показать сообщение отдельно

  #10  
Старый 27.12.2009, 19:35
Retimiled
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..
 
Ответить с цитированием