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

Составить описание класса Прямоугольник - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра "Жизнь" http://www.cyberforum.ru/cpp-beginners/thread179847.html
Первый серьёзный пррактический опыт в объектно-ориентированном программировании. Пока я ещё не написал функцию вывода на экран. Но я старался сделать движок игры, находящийся в файлах cell.cpp и...
C++ Пересечение прямой и окружности На плоскости заданы множество точек А и множество окружностей В. Найдите две такие различные точки из А, что проходящая через них прямая пересекается с максимальным количеством окружностей из В. http://www.cyberforum.ru/cpp-beginners/thread179845.html
C++ Полоса прокрутки на рабочем поле
Помогите с заданием, пожалуйста - нужно поместить на рабочем поле полосу прокрутки. ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); ...
C++ ssprintf()
В строке buf "число число текст текст" Например "3 1 ксюша Привет как дела?!" И соответственно раскладываю её по параметрам: int a,b; char nick; char str; sscanf(buf, "%i %i %s %s", &a, &b,...
C++ Опишите функцию extern в Си, её аргументы, назначение и что возвращае http://www.cyberforum.ru/cpp-beginners/thread179812.html
Опишите пожалуйста функцию extern в Си, её аргументы, назначение и что возвращает. Не могу найти информацию((
C++ Организация контейнера для структур Доброго времени суток! Решая задачу по реализации контейнера столкнулся с проблемой выделения памяти для новых элементов. Первый элемент добавляется, а с последующими возникает проблема Вот... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
06.11.2010, 17:28
Z_S, Вы меня, конечно, извините, но это Ваша пятисотстрочная портянка - бред, место которому в мусорном ведре.
Цитата Сообщение от Z_S Посмотреть сообщение
Предусмотреть возможность перемещения прямоугольников
на плоскости [...] построение наименьшего прямоугольника,
содержащего два заданных прямоугольника [...]
Вот Вам заготовка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
 
inline int Min(int arg1, int arg2) {
  return arg1 < arg2? arg1 : arg2;
}
 
inline int Max(int arg1, int arg2) {
  return arg1 > arg2? arg1 : arg2;
}
 
struct Point {
  Point(int x, int y)
  : x(x)
  , y(y) {
  }
  
  int x;
  int y;
};
 
class Rect {
public:
  Rect(Point topLeft, Point bottomRight) 
  : topLeft    (topLeft)
  , bottomRight(bottomRight) {
  }
  
  Rect(int l, int t, int r, int b) 
  : topLeft    (l, t)
  , bottomRight(r, b) {
  }
  
  void Move(int dx, int dy) {
    topLeft.x += dx;
    topLeft.y += dy;
 
    bottomRight.x += dx;
    bottomRight.y += dy;
  }
  
  static const Rect Union(const Rect& rct1, const Rect& rct2) {
    int l = ::Min(rct1.topLeft.x    , rct2.topLeft.x);
    int t = ::Max(rct1.topLeft.y    , rct2.topLeft.y);
    int r = ::Max(rct1.bottomRight.x, rct2.bottomRight.x);
    int b = ::Min(rct1.bottomRight.y, rct2.bottomRight.y);
    
    return Rect(l, t, r, b);
  }
  
  Point topLeft;
  Point bottomRight;
};
 
int main() {
  Rect rct1(0, 3, 3, 0);
  Rect rct2(0, 4, 3, 0);
  
  rct2.Move(2, 1);
  
  Rect rct3 = Rect::Union(rct1, rct2);
  
  std::cout << "l: " << rct3.topLeft.x     << std::endl;
  std::cout << "t: " << rct3.topLeft.y     << std::endl;
  std::cout << "r: " << rct3.bottomRight.x << std::endl;
  std::cout << "b: " << rct3.bottomRight.y << std::endl;
  
  return 0;
}
Никаких cin, cout в классе быть не должно. Все что нужно для выполнения метода должно передоваться в качестве аргументов.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru