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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 23:55   #1
Этотак
 
Регистрация: 10.05.2011
Сообщений: 5
По умолчанию найти пересечение двух прямоугольников заданных координатами двух углов

это снова я со своими глупыми вопросами, на сей раз в мои руки попало задание по разработке класса прямоугольник, который задается координатами левого верхнего и правого нижнего углов, также нужно вычеслить там периметр площадь, переместить его куда нибудь на опр величину, узнать какие у него сейчас размеры и самое каверзное для меня НАЙТИ ПЕРЕСЕЧЕНИЕ ДВУХ ПРЯМОУГОЛЬНИКОВ ! нужна помощь ! вот наработки кода:
Код:
// rectangular.h
#ifndef rectangular_h
#define rectangular_h
#include <iostream>
using namespace std;
class Rectangular : 
 public:
  Rectangular();
  Rectangular(float xL, float yT, float xR, float yB);
  float perimeter() const;
  float area() const;
  ~Rectangular();
  void operator=(const Rectangular& rec);
  friend ostream& operator<<(ostream& os, const Rectangular& rec);
  friend istream& operator>>(istream& is, Rectangular& rec);
  void getKoord() const;
 private:
  float xLeft;
  float yTop;
  float xRight;
  float yBottom;
};
inline Rectangular::~Rectangular() {}
#endif



// rectangular.cpp
#include "rectangular.h"
#include <iostream>
using namespace std;
Rectangular::Rectangular() : GeometricalFigure(), xLeft(0), yTop(0), xRight(0), yBottom(0) {}
Rectangular::Rectangular(float xL, float yT, float xR, float yB) : GeometricalFigure(), xLeft(xL), yTop(yT), xRight(xR), yBottom(yB) {}
float Rectangular::perimeter() const{
 float len=xRight-xLeft;
 float wid=yTop-yBottom;
 float per=2*(len+wid);
 return per;
}
float Rectangular::area() const{
 float len=xRight-xLeft;
 float wid=yTop-yBottom;
 float ar=len*wid;
 return ar;
}
void Rectangular::operator=(const Rectangular& rec){
 xLeft=rec.xLeft;
 yTop=rec.yTop;
 xRight=rec.xRight;
 yBottom=rec.yBottom;
 return;
}
ostream& operator<<(ostream& os, const Rectangular& rec){
 os<<rec.xLeft<<' '<<rec.yTop<<' '<<rec.xRight<<' '<<rec.yBottom;
 return os;
}
istream& operator>>(istream& is, Rectangular& rec){
 is>>rec.xLeft>>rec.yTop>>rec.xRight>>rec.yBottom;
 return is;
}
void Rectangular::getKoord() const{
 cout<<xLeft<<' '<<yTop<<' '<<xRight<<' '<<yBottom;
 return;
}

Последний раз редактировалось Этотак; 12.05.2011 в 10:46.
Этотак вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программу, которая вычисляет произведение двух заданных пользователем чисел smile) Помощь студентам 1 15.09.2010 19:19
Пересечение двух строк DarkMage Общие вопросы C/C++ 5 18.04.2010 18:27
пересечение двух множеств Олежек Фриланс 7 10.03.2010 18:46
Как получить из двух заданных массивов третий? + см. тему. (Delphi) Kawun Помощь студентам 11 16.11.2008 16:49
из двух заданных массивов В и С одинаковой длины построить новый массив Absent Помощь студентам 4 11.03.2008 21:38