Funkcja oraz szereg Taylora w języku C

Iza Wadowska

Nowicjusz
Dołączył
16 Styczeń 2014
Posty
1
Punkty reakcji
0
Witam,
chciałabym prosić o pomoc w rozwiązaniu takiego zadania:

Napisz funkcję w języku C obliczającą podaną funkcję. Dla 20 wybranych wartości argumentu funkcji wypisz : argument, wartość napisane funkcji, wartość funkcji bibliotecznej i błąd względny twojej funkcji względem funkcji bibliotecznej.

ln(1+x)=x-(1/2x^2)+(1/3x^3)-(1/4x^4)...

Porównaj z wartoscią funkcji log(1+x)

Dokładnie chodzi mi o samą funkcję, która policzy ln dla x podanego przez użytkownika. Napisałam coś takiego, jest źle, ale nie wiem co. Jestem baaaaaaaaardzo początkująca, więc proszę mi wybaczyć, jeśli napisałam kompletną bzdurę :) Nie chcę bezmyślnie przepisać rozwiązania z internetu, jeśli ktoś byłby tak miły i wytłumaczył mi co jest źle i jak to poprawić, będę bardzo wdzięczna :) Oto moja zła wersja:

#include <stdio.h>
#include <math.h>
double logn (double x)
{
double szereg;
szereg=x;
int iter=2;
int n;
if((iter%2)==0){
szereg=szereg-pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
else{
szereg=szereg+pow(-1,n-1)*(pow(x, n)/n);
iter++;
}
return szereg;

}
int main()
{
double a;
int n;

printf("podaj a: \n");
scanf("%f", &a);

for (n=0;n>=0;n++)
printf("logarytm naturalny wynosi %lf", logn(a));
getchar();
}
 
Do góry