Advertisement
Semior001

home work

Nov 22nd, 2016
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <conio.h>
  5. #include <iostream>
  6. #include <vector>
  7. #include <utility>
  8. using namespace std;
  9.  
  10. const int MAXN = 3*1e4; // 1e4 - 10^4
  11.  
  12. int x[MAXN+1];
  13. int y[MAXN+1];
  14. int n;
  15. int ans_min, ans_max;
  16. int pointmin2,pointmin1,pointmax2,pointmax1;
  17.  
  18. void calculate(){
  19.     ans_max = -3*1e4;
  20.     ans_min = 3*1e4;
  21.     int len;
  22.     for(int i = 0; i < n; i++){
  23.         for(int j = 0; j < n; j++){
  24.             len = sqrt((x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j])); // формула вычисления расстояние между двумя точками
  25.             if(len > ans_max){
  26.                 pointmax1 = i;
  27.                 pointmax2 = j;
  28.                 ans_max = len;
  29.             }
  30.             if(len < ans_min){
  31.                 pointmin1 = i;
  32.                 pointmin2 = j;
  33.                 ans_min = len;
  34.             }
  35.         }
  36.     }
  37. }
  38.  
  39. int main(){
  40.     scanf("%d", &n);
  41.     for(int i = 0; i < n; i++){
  42.         scanf("%d%d", &x[i], &y[i]);
  43.     }
  44.     calculate();
  45.     printf("Точки с минимальным расстоянием: (%d,%d) и (%d,%d)\n", x[pointmin1], y[pointmin1],x[pointmin2],y[pointmin2]);
  46.     printf("Точки с максимальным расстоянием: (%d,%d) и (%d,%d)\n", x[pointmax1], y[pointmax1],x[pointmax2],y[pointmax2]);
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement