Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
#1

Найти наименьшее расстояние от точки В до любой из точек множества А - C++

28.09.2010, 01:20. Просмотров 1800. Ответов 5
Метки нет (Все метки)

дано множество точек с координатами(х,у) и точка В с координатами(х,у), лежащая в другом множестве.
Найти наименьшее расстояние от точки В до любой из точек множества А(вывести наименьшее растояние от точки А до точки В)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 01:20     Найти наименьшее расстояние от точки В до любой из точек множества А
Посмотрите здесь:

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри - C++
"Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры, содержащей максимальное число заданных точек. Фигура -...

Дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее удаленной от точки A - C++
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <time.h> #define B 100 using namespace std; void gen...

Верно ли, что для любой пары точек из множества все оставшиеся точки лежат по одну сторону от прямой, проведённой через эту пару - C++
Даны действительные числа x1,....x15, y1,....y15, которые рассматриваются как координаты 15 точек на плоскости. Верно ли, что для каждой из...

Среди заданных точек на плоскости найти ту, у которой расстояние суммы равно наибольшему от остальных точек - C++
Помогите вывести не цифру наибольшего значения, а все число. Задача: среди заданных точек на плоскости, найти ту у которой расстояние...

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

Из задоного множества точек на плоскости выбрать две различные точки - C++
Привет всем пожалуста помогите найти ошибку в коде. условия задачи: Из задоного множества точек на плоскости выбрать две различные точки...

Из заданного на плоскости множества точек выбрать три различные точки - C++
Здравствуйте, помогите пожалуйста написать программу: Из заданного на плоскости множества точек выбрать три различные точки так, чтобы...

Из заданного множества точек на плоскости выбрать три разные точки A, B, C - C++
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри треугольника ABC содержалось максимальное...

Из заданного множества точек на плоскости выбрать две различные точки - C++
Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек, лежащих по разные стороны прямой,...

Из заданного на плоскости множества точек выбрать три различные точки - C++
Само задание звучит так: "Из заданного на плоскости множества точек выбрать три различные точки так, чтобы разность между площадью...

Из заданного множества точек на плоскости выбрать две различные точки так - C++
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количество точек, лежащих по разные стороны от прямой,...

Найти число точек и сумму расстояний от первой точки до остальных точек - C++
Вектора X и Y задаются вводом; n — размер каждого из векторов X и Y. Пара (Xk, Yk) представляет координаты одной из n точек на...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
28.09.2010, 08:29     Найти наименьшее расстояние от точки В до любой из точек множества А #2
и ты хочешь чтоб тебе за спасибо всю задачку решили с нуля?
ты бы хоть попытался сам сдлелать
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
28.09.2010, 11:26     Найти наименьшее расстояние от точки В до любой из точек множества А #3
Наименьшее расстояние между двумя точками (x1,y1) и (x2,y2) - это sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)).
Или тебе надо найти точку из множества, расстояние до которой от точки B является наименьшим?
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
28.09.2010, 23:29  [ТС]     Найти наименьшее расстояние от точки В до любой из точек множества А #4
chesser, да именно... начала писать... массивы и точку все выводит а вот функция дурная расстояние не высчитывает, где ошибка?

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
// ss.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <math.h>
using namespace std;
    int*a;
    int*b;
    int x;
    int y;
    double z;
void rast(double z,int n)
{ int i;
 
    for( i=0;i<n; i++)
    {
         z = (double) sqrt (double (x-a[i])*(x-a[i])+(y-b[i])*(y-b[i]));
         i++;
        
    }
    
     cout<<"Vse vozmognie rasstojania"<<z<<endl;
}
 
int _tmain(int argc, _TCHAR* argv[])
{ SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
 
     int n;
    cout<<"Введите размерность массива:";
    cin>>n;
     a=new int[n];
     b=new int [n];
      for (int i=0;i<n;i++)
 
      {
                  cout<<"a["<<i<<"]=";
                  cin>>a[i];}
                        for (int i=0;i<n;i++){
                  cout<<"b["<<i<<"]=";
                  cin>>b[i];
 
                        }
cout<<"x=";
        cin>>x;
        cout<<"y=";
            cin>>y;
    
        cout<<"Tochka B"<<"("<<x<<","<<y<<")"<<endl;
        rast(z,n);
    return 0;
}
Добавлено через 23 минуты
как из чисел , которые вывелись на экран(все возможные расстояния) создать массив , чтоб их можно было сравнить и вывести минимальное расстояние???
в программе выше i++ не надо, все получилось)

Добавлено через 6 минут
как из чисел , которые вывелись на экран(все возможные расстояния) создать массив , чтоб их можно было сравнить и вывести минимальное расстояние???
в программе выше i++ не надо, все получилось)
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
29.09.2010, 16:53     Найти наименьшее расстояние от точки В до любой из точек множества А #5
непонятно зачем ты z передаешь как параметр, если не используешь
сделай массив double и потом сохраня

Добавлено через 1 минуту
й туда новые значения
C++
1
2
3
4
5
int len= 0;
double mas[100];
...
 mas[len] = (double) sqrt (double (x-a[i])*(x-a[i])+(y-b[i])*(y-b[i]));
len++;
и зачем ты в цикле писала i++ два раза?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
30.09.2010, 17:37     Найти наименьшее расстояние от точки В до любой из точек множества А #6
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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
typedef struct {
    double x, y;
} point_t;
 
double distance(point_t *a, point_t *b) {
    return sqrt(((a->x - b->x) * (a->x - b->x)) + ((a->y - b->y) * (a->y - b->y)));
}
 
#define NPOINTS 3
 
int main()
{
    point_t points[NPOINTS] = { {10,0}, {3,3}, {4,4} };
    point_t point_b = { 1,1 };
    
    double min_distance = 0;
    double buf = 0;
    int i = 0;
    
    printf("POINT B: [%f, %f]\n", point_b.x, point_b.y);
    for(i = 0; i < NPOINTS; ++i)
        printf("POINT %d: [%f, %f]\n", i + 1, points[i].x, points[i].y);
    
    min_distance = distance(&points[0], &point_b);
    for(i = 1; i < NPOINTS; ++i) {
        if(min_distance > (buf = distance(&points[i], &point_b))) {
            min_distance = buf;
        }
    }
        
    printf("min distance: %f\n", min_distance);
}
Yandex
Объявления
30.09.2010, 17:37     Найти наименьшее расстояние от точки В до любой из точек множества А
Ответ Создать тему
Опции темы

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