ערכתי לאחרונה בתאריך 21.12.13 בשעה 17:44 בברכה, ShocKi
לפי איך שזה נראה, הבעיה היא ב j או במשתנה vals.
j מקבל ערכים שלילים.. ואז אתה חורג מגבולות המערך שלך בשורה של ה while.
כלומר אתה ניגש לאיזור זכרון שאתה לא אמור לגשת אליו.שים לב, למשל בדוגמא אקראית שהרצתי יצא ש j=-1 שורה אחת לפני ביצוע ה while:

כתוצאה מזה, תנאי העצירה של הלולאה לא מתקיים, כי j רק הולך ויורד ולא יגיע במקרה הזה ל 3. ותוך כדי אתה מבצע השוואות בין ערכים לא תקינים.
קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.