Форум программистов, компьютерный форум, киберфорум
Наши страницы

Использование указателей на функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавьте класс!!!!!! http://www.cyberforum.ru/cpp-beginners/thread283013.html
Нарыл сортировку списка с помощью итераторов, как добавить это в класс «Итератор» #include "stdafx.h" // list::merge #include <iostream> #include <list> using namespace std; // this compares...
C++ Последовательно записать в файл 100 чисел #include "stdafx.h" #include <iostream> #include <fstream> const int n =100; using namespace std; int main() { int a; http://www.cyberforum.ru/cpp-beginners/thread283008.html
C++ тестовый пример!!
здраствуйте форумчани!! помогите написать тестовый пример класса Triangle //triangle.h class Triangle { //конструктор public:
Сформировать динамический массив X C++
Сформировать динамический массив X размером MxN из случайных целых чисел. В программе организовать функцию для подсчета среднего арифметического ненулевых элементов массива X, которые принадлежат...
C++ Двумерные массивы http://www.cyberforum.ru/cpp-beginners/thread282976.html
помогите пожалуйста доработать...при одинаковых значениях сумм выдает одно и то же... //Характеристикой строки целочисленный матрицы назовем сумму ее положительных четных элементов. //Переставляя...
C++ cryptoapi, SHA-1 char *str = new char; //данные HCRYPTPROV hCryptProv = 0; HCRYPTHASH hHash = 0; gets(str); DWORD count=strlen(str); CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_SCHANNEL, 0);... подробнее

Показать сообщение отдельно
HeM01
36 / 24 / 2
Регистрация: 05.01.2010
Сообщений: 37
25.04.2011, 16:28
1. Будем принимать указатель на функцию, в которой рассчитывается значение этой функции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double f1(double x)
{
   return x*x*x-2.0;
}
 
void find_roots(double a, double b, double h, double (* func) (double))
{
   for (double x = a; x<=(b-h); x+=h)
   {
      if (func(a)*func(a+h)<0)
      {
          // На этом отрезке у нас есть корень. Уточняем его методом методом половинного деления.
      }
   }
}
 
...
find_roots(-2, 3, 0.5, f1);
...
Могут возникнуть проблемки с func(a), если это старый компилятор. Заменяем тогда на вызов вида: (*func)(a).
Или тут проблемки: find_roots(-2, 3, 0.5, f1). Заменяем на: find_roots(-2, 3, 0.5, (double (*) (double))f1)
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru