breeze פורסם אוגוסט 28, 2015 דיווח שיתוף פורסם אוגוסט 28, 2015 שלום לכולם,השאלה המצורפת לקוחה ממבחן, ופתרונה(בתמונה השניה)אני מנסה לפענח, איך הקוד המוצע מבצע את הדחיסה הדרושה שבשאלה, אבל הוא נראה לי שגוי.ניקח את המערך שבדוגמא.אז בהתחלה i=1, count=1, current=0 ואז נכנסים לקוד הכחול, שמקדם את הקאונטר,ובאיטרציה השניה i=2, count=2, current=0 ואז עוברים לקוד החום שמה מציבים את a[1]=5 אל a[2] ואל a[1] שממילא מכילים את הערך 5, ואז (הקוד הכתום) מקדמים את current ל 3 ומאתחלים את הקאונטר ל -1....מגיעים לאיטרציה שבה i=6, count=1, current=5, נכנסים לקוד הכחול למשך 2 איטרציות בהן מקדמים את הקאונטר ואת i.כעת i=8, count=3, current=5, נכנסים ל else לקוד הירוק:a[5]=-3, כנדרשמקדמים את current >> current=6מאתחלים את count>> count=1משם עוברים לקוד החום הלולאה מתבצעת פעם אחת (count=1 ) ובה מציבים את הערך a[7]=8 ב a[6] שכבר מכיל את הערך הזה.ואז בקוד הכתום מקדמים את current ל 7, ומאתחלים את count ל 1.מחזירים 7.האם הבנתי נכון את הקוד? מה אני מפספס פה? תודה ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
אודי פורסם אוגוסט 29, 2015 דיווח שיתוף פורסם אוגוסט 29, 2015 מה אני מפספס פה? את האיטרציה i=n=9. הקוד מגיע לאיטרציה הזו (אפשר לראות מתנאי הלולאה הראשית i<n+1, ומכך שהקלט אמור להיות n=9, לא n=8.) באיטרציה הזו רצים קטעי הקוד החום והכתום ומציבים בתא הנכון (התא השמיני, (a(7) את המספר הנכון (9).באיטרציה הזו הפרמטר current מקודם (בקטע הקוד הכתום) לערך המתאים למונה של התא האחרון והערך שמוחזר הוא 8, לא 7. 1 ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
breeze פורסם אוגוסט 29, 2015 מחבר דיווח שיתוף פורסם אוגוסט 29, 2015 זה בדיוק מה שפספסתי.. תודה! ציטוט קישור לתוכן שיתוף באתרים אחרים More sharing options...
הודעות מומלצות
הצטרפות לשיח
באפשרותך לשלוח הודעה כעת ולהירשם מאוחר יותר. אם ברשותך חשבון, ניתן להתחבר עכשיו לשליחת הודעה דרך חשבונך.
הערה: הודעתך דרושה לאישור הנהלה לפני הצגתה.