| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:编写匹配搜索程序
只看楼主 加入收藏
zhouxiaohong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-4
收藏
 问题点数:0 回复次数:7 
编写匹配搜索程序

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

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

搜索更多相关主题的帖子: 搜索 编写 字符 位置 
2007-07-04 22:51
zhouxiaohong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-4
收藏
得分:0 

呼救中、、、、、、、

2007-07-05 12:55
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
这个是数据结构里的
呵呵
就是把字串和主串比较 如相等 两串都加一在比较
直到比较到子串为\0的时候
如不相等 就把主串加一 子串回到开始位置
算法大概就是这样拉
不晓得我说清楚没有

   好好活着,因为我们会死很久!!!
2007-07-05 13:05
zhouxiaohong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-4
收藏
得分:0 
我还比较菜、、、、、可否告知详细的程序编写?
2007-07-05 13:17
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分: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中的最大子串*/
}

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


   好好活着,因为我们会死很久!!!
2007-07-05 13:19
zhouxiaohong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-4
收藏
得分:0 
哦,

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

让别人输入一个数组2

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

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

应该对吧?

和和

谢谢^-^
2007-07-05 13:32
稀里糊涂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-6
收藏
得分: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

2007-07-06 15:08
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
这是编写一类似string的函数find,LS你用库函数写就不行了,这应该是某书上一练习题目吧.

深山苦学C语言,终年不见外面世界。
2007-07-06 15:29
快速回复:编写匹配搜索程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021408 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved