welltest.cpp

来自「给出N口井的坐标」· C++ 代码 · 共 76 行

CPP
76
字号
#include"iostream.h"
struct WELL
{
	double x;
	double y;
	int group;
};
void find_neibour(WELL *Well,WELL w,int N,double dis)
{
	for(int k=0;k<N;k++)
	{
			if((Well[k].group==0)&&((w.x-Well[k].x)*(w.x-Well[k].x)+(w.y-Well[k].y)*(w.y-Well[k].y))<=dis*dis)
			{
				Well[k].group=w.group;
				w=Well[k];
				find_neibour(Well,w,N,dis);
			}

	}
}
void main()
{
	const N=4;
	WELL Well[N];
	Well[0].x=0;
	Well[0].y=0;
	Well[1].x=12;
	Well[1].y=12;
	Well[3].x=13;
	Well[3].y=13;
	Well[2].x=111;
	Well[2].y=111;
/*	Well[0].x=0;
	Well[0].y=0;
	Well[1].x=1;
	Well[1].y=1;
	Well[2].x=2;
	Well[2].y=2;
	Well[3].x=3;
	Well[3].y=3;*/
/*	Well[0].x=0;
	Well[0].y=0;
	Well[1].x=1;
	Well[1].y=1;
	Well[2].x=1.1;
	Well[2].y=1.2;
	Well[3].x=1;
	Well[3].y=1.1;*/
	Well[0].group=0;
	Well[1].group=0;
	Well[2].group=0;
	Well[3].group=0;
	double distance=6.0;
	int i,j;
	for(i=0;i<N;i++)
	{
		if(	Well[i].group==0)
		{
			Well[i].group=i+1;
			find_neibour(Well,Well[i],N,distance);
		}
	}
	for(i=0;i<N;i++)
	{
		cout<<"第"<<i+1<<"组有:"<<endl;
		for(j=i;j<N;j++)
		{
			if(Well[j].group==(i+1))
				cout<<j+1<<"#井";
			cout<<endl;
		}
	}
	cin>>i;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?