一道简单的C++ 大家帮我看看哪错了 我很困惑

题是这样的。Description“我该怎么办?”飞行员klux向你求助。事实上,klux面对的是一个很简单的问题,但是他实在太菜了。klux要想轰炸某个区域内的一些地方... 题是这样的。
Description

“我该怎么办?”飞行员klux向你求助。
事实上,klux面对的是一个很简单的问题,但是他实在太菜了。
klux要想轰炸某个区域内的一些地方,它们是位于平面上的一些点,但是(显然地)klux遇到了抵抗,所以klux只能飞一次,而且由于飞机比较破,一点起飞就只能沿直线飞行,无法转弯。现在他想一次轰炸最多的地方。 不限定起飞地点

Input

第一行 n(1以下n行每行有一对整数,表示一个点的坐标。没有一个点会出现两次。

Output

一个整数,表示一条直线能覆盖的最多的点数。

Sample Input

5
1 1
2 2
3 3
9 10
10 11
我的代码是这样的:
我不知道我的为什么实现不了 请给于指点。
#include <iostream>
using namespace std;
void Boom(int a);
int main()
{int a,i,j;
float b[200][2];
cin>>a;

for (i=0;i<a;i++)
{for(j=0;j<2;j++)
{cin>>b[i][j];}}
Boom(a);
return 0;
}

void Boom(int x)// 计算斜率
{int i,j,y,t=0;
float b[200][2];
double x1,x2;
for(i=0;i<x-1;i++)
{for(j=1;j<x-i;j++)
{x1=b[i][1]/b[i][2];
x2=b[i+j][1]/b[i+j][2];// 如果斜率相等 则t+1
if (x1==x2)
{t++;
}}}
cout<<t<<endl;
}
展开
 我来答
zhlonglt
2009-11-21 · TA获得超过130个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
你的代码要改的地方太多
给你重写了个
#include <iostream>
using namespace std;
class Point;
istream& operator>>(istream& in,Point& p);
ostream& operator<<(ostream& out,Point& p);
class Point
{
private:
float x;
float y;
public: //坐标

float getSlope(); //斜率
friend istream& operator>>(istream& in,Point& p);
friend ostream& operator<<(ostream& out,Point& p);
};
float Point::getSlope() //返回该点斜率
{
return x/y;
}
istream& operator>>(istream& in,Point& p)
{
in >>p.x >>p.y;
return in;
}
ostream& operator<<(ostream& out,Point& p)
{
out <<p.x <<" " <<p.y <<endl;
return out;
}

int main()
{
int n=0,i;
cin>>n;
Point* p=new Point[n]; //创建n个元素的Point数组
float* Slope=new float[n]; //同上
int* Count=new int[n]; //存储与该点斜率相同的点的个数(包括该点)
int max=0;

for(i=0;i<n;i++)
{
cin >>p[i];
Slope[i]=p[i].getSlope(); //获取该点斜率
Count[i]=1; //Count所有元素初始化为1,每个点与之斜率
//相同的点的个数暂定为1
}

for(i=0;i<n;i++)
{
for(int j=0;j<n;j++)
if(Slope[i]==Slope[j] && i!=j)
Count[i]++; //遍历每个点与之相同斜率的点出现次数
}

for(i=0;i<n-1;i++) //找到斜率相同的最多的点
if(Count[i]>=Count[i+1])
max=Count[i];
else
max=Count[i+1];

for(i=0;i<n;i++) //输出斜率相同的点
if(max==Count[i]) cout <<p[i];
cout <<max <<endl;
return 0;
}
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式