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

Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y) - C++

Восстановить пароль Регистрация
 
Rudolf_07
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 17
15.12.2013, 09:26     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y) #1
Описать тип struct Square, задающий на плоскости
замкнутый квадрат с центром в точке (x, y), длиной стороны a и
сторонами, параллельными координатным осям. Реализовать в
виде отдельных функций следующие операции над переменными
этого типа: а) вычисление площади квадрата; б) построение
квадратной оболочки для пары квадратов, т.е. наименьшего
квадрата, содержащего пару заданных квадратов; в) построение
для двух заданных квадратов наименьшего квадрата, содержащего
в себе их пересечение и имеющего центр в центральной точке
этого пересечения; г) построение квадрата по паре точек, одна из
которых задает центр, а другая лежит на границе квадрата; д) сдвиг
квадрата на плоскости на dx, dy вдоль осей абсцисс и ординат
соответственно; е) проверка внешнего касания двух квадратов; ж)
проверка принадлежности точки квадрату; з) проверка включения
одного квадрата в другой; и) проверка равенства двух квадратов. С
использованием описанных типа и функций разработать
программу, которая для заданного набора из N квадратов находит
1) площадь наибольшего из квадратов, содержащегося в
пересечении не менее трех других квадратов из заданного набора;
2) все пары квадратов, квадратные оболочки которых не содержат
в себе других квадратов из набора.
Как начать?Написать нужно на СИ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 09:26     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y)
Посмотрите здесь:

C++ Описать тип struct Date
C++ Описать тип struct Point
C++ Определить, сколько точек попадает в круг радиусом R с центром в точке (0,0)
C++ Сколько точек пересечения имеет прямая у=кх+в с окружностью с центром в точке (0, 0) и радиусом R
Разработать собственную программу рисования круга с центром в точке (a; b) и радиусом R C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Black_Thorn
17 / 17 / 1
Регистрация: 06.12.2012
Сообщений: 46
15.12.2013, 10:49     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
typedef struct
{
    int x;
    int y;
} Point;
 
typedef struct
{
    Point org;
    Point end;
} Edge;
 
 
typedef struct {
    Point center;
    unsigned int length;
    Edge h_edge;
    Edge v_edge;
} Square;
вот так можно реализовать структуру, например
Rudolf_07
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 17
15.12.2013, 10:52  [ТС]     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y) #3
Это,если я не ошибаюсь на C++, а как будет на СИ?
Black_Thorn
17 / 17 / 1
Регистрация: 06.12.2012
Сообщений: 46
15.12.2013, 20:11     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y) #4
C++
1
2
3
4
unsigned int area(Square square)
{
    return square.length * square.length;
}
это на Си

Добавлено через 9 часов 14 минут
вот еще развитие этого варианта

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
typedef struct
{
    int x;
    int y;
} Point;
 
typedef struct
{
    Point org;
    Point end;
} Edge;
 
 
typedef struct {
    Point center;
    unsigned int length;
    Edge l_edge;
    Edge r_edge;
    Edge t_edge;
    Edge b_edge;
} Square;
 
void init_point(Point *point, int x, int y)
{
    point->x = x;
    point->y = y;
}
 
void init_square(Square *square, Point center, unsigned int length )
{
    square->center = center;
    square->length = length;
 
    square->l_edge.org.x = center.x - length/2;
    square->l_edge.org.y = center.y - length/2;
    square->l_edge.end.x = center.x - length/2;
    square->l_edge.end.y = center.y + length/2;
 
    square->b_edge.org.x = center.x - length/2;
    square->b_edge.org.y = center.y + length/2;
    square->b_edge.end.x = center.x + length/2;
    square->b_edge.end.y = center.y + length/2;
 
    square->r_edge.org.x = center.x + length/2;
    square->r_edge.org.y = center.y + length/2;
    square->r_edge.end.x = center.x + length/2;
    square->r_edge.end.y = center.y - length/2;
 
    square->t_edge.org.x = center.x + length/2;
    square->t_edge.org.y = center.y - length/2;
    square->t_edge.end.x = center.x - length/2;
    square->t_edge.end.y = center.y - length/2;
}
 
unsigned int area(Square square)
{
    return (square.length * square.length);
}
Yandex
Объявления
15.12.2013, 20:11     Описать тип struct Square, задающий на плоскости замкнутый квадрат с центром в точке (x, y)
Ответ Создать тему
Опции темы

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