Untitled
unknown
plain_text
9 months ago
1.0 kB
8
Indexable
#include <iostream>
#include <cmath>
using namespace std;
double function(double x);
double derivative(double x);
int main() {
    double x0, epsilon;
    int maxIterations;
    cout << "Enter initial guess: ";
    cin >> x0;
    cout << "Enter tolerance: ";
    cin >> epsilon;
    cout << "Enter maximum number of iterations: ";
    cin >> maxIterations;
    double x1, fx, dfx;
    for (int i = 0; i < maxIterations; i++) {
        fx = function(x0);
        dfx = derivative(x0);
        if (dfx == 0.0) {
            cout << "Derivative is zero. No solution found.\n";
            return -1;
        }
        x1 = x0 - fx / dfx;
        if (fabs(x1 - x0) < epsilon) {
            cout << "Root found: " << x1 << "\n";
            return 0;
        }
        x0 = x1;
    }
    cout << "Maximum number of iterations reached. No solution found.\n";
    return -1;
}
double function(double x) {
    return x * x - 2;
}
double derivative(double x) {
    return 2 * x;
}
Editor is loading...
Leave a Comment