Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
marikhuan
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 42
Завершенные тесты: 1
1

Расстояние между точками

05.06.2017, 13:49. Просмотров 1314. Ответов 2
Метки нет (Все метки)

Дана задача
На плоскости заданы n точек: (x1,y1), (x2,y2)… (xn,yn). Найти наименьшее из расстояний от точки (x0,y0) до всех остальных. Вычисление длины отрезка оформить в виде подпрограммы.
Вроде все понятно, нужно занести формулу вычисления расстояния между двумя точками(L=√(x-x0)²+(y-y0)²) в функцию и в цикле повторять ее в зависимости от n
Вот только каким образом туда ее занести
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2017, 13:49
Ответы с готовыми решениями:

Расстояние между точками
Клеточное поле образовано вертикальными и горизонтальными прямыми так, что первая прямая находится...

Вычислить расстояние между двумя точками
вычислить расстояние между двумя точками с координатами (х1,х2) и (у1,у2). Координаты вводятся с...

Найти расстояние между двумя точками на плоскости
#include <stdio.h> #include <conio.h> #include <stdlib.h> #math.h main() { int...

Написать Функцию, определяющую расстояние между точками
Здравствуйте.Нужна помощь.Задание решил, но пару пунктов не понял. Собственное вот задание:...

Найти расстояние между двумя любыми точками
Клеточное поле образовано вертикальными и горизонтальными прямыми так, что первая прямая находится...

2
Байт
Эксперт C
22105 / 13782 / 2913
Регистрация: 24.12.2010
Сообщений: 29,428
05.06.2017, 16:58 2
Цитата Сообщение от marikhuan Посмотреть сообщение
каким образом туда ее занести
C
1
2
3
#include <math.h>
...
double L = sqrt((x-x0)*(x-x0) + (y-y0)*(y-y0));
Если я правильно понял вопрос
1
HackSign
40 / 40 / 36
Регистрация: 23.11.2006
Сообщений: 149
05.06.2017, 19:02 3
Лучший ответ Сообщение было отмечено marikhuan как решение

Решение

C
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <math.h> 
# include <time.h>
 
int vect_coord[20][1]; // массив содержащий координаты отрезков
int n; // количество точек
 
//генерируем координаты в зависимости от количества точек
void generate_coords(int n1) 
{ 
  for(int i=0;i<=n;i++) 
  { 
    for(int j=0;j<=1;j++) 
    { 
     vect_coord[i][j]=rand() % 20; 
 // printf(" elem coords is  %i", vect_coord[i][j]); 
   }
  }
 getch();
} 
 
 int main() 
 { 
  int x0, y0, x, y, n; 
  int L[20]; //вектор содержащий длины отрезков 
  int min=0; 
  printf("Vvrdite nachalnuyu koordinatu x  "); 
  scanf("%i", &x0); 
  printf("\n"); 
  printf("Vvrdite nachalnuyu koordinatu y  "); 
  scanf("%i", &y0); 
  printf("\n"); 
  printf("Vvrdite kolichestvo tochek n  "); 
  scanf("%i", &n); 
  printf("\n"); 
  
  generate_coords(n); 
 
  // находим длину отрезков
  for(int i=0;i<=n;i++) 
  {
     for(int j=0;j<=1;j++) 
      { 
       if(j==0) 
        {
        
        x=vect_coord[i][j]; 
         printf ("X is %i", x); printf("\n"); 
       }
       if(j==1) 
         {
                 y=vect_coord[i][j];
                 printf("Y is %i", y); printf("\n"); 
         }
      }
    L[i]=sqrt(pow((x-x0),2)+pow((y-y0),2));
    printf("L is  %i", L[i]); printf("\n");
    getch();
  } 
  // выводим длину отрезков на экран
  for(int i=0;i<=n;i++) 
  { 
    printf(" length is %i",  L[i]); printf("\n");
  } 
   
  // находим минимальную длину
  min = L[0]; 
  for(int i=0; i<=n; i++) 
   { 
     if(min>L[i])  min=L[i]; 
   } 
   printf("Minimum is  %i", min); 
   getch(); 
   
  return 0; 
 }
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2017, 19:02

Вычислить расстояние между двумя точками с заданными координатами
Вычислить расстояние между двумя точками с координатами x1, y1 и x2, y2. Исходные данные и...

Вычислить расстояние между двумя точками с данными координатами
Задача №1. Вычислить расстояние между двумя точками с данными координатами (х1,у1) и (х2,у2). ...

Рассчитать расстояние между двумя точками в трехмерном пространстве
Здравствуйте, существует проблема с вводом чисел. Вот задание: &quot;Рассчитать расстояние между двумя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.