שלום לכולם, השאלה המצורפת לקוחה ממבחן, ופתרונה(בתמונה השניה) אני מנסה לפענח, איך הקוד המוצע מבצע את הדחיסה הדרושה שבשאלה, אבל הוא נראה לי שגוי. ניקח את המערך שבדוגמא. אז בהתחלה 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. האם הבנתי נכון את הקוד? מה אני מפספס פה? תודה