כתוב פונקציה המקבלת מטריצה ריבועית שמימדיו הן n על n ומחזירה את סכום האיברים שנמצאים במסגרת החיצונית. כתוב פונקציה המקבלת מטירצה ריובעית ומחזירה את סכום האיברים מעל האלכסון הראשי אשמח להנחייה מה לכתוב בלולאות.. תודה..
לראשון - אפשר גם לולאה אחת שרצה מ1 עד אן מינוס שתיים.. והנה קטע קוד גאווה קצר for (i=0; i<n-1; i++) sum=sum+a[0]+a[0]+a[n-1]+a[n-1]; ואז לסכום אתה מוסיף את ארבעת האיברים של האלכסונים.. לשני - לולאה אחת מאפס עד אן מינוס אחד.. (הרי איברי האלכסון הם אפס-אפס, אחד-אחד... וכך הלאה..) אולי יש פתרונות יותר טובים, אבל אלה מה שעלו לי לראש כרגע.. בהצלחה
אני מסכים שזה הרבה יותר אלגנטי להריץ לולאת for אחת ולהוציא ממנה את ה N-ים המתאימים, אבל למה עד N-1? הרי אם תריץ לולאה מ 1 עד N זה אמור לרוץ סבבה על כל האיברים המתאימים...
אם תרוץ עד קטן מאן (כלומר עד אן מינוס אחד) אז הלולאה תחשב פעמיים את a[n-1][n-1] כי האינדקס של הלולאה בסופו של דבר יהיה אן מינוס אחד אז הקריאה a[n-1] תהיה זהה ל a[n-1] ואז האיבר יחושב פעמיים.. אפשר אחרי זה לחסר אותו.. אבל אני מעדיף לא להחשיב אותו מהתחלה..