Консультация № 161733
01.03.2009, 19:35
0.00 руб.
0 1 1
Здравствуйте уважаемые эксперты! Мне нужно написать программу на С++ которая решала бы следующую задачу:

Опишите класс отрезков на плоскости Otrezok. Задайте функцию определения длины отрезка, а также функцию, которая проверяет, параллельны ли прямые, на которых лежат два отрезка.

Код программы должен быть по возможности простым)

Заранее спасибо.

Обсуждение

Неизвестный
01.03.2009, 20:13
общий
это ответ
Здравствуйте, Nickalex!
Проще некуда:
Код:

#include <locale>
#include <iostream>
#include <valarray>

using namespace std;

class offcut
{
public:
offcut(double x1,double y1,double x2,double y2)
:_x1(x1)
,_y1(y1)
,_x2(x2)
,_y2(y2)
{}
double length()const
{
return sqrt(pow(_x2-_x1,2)+pow(_y2-_y1,2));
}
static bool isParallel(const offcut& o1,const offcut& o2)
{
return (o1._y1-o1._y2)/(o1._x1-o1._x2)==(o2._y1-o2._y2)/(o2._x1-o2._x2);
}
private:
double _x1,_y1,_x2,_y2;
};

int main()
{
locale::global(locale("rus_rus.866"));
offcut o1(10,10,21,21),o2(40,41.5,50,51.5),o3(12,23,45,23);
wcout<<L"Проверка параллельности o1 и o2:"<<boolalpha<<offcut::isParallel(o1,o2)<<endl;
wcout<<L"Проверка параллельности o1 и o3:"<<boolalpha<<offcut::isParallel(o1,o3)<<endl;
wcout<<L"Проверка параллельности o2 и o3:"<<boolalpha<<offcut::isParallel(o3,o2)<<endl;
system("PAUSE");
return 0;
}

Пример работы:
Код:

Проверка параллельности o1 и o2:true
Проверка параллельности o1 и o3:false
Проверка параллельности o2 и o3:false
Форма ответа