Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 12_Функции, определяемые пользователем

.pdf
Скачиваний:
31
Добавлен:
14.03.2016
Размер:
209.62 Кб
Скачать

Задание на вызов функции, использующей аргументы и возвращаемое значение типа "структура"

Найти координаты четвертой вершины прямоугольника, если остальные координаты заданы переменными-структурами 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 }