Лекции по проге / 12_Функции, определяемые пользователем
.pdf
Задание на вызов функции, использующей аргументы и возвращаемое значение типа "структура"
Найти координаты четвертой вершины прямоугольника, если остальные координаты заданы переменными-структурами V1, V2, V3
Результат записать в V4
61
Пример вызова функции, использующей аргументы и возвращаемое значение типа "структура"
struct vertex V1 |
= {2, |
15}, |
|
V2 |
= |
{3, |
25}, |
V3 |
= |
{25, 15}, |
|
V4; |
|
|
|
// Нахождение четвертой координаты прямоугольника V4 = fourth_vertex_2 (V1, V2, V3);
62
Задание
Задать прототип функции, если вершины прямоугольника задаются массивом структур
Функция fourth_vertex_3()
Назначение функции: рассчитать четвертую координату прямоугольника (стороны прямоугольника параллельны осям координат)
63
Пример функции, использующей одномерный массив структур в качестве входного аргумента
/*!
*Определить четвертую вершину прямоугольника
*(стороны прямоугольника параллельны осям координат)
* |
\param [in] vertex_list - три вершины прямоугольника |
* |
\return - четвертая вершина |
*/
struct vertex fourth_vertex_3(const struct vertex vertex_list[3]);
64
Задание на вызов функции, использующей
массив структур в качестве входного аргумента
Найти координаты четвертой вершины прямоугольника, если остальные координаты заданы массивом структур vertex_mass
Результат записать в new_vertex
65
Пример вызова функции, использующей
массив структур в качестве входного аргумента
struct |
vertex |
vertex_mass[] = { |
{2, |
15}, |
|
|
|
{3, |
25}, |
|
|
}; |
{25, 15} |
|
|
|
|
|
|
struct |
vertex |
new_vertex; |
|
|
// Нахождение четвертой координаты прямоугольника new_vertex = fourth_vertex_3 (vertex_mass);
66
Пример реализации функции, использующей одномерный массив структур в качестве входного аргумента
/*!
*Определить четвертую вершину прямоугольника
*(стороны прямоугольника параллельны осям координат)
* |
\param [in] vertex_list - три вершины прямоугольника |
* |
\return - четвертая вершина |
*/
struct vertex fourth_vertex_3(const struct vertex
vertex_list[3])
{
struct vertex D; // четвертая вершина
........
67
Пример реализации функции, использующей одномерный массив структур в качестве входного аргумента
......
// Определяем x-координату if(vertex_list[0].x == vertex_list[1].x)
{D.x = vertex_list[2].x; } else
{D.x = vertex_list[0].x; }
// Определяем y-координату if(vertex_list[0].y == vertex_list[1].y) { D.y = vertex_list[2].y; }
else
{ D.y = vertex_list[0].y; }
return D;
68 }
