Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <windows.h>//для system("pause")
- using namespace std;
- ifstream in("input.txt");
- struct Point
- {
- double x, y, z;
- void getPoint()
- {
- in >> x >> y >> z;
- }
- void printPoint()
- {
- cout << x << ' ' << y << ' ' << z << endl;
- }
- };
- double sqr(double a)
- {
- return a * a;
- }
- double getRange(Point a, Point b)
- {
- return sqr(a.x - b.x) + sqr(a.y - b.y) + sqr(a.z - b.z);
- }
- const int MAXSIZE = 100;
- int main()
- {
- Point a[MAXSIZE];// массив точек
- int n;//количество точек
- in >> n;
- for (int i = 0; i < n; ++i)
- {
- a[i].getPoint();
- }
- double answer = 0;
- int idx = 0;
- for (int i = 0; i < n; ++i)//переберем все точки
- {
- //найдем расстояние между i-й точкой и остальными
- double cur = 0;
- for (int j = 0; j < n; ++j)//переберем остальные точки
- {
- cur += getRange(a[i], a[j]);
- }
- if (cur > answer)// если расстояние от текущей точки до остальных больше, чем мы уже нашли
- {
- answer = cur;// обновим максимальное расстояние
- idx = i;// запомним номер точки
- }
- }
- a[idx].printPoint();
- system("pause");
- }
- /*
- Замечание: файл "input.txt" нужно создать
- пример:
- file "input.txt":
- 5
- -1 -2 -3
- 0 0 0
- 1 2 3
- 4 5 1
- 15 -12 -31
- consoleOutput:
- 15 -12 -31
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement