OK, popravio sam to sto ste naveli...Sada program vise ne ledi...Medjutim kao rezultat mi daje sve 0.000000 ... pokusavao sam stavljati tackice kao sto si rekao medjutim ni to ne funkcionise:
prepravljeni kod izgleda:
Code:
#include <stdio.h>
#include <math.h>
main()
{
float eps, Pi, S, SumaP, SumaN, nP, nN;
int n, k;
/* Suma S=[ 1-(1/3)+(15)-(1/7)+(1/9)-(1/11)+(1/13)+... ]
moze se razloziti na dvije sume, i to sumu negativnih
clanova SumaN, te sumu pozitivnih clanova SumaP, u kom
slucaju bi se te dvije sume pisale kao:
SumaN=(1/3)+(1/7)+(1/11)+... ( opsti clan ove cume ce biti Sn=(1/(4n-1)) )
SumaP=(1/1)+(1/5)+(1/9)+... ( opsti clan ove cume ce biti Sn=(1/(4n+1)) )
S=SumaP-SumaN
Pi=4*S
*/
printf("\n Unesi vrijednost eps (u rasponu od 0.0001 do 0.1)");
scanf("%f",&eps);
if ((eps>0.0001) && (eps<0.1))
{
SumaP=1;
n=1;
nP=(1/(1+4*n));
while ( nP>eps )
{
SumaP=SumaP+nP;
n=n+1;
nP=(1/(1+4*n));
}
SumaN=0;
k=1;
nN=(1/(-1+4*k));
while (nN>eps )
{
SumaN=SumaN+nN;
k=k+1;
nN=(1./(-1.+4.*k));
}
S=SumaP-SumaN;
Pi=4*S;
printf("Vrijednost Pi za zadato eps, je %f", &Pi);
}
else
{
printf ("\n Eps nije u zadanom rasponu!");
}
getch();
return 0;
}