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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2011, 14:38   #1
Edward_92
Новичок
Джуниор
 
Регистрация: 16.05.2011
Сообщений: 2
По умолчанию В чём ошибка?

Два прямоугольника, расположенные в первом квадранте, со сторонами, параллельными осям координат, заданы координатами своих левого верхнего и правого нижнего углов. Для первого прямоугольника это точки (х1, у1) и (х2, 0), для второго – (х3, у3), (х4, 0). Составить программу, определяющую, пересекаются ли данные прямоугольники, и вычисляющую площадь общей части, если они пересекаются.
Я написал программу,но я не могу посчитать площадь,если они пересекаются
Вот программа.
Код:
#include <iostream> // подключение библиотеки ввода-вывода
#include <conio.h>  // подключение библиотеки функций работы с консолью
#include <cmath>

using namespace std;

int main()
{ 
	setlocale (LC_ALL,"Russian");
double x1, x2, x3, x4, y1, y2;
double s;
cout << "Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0\n";
cin >> x1>>x2;
cout << "Ордината верхней стороны y1>0 y1=";
cin >> y1;
cout << "Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0\n";
cin >> x3>>x4;
cout << "Ордината верхней стороны y2>0 y2=\n";
cin >> y2;
if ((x3>=x2) || (x4<=x1))
cout << "Прямоугольники не пересекаются!\n";
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;
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.05.2011 в 16:38.
Edward_92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём ошибка? Jony217 Общие вопросы C/C++ 12 02.04.2011 09:03
В чём ошибка? Simak63 Помощь студентам 2 30.03.2011 20:04
В чём ошибка? Roman Общие вопросы C/C++ 2 24.12.2008 01:42