1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
1

Расстояние между двумя точками, double или int?

21.11.2014, 13:38. Показов 1664. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <cmath>
 
using namespace std;
 
int distance(int, int, int, int);
int main()
{
    int x1 = 4;
    int x2 = 7;
    int y1 = -5;
    int y2 = -2;
    int result = distance(x1, x2, y1, y2);
    cout << "=" << result;
    return _getch();
}
 
int distance(int x1, int x2, int y1, int y2)
{
    return sqrt(pow(x2-x1, 2) + pow(y2-y1, 2));
}
формула:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{(x_2-x_2)^2+(y_2-y_1)^2}

с такими данными result должно возвращать 5, а возвращает 4.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2014, 13:38
Ответы с готовыми решениями:

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

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

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

Определите расстояние между двумя введенными точками
Есть задание: &quot;Опишите переменную структуру для моделирования, предложенного понятия. Координаты...

7
7533 / 6396 / 2916
Регистрация: 14.04.2014
Сообщений: 27,855
21.11.2014, 13:42 2
C++
1
2
3
4
5
6
double distance(int x1, int x2, int y1, int y2)
{
    return sqrt((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1));
}
 
double result = distance(x1, x2, y1, y2);
0
342 / 342 / 331
Регистрация: 02.10.2014
Сообщений: 666
21.11.2014, 13:45 3
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{{(4 - 7)}^{2} + {(-5 - (-2))}^{2}} = \sqrt{18} = 4,24264...
Код
(int)4.24264 = 4
C++
1
2
3
4
int distance(int x1, int x2, int y1, int y2)
{
    return ceil(sqrt(pow(x2-x1, 2) + pow(y2-y1, 2)));
}
0
1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
21.11.2014, 13:50  [ТС] 4
Цитата Сообщение от nmcf Посмотреть сообщение
Код C++
1
2
3
4
5
6
double distance(int x1, int x2, int y1, int y2)
{
return sqrt((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1));
}
double result = distance(x1, x2, y1, y2);
тоже самое, 4, если самому считать то 5 выходит.

Добавлено через 3 минуты
Цитата Сообщение от D_in_practice Посмотреть сообщение
Код Code
1
(int)4.24264 = 4

а нет, у меня всё правильно, просто считал я не с y = -2 а с y = -1
0
7533 / 6396 / 2916
Регистрация: 14.04.2014
Сообщений: 27,855
21.11.2014, 14:28 5
Что тоже самое? Там вообще целое число не может получиться.
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
21.11.2014, 14:32 6
go100gi, на будущее, иногда при делении целых чисел получается не дробный, а целый результат. Тогда неявно переводите целое число в вещественное:
C++
1
2
3
double Xdiv2(int x) {
    return (double)x/2.0;
}
0
1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
21.11.2014, 14:48  [ТС] 7
Цитата Сообщение от nmcf Посмотреть сообщение
Что тоже самое? Там вообще целое число не может получиться.
ты написал тоже самое что и я но в другом виде, изменил только тип переменных, да я и не говорил что мне нужна точность.
0
7533 / 6396 / 2916
Регистрация: 14.04.2014
Сообщений: 27,855
21.11.2014, 15:58 8
А ты не думал, что тип важен? Как у тебя выходит 5, если даже с округлением 4?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2014, 15:58
Помогаю со студенческими работами здесь

Найти минимальное расстояние между двумя точками
Даны два массива вещественных чисел, x и y. Их длина одинакова и равна n. Каждый (i-й) элемент...

Функция вычисляющая расстояние между двумя точками
Здравствуйте,помогите пожалуйста! Написать процедуру-функцию,которая вычисляет расстояние между...

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

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

найти наименьшее расстояние между двумя точками
Проблема в функции short_distance ,она должна перебирать массив с координатами точек и найти...

Вычислить расстояние между двумя точками на плоскости
1. Известны координаты на плоскости двух точек. Составить программу вычисления расстояния между...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru