Форум программистов, компьютерный форум CyberForum.ru

Найти площадь общей части прямоугольников - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.94
Agentkiller
Сообщений: n/a
17.11.2008, 20:32     Найти площадь общей части прямоугольников #1
На плоскости нарисованы два прямоугольника П1 и П2, стороны которых параллельны осям координат. Найти площадь S общей части прямоугольников П1 и П2. В первой строке входного файла содержаться 4 действительных числа - координаты левого нижнего и правого верхнего углов прямоугольника П1. а во второй - соответственно для П2. В выходной файл пишется число S с точностью два знака после запятой.

Люди помогите написать эту программу че то не могу разобраться!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2008, 20:32     Найти площадь общей части прямоугольников
Посмотрите здесь:

C++ Площадь наибольшего из прямоугольников матрицы
C++ Найти площадь пересечения прямоугольников
Найти площадь фигуры, получающейся в результате объединения прямоугольников C++
C++ Определить, площадь какого из прямоугольников минимальна
C++ Найти периметр и площадь пяти прямоугольников по известным сторонам
C++ Определить площадь фигуры, образованной объединением прямоугольников
Площадь пересечения двух прямоугольников C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
17.11.2008, 21:57     Найти площадь общей части прямоугольников #2
Вырази просто математически, если у тебя есть координаты и измерения прямоугольников.
Agentkiller
Сообщений: n/a
18.11.2008, 00:36     Найти площадь общей части прямоугольников #3
Я вообще не шарю в этом! сделайте за деньги!
Бася
0 / 0 / 0
Регистрация: 26.09.2008
Сообщений: 19
18.11.2008, 18:28     Найти площадь общей части прямоугольников #4
Просто ищутся пересечения каждого отрезка П1 с каждым П2, а дальше дело техники
ulcigor
1 / 1 / 0
Регистрация: 19.11.2008
Сообщений: 12
19.11.2008, 19:41     Найти площадь общей части прямоугольников #5
Ну что ж, давайте помробуем решить уравнение.
Формула вычисления площади прямоугольника S = a*b*sin(C)/2
где а и b стороны прилежащие углу C

Следовательно

Пишем скрипт

#include <stdio.h>
#include <math.h>

Код
int main()
{

  /*Здесь текст программы, подключение к файлу, чтение из него и
   *так далее.
   * a сторона прилежашего углу С
   * b сторона прилежащая углу С
   */
  float S = a*b*sin(C)/2;
  fprintf(fp, "%2.2f", S);
  return 0;
}
Дальше я думаю разберётесь
Жестянка
сцуко киборг
 Аватар для Жестянка
102 / 29 / 2
Регистрация: 11.09.2008
Сообщений: 193
19.11.2008, 23:42     Найти площадь общей части прямоугольников #6
Формула вычисления площади прямоугольника S = a*b*sin(C)/2
если мне не изменяет память, это площадь треугольника

пересечение прямоугольников с параллельными сторонами - всегда прямоугльник (ес хто не верит попробуйте начертить по-другому)
площадь прямоугольника - S=a*b

Код
int Xu1, Yu1; //координаты верхней точки прямоугольника 1
int Xd1, Yd1; //координаты нижней точки прямоугольника 1
int Xu2, Yu2; //координаты верхней точки прямоугольника 2
int Xd2, Yd2; //координаты нижней точки прямоугольника 2
char S;
int deltaX, deltaY; //ширина и высота пересечения

if(Xu1>Xu2){deltaX=Xu2-Xd1;}else{deltaX=Xu1-Xd2;}
if(Yu1>Yu2){deltaY=Yu2-Yd1;}else{deltaY=Yu1-Yd2;}

if(deltaX<0||deltaY<0) {fprintf("пересечение отсутствует");}
else{S=deltaX*deltaY;fprintf(fp, "%2.2f", S);}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2008, 00:34     Найти площадь общей части прямоугольников
Еще ссылки по теме:

Даны стороны трех прямоугольников Найти периметры и площади этих прямоугольников C++
C++ Площадь пересечения двух прямоугольников
Площадь пересечения прямоугольников C++
C++ Нахождение общей площади, образованной объединением прямоугольников
C++ Найти площадь пересечения, то есть общую часть двух прямоугольников (не могу понять алгоритм решения)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Бася
0 / 0 / 0
Регистрация: 26.09.2008
Сообщений: 19
20.11.2008, 00:34     Найти площадь общей части прямоугольников #7
а если 4 раза пересекаются? а если 2 сопряженными сторонами?))

Добавлено через 8 минут 56 секунд
В таких случаях, по моему, верней методами аналгема решать, там ошибиться сложнее. нумеруешь катеты и вершины, ищешь пересечения всех отрезков П1 и П2, смотришь какие катеты участвуют в пересечениях и дальше логически выбираешь какие вершины/точки пересечения участвуют в построении прямоугольника искомого
Yandex
Объявления
20.11.2008, 00:34     Найти площадь общей части прямоугольников
Ответ Создать тему
Опции темы

Текущее время: 18:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru