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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yurayatsykiv
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 11
#1

Решал целый день и не решил .У кого какие мысли? - C++

18.10.2013, 21:10. Просмотров 355. Ответов 7
Метки нет (Все метки)

C++

На плоскости задано прямоугольник с координатами левой нижней (х1; и1) и правой (х2; у2). Стороны параллельные или перпендикулярные оси. х1 <х2 y1 <у2
Второй прямоугольник задан координатами (х3; у3), (х4; у4). х3 <х4 у3 <у4
Составить программу, которая определит сколько точек пересечения будет в этих прямоугольниках если точек множество, вывести -1. х, у - целые числа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 21:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решал целый день и не решил .У кого какие мысли? (C++):

У кого какие мысли,наработке по сохранению данных - C++
Всем программистам привет))) Хочу узнать варианты от опытных и не очень программистов ответ на вопрос. Вопрос такой как быть с...

целый день убил, кое-что накалакял, но это все неправильно. - C++
написать программу на чистом Си Мерси боку

У кого какие творения? - C++
Вот кто сейчас хорошо разбирается в C++, кто что написал такого фенаменального?

воткнул оперативку DDR 256мб а она невидна нераспознана типа, а иной раз пищит может от пыли? у кого какие мысли поэтому поводу - Оперативная память
воткнул оперативку DDR 256мб а она невидна нераспознана типа, а иной раз пищит может от пыли? у кого какие мысли поэтому поводу

Может будут у кого умные мысли по этому поводу...? - SQL Server
Задача следущая: есть табличка статистики. в ней есть поле типа действия, даты и времени, когда данное действие было совершено..Как...

Solo 6C у кого какие настройки? и звуковуха? (у кого они :) - Звук, акустика
Привет! Подскажите какие у кого значения стоят на басе и тембре на Solo 6C? И на какой звуковой слушаете музон?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IchimaruGin
61 / 61 / 24
Регистрация: 14.07.2013
Сообщений: 289
Завершенные тесты: 1
19.10.2013, 00:06 #2
Вы сначала математически это решите а потом пишите програму
yurayatsykiv
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 11
19.10.2013, 00:21  [ТС] #3
ребят помогите я чайник в c++ и математици мне ето надо на модуль пожалуста
IchimaruGin
61 / 61 / 24
Регистрация: 14.07.2013
Сообщений: 289
Завершенные тесты: 1
19.10.2013, 00:29 #4
В этом разделе помагают писать программы а не решают все за вас. Вам в другой раздел нада.
yurayatsykiv
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 11
19.10.2013, 01:09  [ТС] #5
#include <complex>
#include <ctime>
#include <cstdlib>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::complex<int> T_point;
/////////////////////////////////////////////////////////////////////////////////////////
class T_rect
{
int x_;
int Ax_;
int Ay_;
//-----------------------------------------------------------------------------------
public:
//-----------------------------------------------------------------------------------
T_rect
(
int x,
int Ax,
int Ay
)
:
x_ (x),
Ax_ (Ax),
Ay_ (Ay)
{}
//-----------------------------------------------------------------------------------
bool empty() const
{
return Ax_ <= 0
|| Ay_ <= 0;
}
//-----------------------------------------------------------------------------------
void print() const
{
if( empty() )
{
std::cout << "<empty rect>";
}
else
{
std::cout << "<"
<< x_
<< ","
<< T_point(Ax_, Ay_)
<< ">";
}
}
//-----------------------------------------------------------------------------------
T_rect operator*(const T_rect& r)
{
if( r.empty () ) return r;
if( empty () ) return *this;
int x_left_res = std::max( x_left (), r.x_left () );
int x_right_res = std::min( x_right(), r.x_right() );
int Ay_res = std::min( Ay_ , r.Ay_ );

return T_rect
(
x_left_res,
x_right_res - x_left_res,
Ay_res
);
}
//-----------------------------------------------------------------------------------
T_rect operator+(const T_rect& r)
{
if( empty () ) return r;
if( r.empty () ) return *this;
int x_left_res = std::min( x_left (), r.x_left () );
int x_right_res = std::max( x_right(), r.x_right() );
int Ay_res = std::max( Ay_ , r.Ay_ );

return T_rect
(
x_left_res,
x_right_res - x_left_res,
Ay_res
);
}
//-----------------------------------------------------------------------------------
T_rect operator-(const T_rect& r)
{
if( (*this * r).empty() )
{
return *this;
}

int x_left_res = x_left();
int x_right_res = x_right();
T_rect intersection = *this * r;

if( x_left_res == intersection.x_left() )
{
x_left_res = intersection.x_right();
}

if( x_right_res == intersection.x_right() )
{
x_right_res = intersection.x_left();
}

return T_rect
(
x_left_res,
x_right_res - x_left_res,
Ay_
);
}
//-----------------------------------------------------------------------------------
private:
//-----------------------------------------------------------------------------------
int x_left() const
{
return x_;
}
//-----------------------------------------------------------------------------------
int x_right() const
{
return x_ + Ax_;
}
//-----------------------------------------------------------------------------------
};
/////////////////////////////////////////////////////////////////////////////////////////
int get_plus_minus_from_1_to(int a)
{
return ( rand() % a + 1 ) * ( rand() % 10 ? 1 : -1 );
}
/////////////////////////////////////////////////////////////////////////////////////////
T_rect get_rand_rect(int a)
{
return T_rect
(
get_plus_minus_from_1_to(a),
get_plus_minus_from_1_to(a),
get_plus_minus_from_1_to(a)
);
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
srand(unsigned(time(0)));
T_rect A = get_rand_rect(5);
std::cout << "A: ";
A.print();
std::cout << std::endl;

T_rect B = get_rand_rect(5);
std::cout << "B: ";
B.print();
std::cout << std::endl;

T_rect C = A * B;
std::cout << "A * B: ";
C.print();
std::cout << std::endl;

T_rect CC = A + B;
std::cout << "A + B: ";
CC.print();
std::cout << std::endl;

T_rect CCC = A - B;
std::cout << "A - B: ";
CCC.print();
std::cout << std::endl;
}


от що я зміг надумати(((але це не те поможіт
IchimaruGin
61 / 61 / 24
Регистрация: 14.07.2013
Сообщений: 289
Завершенные тесты: 1
19.10.2013, 01:24 #6
Ви математично її зробіть. Якщо ви незнаєте як вона математично розв'язується як ви програму напишете?
yurayatsykiv
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 11
19.10.2013, 01:31  [ТС] #7
та я вже код скинув може щось не так виправіть
IchimaruGin
61 / 61 / 24
Регистрация: 14.07.2013
Сообщений: 289
Завершенные тесты: 1
19.10.2013, 01:37 #8
ви ж самі написали
Цитата Сообщение от yurayatsykiv Посмотреть сообщение
це не те поможіть
я математичного розв'язку незнаю. Якщо я незнаю методу розв'язку як я провірю програму.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2013, 01:37
Привет! Вот еще темы с ответами:

Какие мысли о GTX380? - Видеокарты
какіє мислі о GTX380

Оцените работу, целый день потратил - Web-дизайн
Изготовленная композиция из двух движков в одном флаконе делает что-то типа Кибер-Форума но смотрите сами. \sum_{\color{red}{\Delta...

Подключение к MS SQL Server из VC#. целый день убил уже - C#
у меня Visual C# 2003, MS SQL Server 7.0. в проге на обработчик нажатия кнопки кидаю минимум кода: SqlConnection conn = new...

Целый день выкладываю. Этот код похож на вирус. Я не ошибаюсь? - Joomla
&lt;?php // no direct access defined('_JEXEC') or die('Restricted access'); ?&gt; &lt;?php foreach ($list as $item) : ?&gt; &lt;strong&gt;&lt;?php echo...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.10.2013, 01:37
Ответ Создать тему
Опции темы

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