Untitled
unknown
plain_text
9 months ago
1.1 kB
7
Indexable
#include <iostream>
#include <math.h>
using namespace std;
float f(float x) {
return x - sin(x) - 0.5;
}
int main() {
double a = 0.0, b = 3.0;
double epsilon = 0.00001;
int ITMAX = 100;
int k = 0;
double x;
if (f(a) * f(b) > 0) {
cout << "Nu exista radacina in [" << a << ", " << b << "]" << endl;
return 0;
}
if (abs(f(a)) <= epsilon) {
cout << "Radacina este x = " << a ;
return 0;
}
if (fabs(f(b)) <= epsilon) {
cout << "Radacina este x = " << b;
return 0;
}
x = (a + b) / 2;
while (abs(f(x)) > epsilon && k <= ITMAX) {
if (f(a) * f(x) < 0) {
b = x;
}
else {
a = x;
}
x = (a + b) / 2;
k = k + 1;
}
if (k > ITMAX) {
cout << "Nr maxim de iteratii depasit.";
}
else {
cout << "Valoarea aproximativa a solutiei este x = " << x << endl;
cout << "Nr de iteratii efectuate este: " << k;
}
return 0;
}Editor is loading...
Leave a Comment