טור לייבניץ בשפת C

student2013

New member
טור לייבניץ בשפת C

היי לכולם,
אני צריך לחשב את טור לייבניץ של מספר מסויים לפי הנוסחא של לייבניץ וכנראה יש לי בעיה בתנאי כי זה פשוט לא יוצא לי נכון. האם מישהו יכול לעזור לי ולעלות על הבעיה שלי?
זה הקוד שכתבתי כאשר X זה הערך שהמשתמש הכניס ו-gap זה רמת הדיוק. הדיוק המתבקש בשאלה הוא כאשר ערכו המוחלט של המחובר הבא (שעוד לא צורף לטור) יהיה קטן מרמת הדיוק המתבקשת ( שזה ה-gap) מותר רק שימוש בלולאות ומשפטי תנאי ללא פונקציות וללא הספרייה math.h תודה רבה לעוזרים!
.הקוד שכתבתי הוא :
printf("Please enter Leibniz gap (0.00001 to 1.00000):\n");
scanf("%f",&gap);
printf("Please enter Leibniz X (0.80000 to 2.80000):\n");
scanf("%f",&x);//the number for Leibniz
while(gap>sum+1)
{
sumx=1;
for(i=1;i<(2*n+2);i++)
sumx*=x;
factorial=1;
for(j=1;j<(n+1);j++)//calculate n!
factorial*=j;
if((n%2)==0)
value=((1/factorial)*(sumx/(2*n+1)));//the value of the Leibniz columm
if((n%2)!=0)
value=-((1/factorial)*(sumx/(2*n+1)));
if(value>gap)
{
sum+=value;
n++;//count number of members in leibniz
}


}//end of while gap
printf("Integral(0->X)e^(-X*X) = %f for gap %f with %d Leibniz members.\n",sum,gap,n);
printf("Now enter a new menu input ( enter 1 for re-printing the menu ) :\n");
}
 

ihovav

New member
תיישר קוד לשמאל + מה הגדרת המשתנים שלך?

לא "השתרבב" לך פנימה איזה מספר שלם?
 

student2013

New member
......

printf("Please enter Leibniz gap (0.00001 to 1.00000):\n");
scanf("%f",&gap);
printf("Please enter Leibniz X (0.80000 to 2.80000):\n");
scanf("%f",&x);//the number for Leibniz
while(gap>sum+1)
{
sumx=1;
for(i=1;i<(2*n+2);i++)
sumx*=x;
factorial=1;
for(j=1;j<(n+1);j++)//calculate n!
factorial*=j;
if((n%2)==0)
value=((1/factorial)*(sumx/(2*n+1)));//the value of the Leibniz columm
if((n%2)!=0)
value=-((1/factorial)*(sumx/(2*n+1)));
if(value>gap)
{
sum+=value;
n++;//count number of members in leibniz
}


}//end of while gap
printf("Integral(0->X)e^(-X*X) = %f for gap %f with %d Leibniz members.\n",sum,gap,n);
printf("Now enter a new menu input ( enter 1 for re-printing the menu ) :\n");
כל הטיפוסים הם מסוג float
הטיפוס השלם היחיד הוא זה שסופר את מספר האיברים-n
}
 
למעלה