Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

помогите сделать задачу на с++.с использованием перегрузки имен функций

Raitek Ученик (74), закрыт 11 лет назад
Разработайте программу, вычисляющую расстояние между двумя точками, а также расстояние от точки до начала координат ( ). Осуществите перегрузку имен функций, реализующих указанные вычисления.
Дополнен 11 лет назад
в скобках
Дополнен 11 лет назад
с использованием объектно-ориентированного подхода.
Лучший ответ
Николай Веселуха Высший разум (360847) 11 лет назад
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
struct point {
    double x;
    double y;
};
double distance(point, point);
double distance(point);
int main() {
    point a, b;
    cout << " x1 -> "; cin >> a.x;
    cout << " y1 -> "; cin >> a.y;
    cout << " x2 -> "; cin >> b.x;
    cout << " y2 -> "; cin >> b.y;
    double d = distance(a, b);
    double ra = distance(a);
    double rb = distance(b);
    cout << " [a; b] = " << d  << endl
         << " [0; a] = " << ra << endl
         << " [0; b] = " << rb << endl;
    cin.get(); cin.get();
    return 0;
}
double distance(point _a, point _b) {
    return sqrt(pow(_a.x - _b.x, 2) + pow(_a.y - _b.y, 2));
}
double distance(point _a) {
    return sqrt(pow(_a.x, 2) + pow(_a.y, 2));
}
Остальные ответы
kaiu Высший разум (115636) 11 лет назад
Такая сложная задача, что не знаешь как сделать?
Или что-то не понятно, то задай вопрос, а то не ясно в чем помощь,
так как писать здесь минут 5.

#include <iostream>
#include <math.h>

using namespace std;

double f(double kx1, double ky1, double kx2, double ky2)
{
return sqrt((kx1-kx2)*(kx1-kx2)+(ky1-ky2)*(ky1-ky2));
}

double f(double kx1, double ky1)
{
return sqrt(kx1*kx1+ky1*ky1);
}

int main()
{

double x1, x2, y1, y2;
cout << "x1="; cin >> x1;
cout << "y1="; cin >> y1;
cout << "x2="; cin >> x2;
cout << "y2="; cin >> y2;

cout << "f(double kx1, double ky1, double kx2, double ky2)=" << f(x1, y1, x2, y2) << endl;
cout << "f(double kx1, double ky1)=" << f(x1, y1) << endl;

return 0;
}
Зло Просветленный (38821) 11 лет назад
ндя.. . перегружать-то что, к тому же?
что-то типа
double abs( double x, double y ) { return fabs( a - y ); }
double abs( char x, char y ) { cout << "Иди к черту! "; return -1; }
?
Похожие вопросы