Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 128
1

Описать переменную, равную расстоянию между точками

02.03.2017, 11:51. Показов 784. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задана следующая структура:
C++
1
2
3
struct point {
float x, y;
} A, B;
Описать переменную d, равную расстоянию между точками A и B.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2017, 11:51
Ответы с готовыми решениями:

Имеется файл .txt с данными, в котором хранятся города и расстояния между ними. Как присвоить каждому городу и числу(расстоянию) свою переменную ?
Как присвоить каждому городу и числу(расстоянию) свою переменную? Вот что находиться в файле:

Описать переменную d, равную расстоянию между точками A и B
Задана следующая структура: struct point { float x,y; } A, B; Описать переменную d, равную...

Доказать, что расстояние между замкнутым и компактным множествами равно расстоянию между двумя точками этих множеств
Даны два множества A и B в R^n, одно из которых компактно, а другое замкнуто. Доказать, что в этих...

Описать функцию нахождения расстояния между 2-мя точками на плоскости....
Описать функцию нахождения расстояния между 2-мя точками на плоскости, заданными своими...

5
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
02.03.2017, 12:01 2
https://www.cyberforum.ru/cgi-bin/latex.cgi?d=\sqrt{{({A}_{x}-{B}_{x})}^{2}+{({A}_{y}-{B}_{y})}^{2}}
И в чём проблема?
0
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
02.03.2017, 12: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
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
public:
    int res(pair<int,int> A, pair<int, int> B)
    {
        return sqrt(pow(A.first - B.first, 2)   + pow(A.second - B.second, 2));
    }
};
void main()
{
    pair<int, int> A, B;
    cout << "Enter point A\nX: ";
    cin >> A.first;
    cout << "Y: ";
    cin >> A.second;
    cout << "Enter point B\nX: ";
    cin >> B.first;
    cout << "Y: ";
    cin >> B.second;
    Point prog;
    cout <<prog.res(A,B)<<endl;
}
Добавлено через 23 секунды
MrGluck, Давай, придирайся, я жду)

Добавлено через 3 минуты
TheGrant, Если вам Клас не подойдет переделайте в структуру.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
02.03.2017, 12:22 4
Цитата Сообщение от ExXtaZzyUA Посмотреть сообщение
Давай, придирайся
Давайте

Класс, не хранящий состояния и имеющий всего лишь один нестатический метод (который никак на класс не влияет), состоящий из простого return - бессмысленный.
pair лучше передавать по ссылке на const
void main не входит в стандарт
Не понятно зачем нужно результат приводить к целому числу.
0
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
02.03.2017, 12:27 5
MrGluck,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
using namespace std;
int res(pair<float, float> &A, pair<float, float> &B)
{
    return sqrt(pow(A.first - B.first, 2) + pow(A.second - B.second, 2));
}
int main()
{
    pair<float, float> A, B;
    cout << "Enter point A\nX: ";
    cin >> A.first;
    cout << "Y: ";
    cin >> A.second;
    cout << "Enter point B\nX: ";
    cin >> B.first;
    cout << "Y: ";
    cin >> B.second;
    cout << res(A, B) << endl;
    return 0;
}
Пойдет?

Добавлено через 1 минуту
MrGluck, Объясните почему void main не предпочтителен?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
02.03.2017, 12:44 6
Так намного лучше.
Но вы немного не поняли про замечание насчёт целых чисел. Я говорил не про тип данных в pair, а про результат, возвращаемый из res (sqrt даёт double, а при выходе это кастуется в int)
И насчёт ссылок на const - (const pair<float, float> &A, const pair<float, float> &B)
Это, конечно, уже придирки, но вы сами попросили. Если код компилируется, соответствует стандарту и имеет правильный алгоритм - всё хорошо. Если какие-то пункты не выполнены - я стараюсь указать на это, если не для автора кода (т.к. мы здесь все вместе помогаем друг-другу развиваться), то хотя бы на заметку для тех, кто потом этот код будет использовать.

Добавлено через 10 минут
Цитата Сообщение от ExXtaZzyUA Посмотреть сообщение
MrGluck, Объясните почему void main не предпочтителен?
Потому что стандарт C++ не гарантирует, что void main() будет работать на какой-нибудь другой платформе (у вас, скорее всего VS, а вот gcc и clang этого не поддерживают, ссылки я скинул в другой теме).
Ссылка из стандарта:
3.6.1. Main function
2. An implementation shall not predefine the main function. This function shall not be overloaded. Its type
shall have C++ language linkage and it shall have a declared return type of type int, but otherwise its type
is implementation-defined. An implementation shall allow both
(2.1) — a function of () returning int and
(2.2) — a function of (int, pointer to pointer to char) returning int
as the type of main
§ 3.6.1 63©ISO/IEC N4618
То есть вы можете так делать, но код будет зависеть от платформы. И нам ведь ничего не стоит писать int main.
Кстати, return 0; на конец можно опустить. Стандарт гарантирует, что при успешном завершении программы main (с возвращаемым типом int) итак вернёт 0.
Тот же раздел, пункт 5
5. <...>If control flows off the end
of the compound-statement of main, the effect is equivalent to a return with operand 0
0
02.03.2017, 12:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2017, 12:44
Помогаю со студенческими работами здесь

Описать функцию R(N) вещественного типа, вычисляющую расстояние между двумя точками заданными в декартовых координатах
Помогите пожалуйста с полным решением задачи в C# Описать функцию R(N) вещественного типа,...

Найти максимальное и минимальное значение между точками и вывести их вместе с точками
Я уже весь гугл перерыл и всю голову выпотрошил.не получается. Нужно написать функцию для двух...

Установить биекцию между точками эллипса и точками окружности
Установить биекцию между точками эллипса x^2/4+y^2/9= 1 и точками окружности x^2+y^2=16.

Выборка по расстоянию между датами
Доброго времени суток. Вводные: - дата которой человек ушел с работы - дата выхода на работу...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru