Witam,

Chciałbym, aby ktoś życzliwy sprawdził poprawność mojego kodu.
Zadanie miałem następujące:

Mając dany Epsilon(dokładność) = 0.0001 , Funkcję: x * ln(x) -1 = 0 oraz przedział: <1, 2>.
Mam do policzenia ilość literacji oraz pierwiastek.

Kod:

// Metody1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <math.h>

using namespace std;

double Funkcja(double x) // Funkcja
{
return x*log(x)-1;
}

double PochFunkcji(double x) // Pochodna Funkcji
{
return log(x) +1;
}

int main()
{
double a=0, b=0, Pierwiastek=0, e=0;

// gdzie;
// a - Początek przedziału.
// b - koniec przedziału.
// e - EPSILON - Dokładność.

cout << "Prosze podac poczatek przedzialu: ";
cin >> a;

cout << "Prosze podac koniec przedzialu: ";
cin >> b;

cout << "Prosze podac dokladnosc: ";
cin >> e;

int Licznik=0;

if (Funkcja(a) == 0)
{
Licznik++;
Pierwiastek = Funkcja(a);
}

if (Funkcja(b) == 0)
{
Licznik++;
Pierwiastek = Funkcja(b);
}

else
{
for (int i=a; abs(b-a)>e; i++)
{
Pierwiastek = a - ( Funkcja(a) / PochFunkcji(a) );
b=a;
a=Pierwiastek;
Licznik++;
}
}
cout << endl << "Pierwiastkiem tego rownania jest: " << Pierwiastek << " " << "z dokladnoscia rowna: " << e << endl;

cout << "Literacje: " << Licznik << endl;
return 0;
}

Z góry dziękuję, pozdrawiam :).