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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2011, 20:52   #1
KOMPNET
Пользователь
 
Регистрация: 30.09.2011
Сообщений: 55
По умолчанию Программой на СИ++. Прямоугольники

Даны положительные действительные числа a,b,c,d. Выяснить, можно ли один из прямоугольников целиком поместить внутри другого прямоугольника. Числа a,b определяют стороны 1 прямоугольника, а c и d второго прямоугольника
KOMPNET вне форума Ответить с цитированием
Старый 30.09.2011, 22:49   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Код:
#include "stdafx.h"
#include <iostream>


int _tmain(int argc, _TCHAR* argv[])
{
	using namespace std;
	float a,b,c,d;
	cout<<"Enter a:";
	cin>>a;
	cout<<"Enter b:";
	cin>>b;
	cout<<"Enter c:";
	cin>>c;
	cout<<"Enter d:";
	cin>>d;
	
	if(((a-c)*(b-d)>=0) || ((a-d)*(b-c)>=0))
	{
		cout<<"Possible";
	}
	else
	{
		cout<<"Impossible";
	}
	return 0;
}
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 30.09.2011, 22:58   #3
KOMPNET
Пользователь
 
Регистрация: 30.09.2011
Сообщений: 55
По умолчанию

Это я и сам могу написать. Но ведь прямоугольник можно поместить в другой прямоугольник под некоторым углом, хотя ширина его может быть больше, чем у другого. Вот тут как быть?
KOMPNET вне форума Ответить с цитированием
Старый 30.09.2011, 23:15   #4
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Рассматривайте только поворот на 90 градусов на другие углы это не целесообразно смотреть... что и было сделано в данном коде
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 30.09.2011, 23:26   #5
Юлия_Ф
Пользователь
 
Регистрация: 30.09.2011
Сообщений: 12
По умолчанию

Нарисуйте прямоугольник, в нём ещё один и выразите один кусочек через Х
Юлия_Ф вне форума Ответить с цитированием
Старый 01.10.2011, 10:07   #6
KOMPNET
Пользователь
 
Регистрация: 30.09.2011
Сообщений: 55
По умолчанию

Вот именно, что мне необходимо рассматривать поворот на градусы, а как это сделать, не могу сообразить
KOMPNET вне форума Ответить с цитированием
Старый 01.10.2011, 17:53   #7
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от KOMPNET Посмотреть сообщение
Вот именно, что мне необходимо рассматривать поворот на градусы, а как это сделать, не могу сообразить
Либо меняете формулировку задачи, либо приводите случай когда при условии, что при поворотах на i*90 градусов прямоугольник не лезет, а при других углах лезет.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 01.10.2011, 18:47   #8
OldMajor
Пользователь
 
Регистрация: 21.05.2011
Сообщений: 32
По умолчанию

Собственно. такая задача уже решалась тут.
Правда там речь о 3D, но и для планиметрии приспособить можно.
OldMajor вне форума Ответить с цитированием
Старый 01.10.2011, 19:12   #9
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

все понял.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 08.10.2011, 21:08   #10
KOMPNET
Пользователь
 
Регистрация: 30.09.2011
Сообщений: 55
По умолчанию

#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{float a,b,c,d,x,y;
x=2;
printf("Введите размеры 1 прямоугольника: а=");
scanf("%f", &a);
printf("в=");
scanf("%f", &b);
printf("Введите размеры 2 прямоугольника: c=");
scanf("%f", &c);
printf("d=");
scanf("%f", &d);
if ((a<c && b<d) || (a<d && b<c) || (b*sqrt(x)/2+a*sqrt(x)/2<=c))
printf("1 прямоугольник поместиться во 2");
else
if ((c<a && d<b) || (c<b && d<a) || (d*sqrt(x)/2+c*sqrt(x)/2<=a))
printf("2 прямоугольник поместиться во 1");
else
printf("Ничего не поместиться");
getch();
}

Но здесь работает только если вписывать под углом в квадрат, а для прямоугольника не знаю...
KOMPNET вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Советы по головоломке "Разбиение на прямоугольники" - вывод, сохранение результатов Кристина Юрьевна Компоненты Delphi 5 05.06.2011 22:47
как реализовать чтобы при нажатии прямоугольники меняли цвета не зависимо друг от друга programmm Win Api 0 18.05.2011 17:50
Линии или прямоугольники на NASM, assembler Lexeres Помощь студентам 0 26.03.2011 11:25
Алгоритм разбиения двухмерной сетки ячеек на выпуклые прямоугольники(язык не важен) Qmaks Помощь студентам 0 17.10.2010 14:07
прямоугольники C++ Studentka_:) Помощь студентам 4 17.03.2010 10:13