Алгоритмы на С++
Решение задачи 2 главы 2
На плоскости задан круг с центром в начале координат и набор точек. Его радиус, количество точек и их координаты вводятся с клавиатуры. Найдите точку вне круга, ближайшую к нему.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
void itmathrepetitor_ru() { double xmin, ymin, r, x, y; bool flag=false; int n; cout<<"input radius: "; cin>>r; cout<<"input count of points: "; cin>>n; //www.itmathrepetitor.ru for (int i=1; i<=n; i++) { cout<<"input x and y of "<<i<<" point: "; cin>>x>>y; if (sqrt(x*x+y*y)>r && (!flag || sqrt(x*x+y*y)<sqrt(xmin*xmin+ymin*ymin))) { flag=true; xmin=x; ymin=y; } } //www.itmathrepetitor.ru if (flag) { cout<<"x_min: "<<xmin<<endl; cout<<"y_min: "<<ymin<<endl; cout<<"d_min: "<<sqrt(xmin*xmin+ymin*ymin)<<endl; } else { cout<<"not found"<<endl; } } |