ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
{
// корень гарантировано существует,
// если на концах отрезка
// функция принимает значения различных знаков.
if(f(a) * f(b) > 0)
throw 1;
// обеспечиваем выполнение условия:
// a – левый конец отрезка, b – правый
if(a > b)
{
double t = a;
a = b;
b = t;
}
// цикл метода деления отрезка пополам
while(b - a > eps)
{
double c = (a + b) / 2;
if(f(c) == 0)
return c;
if(f(a)*f(c) < 0)
b = c;
else
a = c;
}
return (a + b) / 2;
}
Еще одним классическим примером использования указателей на
функции является функция сортировки некоторого массива объектов.
Сортировка, как правило, состоит из трех частей: сравнения,
определяющего упорядоченность пары объектов; перестановки,
меняющей местами пару объектов, и сортирующего алгоритма, который
осуществляет сравнения и перестановки до тех пор, пока все объекты не
будут упорядочены. Алгоритм сортировки не зависит от операций
сравнения, так что, передавая ему в качестве параметров различные
функции, его можно настроить на различные критерии сравнения.
Пусть существует список студентов, у которых известны фамилия,
имя, отчество (ФИО), номер группы и средний балл успеваемости.
Используя различные критерии, например, упорядочивание списка
студентов в лексикографическом порядке по ФИО, по среднему баллу
успеваемости, по группам и т. д., необходимо отсортировать этот список
студентов по убыванию или по возрастанию.
// структура, содержащая информацию о студенте
29
Объектно-ориентированное программирование на С++
{
// корень гарантировано существует,
// если на концах отрезка
// функция принимает значения различных знаков.
if(f(a) * f(b) > 0)
throw 1;
// обеспечиваем выполнение условия:
// a – левый конец отрезка, b – правый
if(a > b)
{
double t = a;
a = b;
b = t;
}
// цикл метода деления отрезка пополам
while(b - a > eps)
{
double c = (a + b) / 2;
if(f(c) == 0)
return c;
if(f(a)*f(c) < 0)
b = c;
else
a = c;
}
return (a + b) / 2;
}
Еще одним классическим примером использования указателей на
функции является функция сортировки некоторого массива объектов.
Сортировка, как правило, состоит из трех частей: сравнения,
определяющего упорядоченность пары объектов; перестановки,
меняющей местами пару объектов, и сортирующего алгоритма, который
осуществляет сравнения и перестановки до тех пор, пока все объекты не
будут упорядочены. Алгоритм сортировки не зависит от операций
сравнения, так что, передавая ему в качестве параметров различные
функции, его можно настроить на различные критерии сравнения.
Пусть существует список студентов, у которых известны фамилия,
имя, отчество (ФИО), номер группы и средний балл успеваемости.
Используя различные критерии, например, упорядочивание списка
студентов в лексикографическом порядке по ФИО, по среднему баллу
успеваемости, по группам и т. д., необходимо отсортировать этот список
студентов по убыванию или по возрастанию.
// структура, содержащая информацию о студенте
29
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
