Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2009, 19:30   #1
progdev
Пользователь
 
Регистрация: 22.11.2009
Сообщений: 19
Вопрос В квадрат формулу

Нужну сделать так
AB=sqrt((x1-x2)(в квадрате) +(y1-y2)(в квадрате))
Как реалзовать?
Я смотрел pow in cmath,но там всеголиш для двух чисел
progdev вне форума Ответить с цитированием
Старый 25.12.2009, 19:48   #2
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

попробуй так
Код:
#define sqr(a) ((a)*(a))
либо так
Код:
template <class x> x sqr(x val){return val*val;}
и тогда
Код:
sqrt(sqr(x1-x2) +sqr(y1-y2))
Reskov вне форума Ответить с цитированием
Старый 25.12.2009, 19:58   #3
progdev
Пользователь
 
Регистрация: 22.11.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Reskov Посмотреть сообщение
попробуй так
Код:
#define sqr(a) ((a)*(a))
либо так
Код:
template <class x> x sqr(x val){return val*val;}
и тогда
Код:
sqrt(sqr(x1-x2) +sqr(y1-y2))
помоему работает! ,сейчас тэстирую
progdev вне форума Ответить с цитированием
Старый 25.12.2009, 20:05   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от progdev Посмотреть сообщение
Я смотрел pow in cmath,но там всеголиш для двух чисел
Что значит всего лишь для двух чисел? А для скольки надо?
Код:
sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
netrino вне форума Ответить с цитированием
Старый 25.12.2009, 20:06   #5
progdev
Пользователь
 
Регистрация: 22.11.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Что значит всего лишь для двух чисел? А для скольки надо?
Код:
sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
Это уже более сложно )),а мне нужно к задачке... http://savepic.org/108351.jpg
progdev вне форума Ответить с цитированием
Старый 25.12.2009, 20:14   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от progdev Посмотреть сообщение
Это уже более сложно )),а мне нужно к задачке... http://savepic.org/108351.jpg
Ну раз это более сложно))) pow - ф-ция, которая возводит первый параметр в степень, переданную вторым параметром, что тут такого трудного понять не могу
netrino вне форума Ответить с цитированием
Старый 25.12.2009, 20:31   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Вы, конечно же, можете сделать как-то так:
Код:
double a = x1 - x2;
double b = y1 - y2;
double c = sqrt(pow(a, 2) + pow(b, 2));
но то, что сказал netrino ничуть не хуже!
Шаблоны - это, конечно же, легкий перебор! А макросы - штука традиционно опасная.
Кстати, а что быстрее - использование pow(x - y, 2) или (x - y) * (x - y)?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 25.12.2009, 20:38   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Кстати, а что быстрее - использование pow(x - y, 2) или (x - y) * (x - y)?
Думаю, это во многом от проводимых компилятором оптимизаций зависит, хотя в общем случае второй вариант должен быть быстрее
netrino вне форума Ответить с цитированием
Старый 25.12.2009, 21:07   #9
progdev
Пользователь
 
Регистрация: 22.11.2009
Сообщений: 19
По умолчанию

Поставьте оптимизацию -О2 и вы не заметите разницы
progdev вне форума Ответить с цитированием
Старый 25.12.2009, 21:10   #10
progdev
Пользователь
 
Регистрация: 22.11.2009
Сообщений: 19
По умолчанию

Народ!,а как обчислить,кто знает???
A(x1,y1),b(x2,y2),C(x3,y3)
a=bc
b=ac
c=ab
AB=(x1-x2)^2+(y1-y2)^2
AC=???
ВС=???
progdev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возведение в квадрат Polarbear Помощь студентам 2 12.12.2009 14:05
Латинский квадрат innaa639 Помощь студентам 1 22.11.2009 22:40
ХИ квадрат Vito89 Помощь студентам 3 25.10.2009 16:35
Магический квадрат Гаджи Помощь студентам 5 24.10.2009 09:46