01-05-2006, 21:25
|
|
|
חבר מתאריך: 22.04.06
הודעות: 81
|
|
צירפתי קוד, שבגלל שאני קצת חדש בשפת C (אני התחלתי ללמוד רק באמצע מרץ), הוא בעצם תרגום של ההסבר של Dr Tempi לשפה. הקוד הוא מאד בסיסי והדבר הכי מורכב בו הוא לולאת while. לא אמורים להיות בו באגים אם אתה עובד עם turbo C.
נ"ב: הקטע הרלוונטי בקוד הוא בצורת תוכנה ולא בצורת פונקציה.
קוד:
#include <stdio.h>
int main(void)
{
int counter;
double min=0, max, avg, pow2;
printf("Enter a number\n");
scanf("%lf", &pow2);
max=pow2/2;
for(counter=0; counter<20/*safty from infanat loop*/; counter++)
{
avg=(max+min)/2;
if(pow2==avg*avg)
{
printf("The sqrt of %.2lf is %.2lf.\n", pow2, avg);
return 0;
}
else if(pow2<avg*avg)
max=avg;
else if(pow2>avg*avg)
min=avg;
}
printf("Program couldn't find a sqrt.\n");
return 1;
}
נערך לאחרונה ע"י or171 בתאריך 01-05-2006 בשעה 21:43.
|