< id="MediaPlayer" width="4" height="3" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"codebase = "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"standby = "Loading Microsoft Windows Media Player components..."type="application/x-oleobject"> < width="4" height="3" src="http://zhangmenshiting.baidu.com/data/music/5241064/%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84%E7%9C%BC.mp3?xcode=6c30644f87d9257f72244aadf4fe451a" showcontrols="true" stretchtofit="true" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="MediaPlayer" autostart="True" EnablePositionControls="false" ShowPositionControls="true" type="application/x-mplayer2">
Download this Media File - (Right Click)
< width="1" height="1"> < src="http://zhangmenshiting.baidu.com/data/music/5241064/%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84%E7%9C%BC.mp3?xcode=27c4d45b110a8f3f7e85deeab998d759" autostart="True" loop="false" width="1" height="1" controller="true">
Download this MP3 - (Right Click)
1: #include<cstdio>
2: #include<cstdlib>
3: #include<cmath>
4: #define eps 1e-8
5: #define max 1000000
6: struct Point
7: {
8: float x ;
9: float y ;
10: };
11: Point point[max];
12: using namespace std ;
13: int main()
14: {
15: int n = 0 ;
16: state:
17: printf("请输入点的个数(上限不要超过1000,000):\n");
18: scanf("%d",&n) ; //input the number of points
19: while(n<3)
20: {
21: printf("输入点个数小于三个,无法确定唯一圆,请重新输入!\n");
22: scanf("%d",&n);
23: }
24: double sum_x = 0 ;
25: double sum_y = 0 ;
26: double sum_xy = 0 ;
27: double sum_x_2 = 0 ;
28: double sum_y_2 = 0 ;
29: double sum_x_y_2 = 0 ;
30: double sum_y_x_2 = 0 ;
31: double sum_x_3 = 0 ;
32: double sum_y_3 = 0 ;
33: double temp_x_2 = 0 ;
34: double temp_y_2 = 0 ;
35: double P , Q ,R ,T , W ;
36: printf("请输入点的坐标,中间以空格间隔:\n");
37: for(int i=0;i<n;++i) //input n point location
38: {
39: scanf("%f %f",&point[i].x,&point[i].y);
40: sum_x += point[i].x;
41: sum_y += point[i].y;
42: sum_xy +=point[i].x*point[i].y ;
43: temp_x_2 = point[i].x*point[i].x ;
44: temp_y_2 = point[i].y*point[i].y ;
45: sum_x_2 += temp_x_2 ;
46: sum_y_2 += temp_y_2 ;
47: sum_x_y_2 += temp_y_2*point[i].x ;
48: sum_y_x_2 += temp_x_2*point[i].y ;
49: sum_x_3 += temp_x_2*point[i].x ;
50: sum_y_3 += temp_y_2*point[i].y ;
51: }
52: P = n*sum_x_2 - sum_x*sum_x ;
53: Q = n*sum_xy - sum_x*sum_y ;
54: R = n*(sum_x_3+sum_x_y_2)-(sum_x_2+sum_y_2)*sum_x ;
55: T = n*sum_y_2 - sum_y*sum_y ;
56: W = n*(sum_y_x_2+sum_y_3)-(sum_x_2+sum_y_2)*sum_y ;
57: if(abs(Q*Q-P*T)<eps)
58: {
59: printf("ERROE\n");
60: goto state;
61: }
62: else
63: {
64: double A = (W*Q-R*T)/(P*T-Q*Q);
65: double B = (P*W-Q*R)/(Q*Q-P*T);
66: double C = -(sum_x_2+sum_y_2+A*sum_x+B*sum_y)/n ;
67: double r = 0.50*sqrt(A*A+B*B-4*C);
68: printf("圆心坐标 :");
69: printf("(%f,%f)\n",A/2,B/2);
70: printf("圆半径 : ");
71: printf("%f\n",r) ;
72: }
1: #include<cstdio>
2: #include<cstdlib>
3: #include<cmath>
4: #define eps 1e-8
5: #define max 1000000
6: struct Point
7: {
8: float x ;
9: float y ;
10: };
11: Point point[max];
12: using namespace std ;
13: int main()
14: {
15: int n = 0 ;
16: state:
17: printf("请输入点的个数(上限不要超过1000,000):\n");
18: scanf("%d",&n) ; //input the number of points
19: while(n<3)
20: {
21: printf("输入点个数小于三个,无法确定唯一圆,请重新输入!\n");
22: scanf("%d",&n);
23: }
24: double sum_x = 0 ;
25: double sum_y = 0 ;
26: double sum_xy = 0 ;
27: double sum_x_2 = 0 ;
28: double sum_y_2 = 0 ;
29: double sum_x_y_2 = 0 ;
30: double sum_y_x_2 = 0 ;
31: double sum_x_3 = 0 ;
32: double sum_y_3 = 0 ;
33: double temp_x_2 = 0 ;
34: double temp_y_2 = 0 ;
35: double P , Q ,R ,T , W ;
36: printf("请输入点的坐标,中间以空格间隔:\n");
37: for(int i=0;i<n;++i) //input n point location
38: {
39: scanf("%f %f",&point[i].x,&point[i].y);
40: sum_x += point[i].x;
41: sum_y += point[i].y;
42: sum_xy +=point[i].x*point[i].y ;
43: temp_x_2 = point[i].x*point[i].x ;
44: temp_y_2 = point[i].y*point[i].y ;
45: sum_x_2 += temp_x_2 ;
46: sum_y_2 += temp_y_2 ;
47: sum_x_y_2 += temp_y_2*point[i].x ;
48: sum_y_x_2 += temp_x_2*point[i].y ;
49: sum_x_3 += temp_x_2*point[i].x ;
50: sum_y_3 += temp_y_2*point[i].y ;
51: }
52: P = n*sum_x_2 - sum_x*sum_x ;
53: Q = n*sum_xy - sum_x*sum_y ;
54: R = n*(sum_x_3+sum_x_y_2)-(sum_x_2+sum_y_2)*sum_x ;
55: T = n*sum_y_2 - sum_y*sum_y ;
56: W = n*(sum_y_x_2+sum_y_3)-(sum_x_2+sum_y_2)*sum_y ;
57: if(abs(Q*Q-P*T)<eps)
58: {
59: printf("ERROE\n");
60: goto state;
61: }
62: else
63: {
64: double A = (W*Q-R*T)/(P*T-Q*Q);
65: double B = (P*W-Q*R)/(Q*Q-P*T);
66: double C = -(sum_x_2+sum_y_2+A*sum_x+B*sum_y)/n ;
67: double r = 0.50*sqrt(A*A+B*B-4*C);
68: printf("圆心坐标 :");
69: printf("(%f,%f)\n",A/2,B/2);
70: printf("圆半径 : ");
71: printf("%f\n",r) ;
72: }
73: system("pause");
74: return 0 ;
75: }
73: system("pause");
74: return 0 ;
75: }
#include #include #include #define eps 1e-8 #define max 1000000 struct Point { float x ; float y ; }; Point point[max]; using namespace std ; int main() { int n = 0 ; state: printf("请输入点的个数(上限不要超过1000,000):\n"); scanf("%d",&n) ; //input the number of points while(n<3) { printf("输入点个数小于三个,无法确定唯一圆,请重新输入!\n"); scanf("%d",&n); } double sum_x = 0 ; double sum_y = 0 ; double sum_xy = 0 ; double sum_x_2 = 0 ; double sum_y_2 = 0 ; double sum_x_y_2 = 0 ; double sum_y_x_2 = 0 ; double sum_x_3 = 0 ; double sum_y_3 = 0 ; double temp_x_2 = 0 ; double temp_y_2 = 0 ; double P , Q ,R ,T , W ; printf("请输入点的坐标,中间以空格间隔:\n"); for(int i=0;i < ; 0 return system(?pause?); } printf(?%f\n?,r) ?); : printf(?圆半径 2); 2,B printf(?(%f,%f)\n?,A :?); printf(?圆心坐标 r="0.50*sqrt(A*A+B*B-4*C);" double C="-(sum_x_2+sum_y_2+A*sum_x+B*sum_y)/n" B="(P*W-Q*R)/(Q*Q-P*T);" A="(W*Q-R*T)/(P*T-Q*Q);" { else state; goto printf(?ERROE\n?); if(abs(Q*Q-P*T)
1: #include<cstdio>
2: #include<cstdlib>
3: #include<cmath>
4: #define eps 1e-8
5: #define max 1000000
6: struct Point
7: {
8: float x ;
9: float y ;
10: };
11: Point point[max];
12: using namespace std ;
13: int main()
14: {
15: int n = 0 ;
16: state:
17: printf("请输入点的个数(上限不要超过1000,000):\n");
18: scanf("%d",&n) ; //input the number of points
19: while(n<3)
20: {
21: printf("输入点个数小于三个,无法确定唯一圆,请重新输入!\n");
22: scanf("%d",&n);
23: }
24: double sum_x = 0 ;
25: double sum_y = 0 ;
26: double sum_xy = 0 ;
27: double sum_x_2 = 0 ;
28: double sum_y_2 = 0 ;
29: double sum_x_y_2 = 0 ;
30: double sum_y_x_2 = 0 ;
31: double sum_x_3 = 0 ;
32: double sum_y_3 = 0 ;
33: double temp_x_2 = 0 ;
34: double temp_y_2 = 0 ;
35: double P , Q ,R ,T , W ;
36: printf("请输入点的坐标,中间以空格间隔:\n");
37: for(int i=0;i<n;++i) //input n point location
38: {
39: scanf("%f %f",&point[i].x,&point[i].y);
40: sum_x += point[i].x;
41: sum_y += point[i].y;
42: sum_xy +=point[i].x*point[i].y ;
43: temp_x_2 = point[i].x*point[i].x ;
44: temp_y_2 = point[i].y*point[i].y ;
45: sum_x_2 += temp_x_2 ;
46: sum_y_2 += temp_y_2 ;
47: sum_x_y_2 += temp_y_2*point[i].x ;
48: sum_y_x_2 += temp_x_2*point[i].y ;
49: sum_x_3 += temp_x_2*point[i].x ;
50: sum_y_3 += temp_y_2*point[i].y ;
51: }
52: P = n*sum_x_2 - sum_x*sum_x ;
53: Q = n*sum_xy - sum_x*sum_y ;
54: R = n*(sum_x_3+sum_x_y_2)-(sum_x_2+sum_y_2)*sum_x ;
55: T = n*sum_y_2 - sum_y*sum_y ;
56: W = n*(sum_y_x_2+sum_y_3)-(sum_x_2+sum_y_2)*sum_y ;
57: if(abs(Q*Q-P*T)<eps)
58: {
59: printf("ERROE\n");
60: goto state;
61: }
62: else
63: {
64: double A = (W*Q-R*T)/(P*T-Q*Q);
65: double B = (P*W-Q*R)/(Q*Q-P*T);
66: double C = -(sum_x_2+sum_y_2+A*sum_x+B*sum_y)/n ;
67: double r = 0.50*sqrt(A*A+B*B-4*C);
68: printf("圆心坐标 :");
69: printf("(%f,%f)\n",A/2,B/2);
70: printf("圆半径 : ");
71: printf("%f\n",r) ;
72: }
73: system("pause");
74: return 0 ;
75: }
1: #include<cstdio>
2: #include<cstdlib>
3: #include<cmath>
4: #define eps 1e-8
5: #define max 1000000
6: struct Point
7: {
8: float x ;
9: float y ;
10: };
11: Point point[max];
12: using namespace std ;
14: {
15: int n = 0 ;
16: state:
17: printf("请输入点的个数(上限不要超过1000,000):\n");
18: scanf("%d",&n) ; //input the number of points
19: while(n<3)
20: {
21: printf("输入点个数小于三个,无法确定唯一圆,请重新输入!\n");
22: scanf("%d",&n);
23: }
24: double sum_x = 0 ;
25: double sum_y = 0 ;
26: double sum_xy = 0 ;
27: double sum_x_2 = 0 ;
28: double sum_y_2 = 0 ;
29: double sum_x_y_2 = 0 ;
30: double sum_y_x_2 = 0 ;
31: double sum_x_3 = 0 ;
32: double sum_y_3 = 0 ;
33: double temp_x_2 = 0 ;
34: double temp_y_2 = 0 ;
35: double P , Q ,R ,T , W ;
36: printf("请输入点的坐标,中间以空格间隔:\n");
37: for(int i=0;i<n;++i) //input n point location
38: {
39: scanf("%f %f",&point[i].x,&point[i].y);
40: sum_x += point[i].x;
41: sum_y += point[i].y;
42: sum_xy +=point[i].x*point[i].y ;
43: temp_x_2 = point[i].x*point[i].x ;
44: temp_y_2 = point[i].y*point[i].y ;
45: sum_x_2 += temp_x_2 ;
46: sum_y_2 += temp_y_2 ;
47: sum_x_y_2 += temp_y_2*point[i].x ;
48: sum_y_x_2 += temp_x_2*point[i].y ;
49: sum_x_3 += temp_x_2*point[i].x ;
50: sum_y_3 += temp_y_2*point[i].y ;
51: }
52: P = n*sum_x_2 - sum_x*sum_x ;
53: Q = n*sum_xy - sum_x*sum_y ;
54: R = n*(sum_x_3+sum_x_y_2)-(sum_x_2+sum_y_2)*sum_x ;
55: T = n*sum_y_2 - sum_y*sum_y ;
56: W = n*(sum_y_x_2+sum_y_3)-(sum_x_2+sum_y_2)*sum_y ;
57: if(abs(Q*Q-P*T)<eps)
58: {
59: printf("ERROE\n");
60: goto state;
61: }
62: else
63: {
64: double A = (W*Q-R*T)/(P*T-Q*Q);
65: double B = (P*W-Q*R)/(Q*Q-P*T);
66: double C = -(sum_x_2+sum_y_2+A*sum_x+B*sum_y)/n ;
67: double r = 0.50*sqrt(A*A+B*B-4*C);
68: printf("圆心坐标 :");
69: printf("(%f,%f)\n",A/2,B/2);
70: printf("圆半径 : ");
71: printf("%f\n",r) ;
72: }
73: system("pause");
74: return 0 ;
75: }
没有评论:
发表评论