פורסם 2009 בנובמבר 1616 שנים תבדוק במה אתה כופל את atzeret כש-i=1 ותבין מה הבעיה.חוץ מזה, שים לב לעוד משהו קטן - כרגע אתה תמיד מוסיף ל-value, כשאתה אמור להוסיף ולהחסיר לסירוגין.
פורסם 2009 בנובמבר 1616 שנים מחבר לכפול ב - 0 אכן לא היה חכם כל כךאני כופל ב i+1 כמובן ולא במינוסעריכה : בקשר לvalue אני עובד כרגע על מונה מסויים שמבדיל מתי האיבר זוגי ומתי הוא לא . אגב - הקטע עם העצרת גאוני לא הייתי חושב על זה בחיים
פורסם 2009 בנובמבר 1616 שנים שים לב - צריך לכפול ב-2i+1 ולא סתם i+1, כי אחרת כש-i=5 תכפול ב-10*6 במקום 10*11.
פורסם 2009 בנובמבר 1616 שנים מחבר כן , לזה התכוונתי. רק קיצרתי[br]פורסם בתאריך: 16.11.2009 בשעה 21:22:38 cin>>x; power = x; atzeret = 1; value = 1; i=0; do { i=i+1; atzeret = atzeret*2*i*(i+1); power = power*x*x; counter = counter+1; if (counter % 2 == 0) value = value+(power/atzeret); else value = value - (power/atzeret); } while(value>=0.001 || value<=-0.001); cout<<" sin function of "<<x<<" is "<<value<<"\n\n";cout<<"please enter a value to be calculated\n";הוא מדפיס לי -1.#ind . בדקתי בגוגל וזה אומר שיש משתנה לא מוגדר או משהו כזה. אבל אני עוקב אחרי התוכנית ולא מבין מה לא עשיתי נכון. הכל נראה לי כשורה.אני יושב על התרגיל הזה יותר מדי זמן...
פורסם 2009 בנובמבר 1616 שנים מחבר אויש הטעות בעצרת הרגע תיקנתי אך זה מחזיר לי אותו ערך.תנאי העצירה הוא לפי התרגיל. הכל נראה כשורה. מתי שה value יהיה קטן מ0.001 בערך מוחלט , הלולאה תיעצר
פורסם 2009 בנובמבר 1616 שנים קודם כל, איזה x אתה מנסה לתת?חוץ מזה, תסתכל שוב על התרגיל ותבדוק את תנאי העצירה שלך, ותבדוק מה הערך ההתחלתי של value.
פורסם 2009 בנובמבר 1616 שנים מחבר וואי אני לא מצליח להבין מה לא בסדר אני משתגעא) העצרת מתוקנת ועובדת - נבדק.ב) ניסיתי לשנות את הערך ההתחלתי של value ל x אך גם זה לא עבד(לא משנה איזה ערך אני נותן ל x הוא פולט אותה תשובה )
פורסם 2009 בנובמבר 1616 שנים הערך ההתחלתי של value אכן צריך להיות x, אבל תנאי העצירה לא צריך להיות תלוי ב-value, אלא הוא תלוי בערך של האיבר הבא בטור. חוץ מזה, לא אתחלת את counter.
פורסם 2009 בנובמבר 1616 שנים מחבר אתחלתי את counter בתחילת התוכנית בהגדרת המשתנים אך לא העתקתי את קטע הקוד הזה. טעות שלי.אז ככה , התוכנית עובדת מצויין ומחזירה ערכים מדוייקים עכשיו. ניסיתי שברים עשרוניים , 1 , 2 , 3, -1 , -2כשאני מנסה לקלוט את הערך 4 התוכנית לא פועלת. אני לוחץ אנטר והיא כאילו בstand by לא מגיבה.אני כמעט בטוח שהוא עדיין צריך לבצע את הפעולות שבלולאת ה - while מכיוון ש סינוס של 4 במחשבון הוא -0.7568.....גם את הערך 3.1 הוא לא מקבל.עריכה : כדי לתקן את התוכנית באמת שיניתי את תנאי העצירה ל power חלקי atzeret .
פורסם 2009 בנובמבר 1616 שנים סבבה.דרך אגב, במקום ה-counter אתה יכול להחזיק משתנה בשם sign שכל פעם יהיה 1 או 1- לסירוגין (בכל איטרציה תכפיל אותו ב1-), ואז במקום לעשות if אתה יכול פשוט להוסיף ל-value את sign*power/azeret.לגבי ה-4: מוזר לי קצת, תנסה להוסיף הדפסות ביניים של value ושל power/atzeret כדי לראות למה זה קורה (הניחוש שלי הוא שיש לולאה אינסופית, אני פשוט לא בטוח למה).
פורסם 2009 בנובמבר 1616 שנים מחבר יישמתי את רעיון ה sign . באמת חסך כמה שורות . תודה לגבי הבדיקה בשלבים, אעשה זאת מחר לאחר הלימודים כבר כי חסרות לי כמה שעות שינה טובות. ( כמו לכולנו ) . בכל מקרה תודה רבה רבה לך, היית לי כמו מורה ממש . אתה ממש אחלה של בנאדם. ואני אעדכן אותך לגבי הבדיקה מחר אם זה יעניין אותך. שיהיה לילה טוב!
פורסם 2009 בנובמבר 1716 שנים מחבר גיליתי את הבעיהמשתנה העצרת הוגדר כתחילה כ int ולכן היה יכול לקבל מספרים קטנים מאודהגדרתי אותו כ double וכעת זה עובד מצויין =]
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.