两个坐标点能确定一个矩形,请按矩形的面积大小进行排序输出。每一行给出两个坐标点,表示一个矩形。
发布网友
发布时间:2022-04-23 04:41
我来回答
共2个回答
热心网友
时间:2023-10-15 03:04
按你的意思是输入的数据代表坐标(X1,Y1)(X2,Y2),求面积应是:
A=(X2-X1)*(Y2-Y1),
例子中1 2 3 4的面积是A=(3-1)(4-2)=4,其他类推
4
3
0
35
热心网友
时间:2023-10-15 03:04
设坐标点分别为[x1,y1]、[x2,y2]。x1,y1,x2,y2。都是数组(有几组坐标点,每个数组就多长,这里设为N)。c++编程如下:
for (int i=0;i<N;i++)
S[i]=abs((x1[i]-x2[i])*(y1[i]-y2[i]));/*求面积
double k=0;
for (i=0;i<N-1;i++)
for(int j=N-1;j>i;j--)
{
if(s[i]>s[j])
{
k=S[i];
S[i]=S[j];
S[j]=k;
}
}
for(i=0;i<N;i++)
cout<<S[i]<<endl;
这里按升序排序