Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Relike
6 / 6 / 2
Регистрация: 24.04.2013
Сообщений: 260
1

Найти минимальное расстояние от точки до точки

08.12.2013, 15:47. Просмотров 746. Ответов 5
Метки нет (Все метки)

В последнем цикле, который должен находить минимальное расстояние от точки до точки и его индекс, какая-то ошибка. Немогу её увидеть. Помогите найти пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 15:47
Ответы с готовыми решениями:

Найти минимальное расстояние от точки до графика функции
у меня было задание такое: Определить минимальное расстояние функции...

Найти минимальное расстояние между точками множеств и сами точки, расположенные на этом расстоянии
Даны множества A и B, состоящие соответственно из N1 и N2 точек (точки заданы...

Найти расстояние от начала координат до каждой точки и расстояние между точками
задача на С++ На плоскости заданы точки своими координатами. Найти расстояние...

Вывести расстояние от заданной точки до точки пересечения диагоналей прямоугольников
Прямоугольники заданы координатами их вершин. 1)Вывести расстояние от...

Найти расстояние точки до ближайшей стороны треугольника
Всем привет! Помогите решить данную задачу. Заданы координаты вершин...

5
HidForce
57 / 57 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
08.12.2013, 15:57 2
Relike, а где код-то?
1
Relike
6 / 6 / 2
Регистрация: 24.04.2013
Сообщений: 260
08.12.2013, 16:13  [ТС] 3
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
#include <cstdlib>
#include <iostream>
#include <Math.h>
using namespace std;
 
 
int main(int argc, char *argv[])
{
    float *x, *y, *z, naib, naim, p, q, r;
    int i, n, ind_naib, ind_naim;
    cout<<"Vvedite razmernost' massiva : "; cin>>n;
    x = new float [n];
    y = new float [n];
    z = new float [n];
    cout<<"\nVvedite massivy c koordynatami : \n";
    for(i = 0; i<n; i++){
        cout<<"x["<<i+1<<"] = "; cin>>x[i];
        cout<<"y["<<i+1<<"] = "; cin>>y[i];
        cout<<"z["<<i+1<<"] = "; cin>>z[i];
        }
    cout<<"\nVvedite koordinaty tochki M : \n";
    cout<<"p = "; cin>>p;
    cout<<"q = "; cin>>q;
    cout<<"r = "; cin>>r;
    cout<<"\nM("<<p<<", "<<q<<", "<<r<<")\n";
    naib = sqrt((p-x[0])*(p-x[0])+(q-y[0])*(q-y[0])+(r-z[0])*(r-z[0]));
    for(i = 1; i<n; i++){
        if (sqrt((p-x[i])*(p-x[i])+(q-y[i])*(q-y[i])+(r-z[i])*(r-z[i]))>naib){
            naib = sqrt((p-x[i])*(p-x[i])+(q-y[i])*(q-y[i])+(r-z[i])*(r-z[i]));
            ind_naib = i;
            }
        }
    naim = sqrt((p-x[0])*(p-x[0])+(q-y[0])*(q-y[0])+(r-z[0])*(r-z[0]));
    for(i = 1; i<n; i++){
        if (sqrt((p-x[i])*(p-x[i])+(q-y[i])*(q-y[i])+(r-z[i])*(r-z[i]))<naim){
            naim = sqrt((p-x[i])*(p-x[i])+(q-y[i])*(q-y[i])+(r-z[i])*(r-z[i]));
            ind_naim = i;
            }
        }
        cout<<"\n"<<ind_naim<<"\n";
    cout<<"Tochka s koordynatami ("<<x[ind_naib]<<", "<<y[ind_naib]<<", "<<z[ind_naib]<<") naibolee udalena ot M.\n";
    cout<<"Tochka s koordynatami ("<<x[ind_naim]<<", "<<y[ind_naim]<<", "<<z[ind_naim]<<") naimenee udalena ot M.\n";
    system("pause");
    return EXIT_SUCCESS;
}
Не знаю куда это он делася в прошлый раз...но вот он.

Добавлено через 14 минут
HidForce, вот немонимаю что за ошибка. Индекс считает неправильно.
0
Relike
6 / 6 / 2
Регистрация: 24.04.2013
Сообщений: 260
09.12.2013, 18:42  [ТС] 4
Поправка, ошибку выдаёт при введении p = q = r... В чем фишка может быть?
0
valeriikozlov
Эксперт С++
4686 / 2512 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
09.12.2013, 18:52 5
Цитата Сообщение от Relike Посмотреть сообщение
Поправка, ошибку выдаёт при введении p = q = r... В чем фишка может быть?
увидел только одну ошибку (она характерна и для минимального и для максимального расстояний): раз считаете изначально минимальное (максимальное) расстояние до точки с индексом 0, то значит задавайте начальное значение ind_naib (ind_naim) равное 0.
1
Relike
6 / 6 / 2
Регистрация: 24.04.2013
Сообщений: 260
09.12.2013, 18:54  [ТС] 6
valeriikozlov, Большое спасибо! Ошибка разрешилась!
0
09.12.2013, 18:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 18:54

Найти наименьшее расстояние от точки В до любой из точек множества А
дано множество точек с координатами(х,у) и точка В с координатами(х,у), лежащая...

Найти расстояние от данной точки до ближайшей стороны треугольника
Даны координаты вершин треугольника и координаты некоторой точки внутри него....

Найти расстояние от данной точки внутри до ближайшей стороны треугольника
Добрый день!) нужна помощь в решении одной задачи:)Заранее спасибо:) Даны...


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

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

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