Код выдает неправильные значения, хотя должен работать нормально. Начал отладку, и тут выясняется, что вижуалка скачет по функции как ей хочется, вообще независимо от строк и функций. Какие-то пропускает, как ей хочется, на некоторые залетает по нескольку раз. Что за проблема понять не могу, гугл не помогает.
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
double f(double x) {
return sin(x) + x * x;
}
double division(double a, double b, double(*f)(double)) {
double eps = 0.01;
double c = a + b / 2;
double fc = f(c);
double x, y, fx, fy;
while ((b - a) > eps) {
x = a + (b - a) / 4;
y = b - (b - a) / 4;
fx = f(x);
fy = f(y);
if (fx < fc) {
b = c;
c = x;
fc = fx;
}
else if (fy < fc) {
a = c;
c = y;
fc = fy;
}
else {
a = x;
b = y;
}
}
return c;
}
void main() {
double a = -3;
double b = 0;
cout << division(a, b, &f) << endl;
}
Стоит отметить, что ранее все работало прекрасно, и никаких проблем не было.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можете, пожалуйста, сказать, чем отличаются эти строки ptr1 и ptr2? Работают они, вроде бы, одинаково
Я не понимаю, почему выводит разные значения, разве ссылка не должна неявно преобразовываться в указатель на mas?
Есть класс, есть вектор векторов этого классаКак обратиться к элементу класса через вектор векторов?