Witam
Czy mógłby mi ktoś pomóc w realizacji następującego zadania:
http://img821.imageshack.us/img821/5958/img20101020131138.jpg
Niestety na razie jestem zielony w tej dziadzinie i bez Waszej pomocy sobie nie poradzę.
Potrafię na razie jedynie wprowadzić dane (x oraz e).
- Rejestracja:ponad 14 lat
- Ostatnio:ponad 14 lat
0
edytowany 1x, ostatnio: maestro00
- Rejestracja:ponad 14 lat
- Ostatnio:ponad 14 lat
0
Udało mi się w końcu napisać ten program.
Niestety w teorii działa, w praktyce - nie, wyświetla wynik bardzo dużego rzędu.
Siedzę już nad tym 3-cią noc i nie mam zielonego pojęcia gdzie leży błąd.
Możecie mi chociaż tutaj jakoś pomóc ?
#include <stdio.h>
#include <math.h>
#include <iostream>
#define MAX 1000 //Przyda sie aby w razie czego program nie krecil sie w nieksonczonosc
int main()
{
double suma=0;
double x=0;
double ep=0;
double a=0;
double c=0;
int n=1;
printf("Podaj wartosc argumentu x:\n");
scanf("%lf",&x);
printf("Podaj wartosc epsilon:\n");
scanf("%lf",&ep);
if (fabs(x)<1 || ep<=0)
{
printf("NIEPOPRAWNE DANE\n"); //Blad nie może byc ujemny
system ("pause");
return 1;
}
suma=a=x;
do
{
n=n+1; //Licznik krokow
printf("\n KROK: %d\n",n);
c=(2*n-1)/(2*n-3); //Nowa nieparzysta liczba mianownika podzielona przez poprzednia nieparzysta
a=-(a*x*x*(2*n-3)/((2*n-2)*c)); //Tworzenie nowego elementu przez domnozenie poprzedniego
suma=suma+a; //Dodawanie do puli sumy kolejnego elementu
printf("SUMA: %lf\n",suma);
}
while (abs(a)>2*ep && n<MAX);
printf("\nSuma: %lf \n",suma);
system ("pause");
if (n>MAX)
printf("Osiągnieto max obliczen\n");
system ("pause");
return 0;
}
edytowany 1x, ostatnio: maestro00
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.