Два прямоугольника, расположенные в первом квадранте задаются координатами левого верхнего и правого нижнего угла. Найти их площадь пересечения.
#include // подключение библиотеки ввода-вывода
#include // подключение библиотеки функций работы с консолью
#include
using namespace std;
int main()
{
setlocale (LC_ALL,"Russian");
double x1, x2, x3, x4, y1, y2;
double s;
cout << "Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0 ";
cin >> x1>>x2;
cout << "Ордината верхней стороны y1>0 y1=";
cin >> y1;
cout << "Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0 ";
cin >> x3>>x4;
cout << "Ордината верхней стороны y2>0 y2= ";
cin >> y2;
if ((x3>=x2) || (x4<=x1))
cout << "Прямоугольники не пересекаются! ";
else
{
if (y1>=y2)
{
if ((x3>=x1) && (x4<=x2))
s = (x4-x3) * y2;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3) * y2;
else if((x3<=x1) && (x4>=x2))
s = (x2-x1) * y2;
else if ((x3<=x1) && (x4<=x2))
s = (x4-x1) * y2;
else
{
if ((x3>=x1) &&
(x4<=x2))
s = (x4-x3) * y1;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3)*y1;
else if ((x3<=x1) && (x4>=x2))
s = (x2-x1)*y1;
else if((x3<=x1) && (x4<=x2))
s = (x4-x1)*y1;
}
cout << "Прямоугольники пересекаются, площадь пересечения=,s:0:2)";
}
}
_getch();
return 0;
}
#include // подключение библиотеки ввода-вывода
#include // подключение библиотеки функций работы с консолью
#include
using namespace std;
int main()
{
setlocale (LC_ALL,"Russian");
double x1, x2, x3, x4, y1, y2;
double s;
cout << "Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0 ";
cin >> x1>>x2;
cout << "Ордината верхней стороны y1>0 y1=";
cin >> y1;
cout << "Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0 ";
cin >> x3>>x4;
cout << "Ордината верхней стороны y2>0 y2= ";
cin >> y2;
if ((x3>=x2) || (x4<=x1))
cout << "Прямоугольники не пересекаются! ";
else
{
if (y1>=y2)
{
if ((x3>=x1) && (x4<=x2))
s = (x4-x3) * y2;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3) * y2;
else if((x3<=x1) && (x4>=x2))
s = (x2-x1) * y2;
else if ((x3<=x1) && (x4<=x2))
s = (x4-x1) * y2;
else
{
if ((x3>=x1) &&
(x4<=x2))
s = (x4-x3) * y1;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3)*y1;
else if ((x3<=x1) && (x4>=x2))
s = (x2-x1)*y1;
else if((x3<=x1) && (x4<=x2))
s = (x4-x1)*y1;
}
cout << "Прямоугольники пересекаются, площадь пересечения=,s:0:2)";
}
}
_getch();
return 0;
}