Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Yga@
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 15
#1

Определить наименьшее расстояние между тремя точками - C++

29.07.2013, 08:35. Просмотров 2268. Ответов 11
Метки нет (Все метки)

Заданы три точки А(a1,a2,a3), В(b1,b2,b3) и С(c1,c2,c3). Определить, между какими точками расстояние будет наименьшим
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 08:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить наименьшее расстояние между тремя точками (C++):

Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих - C++
1. Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих множеств. Найти расстояние...

Перегрузка функций: Определить функцию, возвращающую расстояние между точками числа. - C++
Определить функцию, возвращающую расстояние между точками числа. Выполнить перегрузку функции для следующих типов параметров: Два параметра...

Расстояние между точками - C++
задание: дано n точек определить номера точек которые имеют максимальное и минимальное расстояние между точками. Когда вводил n=3 и...

Расстояние между точками x0 y0 x1 y1 - C++
Всем привет, не могу понять в чем проблема программы: Найти расстояние между двумя точками заданными координатами(x1,y1) && (x2,y2) ...

Расстояние между 2-мя точками. - C++
Попробовал сам, но она не выполняется, пишет ошибки при вычислении корня. Задача в следующем: Вычислить расстояние между двумя точками...

Расстояние между двумя точками - C++
Найти расстояние между двумя точками (x1, y1) и (x2, y2) Формат входных данных Одна строка входных данных содержит четыре...

11
Nikitko_Cent
144 / 114 / 12
Регистрация: 27.10.2011
Сообщений: 690
Завершенные тесты: 3
29.07.2013, 09:15 #2
Расстояние между точками можно найти по формуле:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{{(x2-x1)}^{2}+{(y2-y1)}^{2}+{(z2-z1)}^{2}}

Дальше сам
0
Wolkodav
609 / 462 / 33
Регистрация: 18.09.2012
Сообщений: 1,688
29.07.2013, 09:47 #3
Для корней и квадратов есть библиотека math.h
0
Thinker
Эксперт С++
4231 / 2205 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2013, 09:49 #4

Не по теме:

с мира по нитке


в этой задаче можно функцию sqrt() не использовать вовсе.
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 10:14 #5
Thinker, даже нужно - не будет потери точности.
0
Thinker
29.07.2013, 10:21
  #6

Не по теме:

Dani, а зачем мне было все карты раскрывать, вот и от вас ниточка
а по поводу точности, памяти и т.д. взгляните:
ms dos

0
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:27 #7
Может и не совсем совершенный код, но что есть то есть:
Кликните здесь для просмотра всего текста
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
#include<iostream>
using namespace std;
class point
{
private:
    float x1, x2, x3;
public:
    point(): x1(0), x2(0), x3(0)
    {}
    point(float x, float y, float z): x1(x), x2(y), x3(z)
    {}
    void get_point()
    {
        cout << "Введите через пробел координаты точки:"; cin >> x1 >> x2 >> x3;    
    }
    friend float modul(point&, point&);
};
float modul(point& p1, point& p2)
{
    return (p1.x1-p2.x1)*(p1.x1-p2.x1) + (p1.x2-p2.x2)*(p1.x2-p2.x2) + (p1.x3-p2.x3)*(p1.x3-p2.x3);    
}
int main()
{
    system("chcp 1251>0");
    point A,B,C;
    A.get_point();
    B.get_point();
    C.get_point();   
    
    if (modul(A, B) > modul(A, C))
    {
        if (modul(A, C) > modul(B, C))
            cout << "Наименьшее расстояние между второй и третьей точкой" << endl;
        else
            cout << "Наименьшее расстояние между первой и третьей точкой" << endl;
    }
    else
    {
        if (modul(A, B) > modul(B, C))
            cout << "Наименьшее расстояние между второй и третьей точкой" << endl;
        else
            cout << "Наименьшее расстояние между первой и второй точкой" << endl;        
    }
   
    system("pause");
    return 0;
}
1
Wolkodav
609 / 462 / 33
Регистрация: 18.09.2012
Сообщений: 1,688
29.07.2013, 10:35 #8
Я бы вместо get_point уж тогда :
C++
1
2
3
4
5
6
7
8
friend istream& operator >> (istream& in,point& p);
//...
istream& operator >> (istream& in,point& p)
{
    cout << "Введите через пробел координаты точки:";
    in >> p.x1 >> p.x2 >> p.x3;
    return in;
}
Добавлено через 1 минуту
Зато потом:
C++
1
2
3
4
5
6
7
8
int main()
{
    point A,B,C;
    cin >> A;
    cin >> B;
    cin >> C;
// ...
}
0
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:38 #9
Wolkodav, а в чем приимущество вашего метода?
0
Wolkodav
609 / 462 / 33
Регистрация: 18.09.2012
Сообщений: 1,688
29.07.2013, 10:43 #10
Буковок при вызове меньше писать...
А так, просто переопределяем стандартный ввод. Как-то интуитивнее понятнее будет, если придётся использовать класс в будущем.
0
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
29.07.2013, 10:52 #11
Пожалуй с вами соглашусь. При работе с чужим кодом такое переопределение значительно упростит понимание чем использование методов. Мне почему-то потоки тяжело даются, хотя уже и STL прошел (Лафоре).
0
Dani
29.07.2013, 11:00     Определить наименьшее расстояние между тремя точками
  #12

Не по теме:

Thinker, можете не верить, но уже видео про ДОС видел. Кстати, вот офигенное http://www.youtube.com/watch?v=XP34FHKleiY Ржал как ненормальный, когда смотрел Только не по теме оно немного

2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 11:00
Привет! Вот еще темы с ответами:

Расстояние между двумя точками - C++
1. Напишите функцию distance, которая вычисляет расстояние между двумя точками (x1, y1) и (x2, y2). Все числа и возвращаемые значения...

Найти наибольшее расстояние между точками - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;Math.h&gt; using namespace std; double rast(double x1, double x2, double y1,...

Посчитать расстояние между точками прямой - C++
Здравствуйте,помогите пожалуйста.даны два списка х1,х2,...-1е координаты точек Прямой и у1,у2,...- 2е координаты точек Прямой,нужно...

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


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

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

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