当前位置: 代码迷 >> C语言 >> 编写匹配搜索程序
  详细解决方案

编写匹配搜索程序

热度:473   发布时间:2007-07-04 22:51:08.0
编写匹配搜索程序

29. 编写匹配搜索程序。先根据用户的输入建立一个字符串,再提示用户输入另一个字符串,然后在原串中搜索,看是否存在与此相同的子串。若存在,则给出此子串在原串中的起始位置(第几个,比如,一开始就匹配,输出起始位置1),否则,给出没有找到的信息。

请高手过来解决一下
急哦~!~!~!

搜索更多相关的解决方案: 搜索  编写  字符  位置  

----------------解决方案--------------------------------------------------------

呼救中、、、、、、、


----------------解决方案--------------------------------------------------------
这个是数据结构里的
呵呵
就是把字串和主串比较 如相等 两串都加一在比较
直到比较到子串为\0的时候
如不相等 就把主串加一 子串回到开始位置
算法大概就是这样拉
不晓得我说清楚没有
----------------解决方案--------------------------------------------------------
我还比较菜、、、、、可否告知详细的程序编写?
----------------解决方案--------------------------------------------------------

main()
{int m,n=0,i,j,x,y,k=0,d;
char a[10]={"chibdfasn"},b[10]={"incshibna"};
printf("a:");
for(i=0;i<strlen(a);i++)
printf("%c",a[i]);
printf("\n");
printf("b:");
for(i=0;i<strlen(b);i++)
printf("%c",b[i]);
printf("\n");
for(i=0;i<strlen(a);i++)
{ x=i;
for(j=0;j<strlen(b);)
{ y=j;
loop:
if(a[i]==b[j])
{ n++;
i++; j++;
goto loop;
} /*找最大子串*/
if(n>k)
{ k=n;
m=x; d=y;} /*k为子串的长度,m,n分别为求子串在a,b的第几位*/
i=x; j=y+1; n=0;
}
}

for(j=m;j<m+k;j++)
printf("%c",a[j]); /*输出a中的最大子串*/
printf("\n");
for(i=d;i<d+k;i++)
printf("%c",b[i]); /*输出b中的最大子串*/
}

这是原来编的
求最大子串 自己看看嘛


----------------解决方案--------------------------------------------------------
哦,

是不是先自己编一个数组1并且将它初始话

让别人输入一个数组2

用数组2的第一个元素与数组1元素挨个比较,碰到一样的时候双方数组元素都加1,看是否下一元素是否相同,若同则再比较下一个若不同则输出没有找到信息,

当数组2的元素为\0时停止比较并且输出、、、¥##%―*()@

应该对吧?

和和

谢谢^-^

----------------解决方案--------------------------------------------------------

使用C++ 比较简单
首先那个字符串存放到string中.

string s_enter,s_find;
cout<<"enter the mother string"<<endl;
cin>>s_enter;
cout<<"enter the boy string"<<endl;
cin>>s_find;
然后使用string的函数find就OK了
string::size_type pos = tmp.find("s_find");
re就是找到的位置返回值,否则pos == string::npos


----------------解决方案--------------------------------------------------------
这是编写一类似string的函数find,LS你用库函数写就不行了,这应该是某书上一练习题目吧.
----------------解决方案--------------------------------------------------------
  相关解决方案