Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Завдання до програми 3



Покажчики на функції

Покажчик на функцію визначається таким чином:

тип_функції(*ім'я_покажчика)(специфікація_параметрів);

де тип_функції - тип значення, що повертається функцією;

специфікація_параметрів -типи формальних параметрів;

*ім'я_покажчика -ім’я покажчика на функцію в круглих дужках.

У визначенні покажчика на функцію тип значення, що повертається, і сигнатура функції повинні співпадати з відповідними типами і сигнатурами тих функцій, адреси яких передбачається присвоїти покажчику, що вводиться. Наприклад:

float mul(float x, float y) //визначення ф-ції mul

{return x*y;}

Void main()

{float(*ptrsum}(float, float); //покажчик на функцію

ptrmul=mul; //покажчику присвоїли ім'я функціїmul

float f1=3.0, f2=5.2, f3;

f3=(*ptrmul)(f1,f2); //виклик функції через покажчик на функцію

printf("f3=%.2f", f3); }// f3=15.60

Можна для завдання типу покажчика на функцію застосовувати специфікатор typedef :

typedef int(int);

де ABC – ім'я типу, який називається "покажчик на функцію", за допомогою якого можна описувати відповідні покажчики і їх масиви: АВС р1, р2[8]; //покажчики на функцію

Покажчики на функції можуть використовуватися як параметр функції. В цьому випадку у функцію можна передати покажчики на різні функції.

Варіанти завдань

Розробіть програму з використанням покажчика на функцію, як параметра функції, згідно заданому варіанту.

1. Визначте дві функції, що обчислюють максимальне та мінімальне з трьох чисел. Потім визначте функцію, що помножує суму заданих трьох чисел на максимальне (мінімальне) число, яке обчислюється за допомогою покажчика на з відповідну функцію. Всі параметри мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

2. Визначте дві функції, що обчислюють максимальний та мінімаль­ний елемент масиву. Потім визначте функцію, що обчислює суму елементів масиву без обліку максимального (мінімального) числа, яке обчислюється за допомогою покажчика на відповідну функцію. Всі параметри, крім розміру масивів, мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

3. Визначте дві функції, що обчислюють суму та добуток трьох чисел. Потім визначте функцію, що помножає максимальне з трьох чисел на суму чи добуток, які обчислюються за допомогою покажчика на відповідну функцію. Всі параметри мають тип float. Продемон­струйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

4. Визначте дві функції, що обчислюють максимальне та мінімальне з чотирьох чисел. Потім визначте функцію, що обчислює суму заданих чотирьох чисел без обліку максимального (мінімального) числа, яке обчислюється за допомогою покажчика на з відповідну функцію. Всі параметри мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

5. Визначте дві функції, що обчислюють максимальний (мінімаль­ний) елемент масиву. Потім визначить функцію, що суму перших 3-х елементів масиву помножує на максимальний (мінімальний) елемент, який обчислюється за допомогою покажчика на відповідну функцію. Всі параметри, крім розміру масивів, мають тип float. Продемонст­руйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

6. Визначте дві функції, що обчислюють суму (добуток) перших 3-х елементів масиву. Потім визначте функцію, що ділить на максимальний елемент масиву на суму чи добуток перших 3-х елементів масиву, які обчислюються за допомогою покажчика на задані функції. Всі параметри, крім розміру масиву, мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

7. Визначте дві функції, що обчислюють середнє арифметичне та середнє геометричне трьох чисел. Потім визначте функцію, що від суми трьох чисел відіймає середнє арифметичне (середнє геометричне), яке обчислюється за допомогою покажчика на відповідну функції. Всі параметри, крім розміру масивів, мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

8. Визначте дві функції, що обчислюють суму додатних (від’ємних) елементів масиву. Потім визначте функцію, що помножує максимальний елемент масиву на суму додатних (від’ємних) елементів масиву, яка обчислюється за допомогою покажчика на відповідну функцію. Всі параметри, крім розміру масивів, мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

9. Визначте дві функції, що обчислюють максимальний (мінімаль­ний) елемент масиву. Потім визначить функцію, що суму додатних елементів масиву помножує на максимальний (мінімальний) елемент, який обчислюється за допомогою покажчика на відповідну функцію. Всі параметри, крім розміру масивів, мають тип float. Продемонст­руйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.

10. Визначте дві функції, що обчислюють суму (добуток) останніх 2-х елементів масиву. Потім визначте функцію, що помножує мінімальний елемент масиву на суму чи добуток останніх 2-х елементів масиву, які обчислюються за допомогою покажчика на задані функції. Всі параметри, крім розміру масиву, мають тип float. Продемонструйте роботу цих функцій, зробивши в головній програмі чотири виклики функції з різними значеннями.


 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.