求一道C++算法题的代码,如果结果正确追100分!(最好用二分匹配来做,不是也无所谓只要答案对)

【问题描述】我们用R×C个字符组成的方阵来代表一个地区的地图。在地图上标有一些城市。城市的具体位置由小写字母’x’给出,同会给出这个城市的名称,更确切地讲,城市名称字符串... 【问题描述】
我们用R×C个字符组成的方阵来代表一个地区的地图。
在地图上标有一些城市。城市的具体位置由小写字母’x’给出,同
会给出这个城市的名称,更确切地讲,城市名称字符串中至少有一个
市所在位置的周围8个方格中的一个方格内。城市名称字符串全部由大
在这个地图中,有可能会有多个名称出现在一个城市边上;也有
现在一个名称边上。然而,我们可以保证所有城市都对应一个唯一的
请编程为所有城市找出它所对应的名称。
【输入】
第一行包含两个整数R和C,其中1 ≤ R ≤ 50,1 ≤ C ≤ 50,表示
接下来有R行,每行有C个字符组成,以此来表示一个地图。其中
市,或一个由大写字母组成的字符串来表示某个城市的名称,并且城
行中。
【输出】
对每个城市输出一行,分别为该城市在地图中的坐标位置和城
从1开始标注(从上到下),同样地图的列也是从1开始标注(从左到
行坐标从小到大排序,如行坐标相同再以列坐标从小到大进行排序。
【样例】
【输入1】
12 31
...............................
.............ZAGREB............
..............x................
.......................OSIJEKx.
.....x.........................
......RIJEKA...................
...............................
...............................
...............................
..............SPLIT............
...............x...............
...............................
【输出1】
3 15 ZAGREB
4 30 OSIJEK
5 6 RIJEKA
11 16 SPLIT
【输入2】
3 8
.VELIKI.
x.....x.
..MALI..
【输出2】
2 1 VELIKI
2 7 MALI
展开
 我来答
2lqj4vpvj
2011-05-24 · TA获得超过1533个赞
知道大有可为答主
回答量:1653
采纳率:0%
帮助的人:545万
展开全部

/*错误:char b[]后面少了;还有,少了b数组的长度.
还有,reverse是一库函数,得改一下名.还有,你的程序是不对.你main()函数中用到返回值,但是在reverse()函数中没有返回.我来给你写一段吧,如下:*/
#include <iostream.h>
#include <string.h>
#define max 100

char *sreverse(char *s,int sta,int end)
{
char c,e;
int n=end;
if(end>sta)
{
c=s[sta];
e=s[end];
s[sta]=e;
s[end]=c;
sta++;
end--;
sreverse(s,sta,end);
}
return s;
}
void main()
{
char a[max];
char *p;
cout<<"请输入字符串:";
cin>>a;
cout<<"逆序前为:"<<a<<endl;
p=sreverse(a,0,strlen(a)-1);
cout <<"逆序后为:"<<p<<endl;

}
追问
大哥 你是不是回错题目了 - -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panweiy
2011-05-23 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:708万
展开全部
先占个位,待会再做
追问
大哥,能加快点速度么,我急要的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式