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

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

Войти
Регистрация
Восстановить пароль
 
go100gi
1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
Завершенные тесты: 1
#1

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

21.11.2014, 13:38. Просмотров 316. Ответов 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));
}
формула:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{(x_2-x_2)^2+(y_2-y_1)^2}

с такими данными result должно возвращать 5, а возвращает 4.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 13:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расстояние между двумя точками, double или int? (C++):

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

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

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

Функция вычисляющая расстояние между двумя точками - C++
Здравствуйте,помогите пожалуйста! Написать процедуру-функцию,которая вычисляет расстояние между двумя точками x,y ∈ R^3.Точки заданы...

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

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

7
nmcf
5348 / 4668 / 1561
Регистрация: 14.04.2014
Сообщений: 18,582
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
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
21.11.2014, 13:45 #3
http://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
go100gi
1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
Завершенные тесты: 1
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
nmcf
5348 / 4668 / 1561
Регистрация: 14.04.2014
Сообщений: 18,582
21.11.2014, 14:28 #5
Что тоже самое? Там вообще целое число не может получиться.
0
Гоблин-инженер
113 / 110 / 32
Регистрация: 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
go100gi
1 / 1 / 0
Регистрация: 31.07.2013
Сообщений: 31
Завершенные тесты: 1
21.11.2014, 14:48  [ТС] #7
Цитата Сообщение от nmcf Посмотреть сообщение
Что тоже самое? Там вообще целое число не может получиться.
ты написал тоже самое что и я но в другом виде, изменил только тип переменных, да я и не говорил что мне нужна точность.
0
nmcf
5348 / 4668 / 1561
Регистрация: 14.04.2014
Сообщений: 18,582
21.11.2014, 15:58 #8
А ты не думал, что тип важен? Как у тебя выходит 5, если даже с округлением 4?
0
21.11.2014, 15:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2014, 15:58
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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