这是我在c++中的代码,我得到的错误显示在标题
#include <iostream>
#include <complex>
using namespace std;
double distance(double a,double b,double c ,double d)
{
double distance=0;
distance=sqrt(pow((b-a),2)+pow((d-c),2));
return abs(distance);
}
int main()
{
int t,n;
int arr[4]={0};
double a[30001][2];
double b[30001][2];
double c[30001][2];
double d[30001][2];
cin>>t;
while(t--)
{
cin>>n;
// insert the values of x and y in arrays
for (int i = 0; i < n; ++i)
{
double a,b;
cin>>a>>b;
if(a>0 && b>0)
{
++arr[1];
a[arr[1]][0] = a;
a[arr[1]][1] = b;
}
else if(a>0 && b<0)
{
++arr[2];
b[arr[2]][0]=a;
b[arr[2]][1]=b;
}
else if(a<0 && b<0)
{
++arr[3];
c[arr[3]][0]=a;
c[arr[3]][1]=b;
}
else
{
++arr[4];
d[arr[4]][0]=a;
d[arr[4]][1]=b;
}
}
// if 0 coordinates of one type are present then print 0 and exit
if(arr[1]==0 || arr[2]==0 || arr[3]==0 || arr[4]==0)
cout<<0<<endl;
else
{
int count = 0 ;
for(int i=1;i<=arr[1];++i)
{
for(int j=1;j<arr[2];++j)
{
for (int x = 1; x < arr[3]; ++x)
{
for (int y = 1; y < arr[4]; ++y)
{
int dis1=distance(arr[i][0],arr[j][0],arr[i][1],arr[j][1]);
int dis2=distance(arr[j][0],arr[x][0],arr[j][1],arr[x][1]);
int dis3=distance(arr[x][0],arr[y][0],arr[x][1],arr[y][1]);
int dis4=distance(arr[y][0],arr[i][0],arr[y][1],arr[i][1]);
double s = dis1+dis2+dis3+dis4/2;
double area = sqrt(s(s-dis1)(s-dis2)(s-dis3)(s-dis4));
if(area%(double)1==(double)0)
{
++count;
}
}
}
}
}
cout<<count<<endl;
}
}
return 0;
}
似乎我错过了一些东西在这个简单的代码
有谁能帮我做这件事吗
double a,b;
遮蔽了
行中数组的定义double a[30001][2];
double b[30001][2];
重命名其中一组变量。例如
double oneA, oneB;