פורסם 2011 בינואר 1714 שנים אני צריכה לכתוב פעולה שמקבלת מערך בגודל 8X8 ומיקום לדוגמא 0,0 הפעולה צריכה לסמן ב1 את כל התאים שבאלכסון של המיקוםזה הקלט:00000000000000000000000000000000000000000000000000000000000000000,0וזה אמור להיות הפלט:9000000001000000001000000001000000001000000001000000001000000001זו הפעולה שרשמתי: static int[][] markAlachson(int[][]arr,int row,int col) { for(int j=0;j<8;j++) { arr[row][col]=1; row++; col++; } return arr; }הבעיה שאם מכניסים את אותו מערך ועםמיקום שונה מתקבלת שגיאה שהפעולה חרגה מגבולות המערךלמישהו יש רעיון איך לשפר את הפעולה?
פורסם 2011 בינואר 1714 שנים מה זה "האלכסון של המיקום"?ומה בדיוק ציפית שיקרה כשאת לא מתחילה ב-0,0? הרי את מבצעת בדיוק 9 איטרציות ובכל אחת מהן את מקדמת אם row ו-col ב-1. אם לא תתחילי ב-0,0 אז ברור שתחרגי מגבולות המערך.נ.ב. הועבר לפורום שפות עילית.
פורסם 2011 בינואר 1814 שנים מחבר הבנתי את הבעיה ,יש לך רעיון מה אני יכולה לעשות כדי שזה יעבוד עבור כל קלט? זה אפשרי?האלכסון של המיקום זה התאים שנמצאים אחד מתחת ואחד לצד של המיקום,כמו בדוגמא שצרפתי.
פורסם 2011 בינואר 1814 שנים אם הבנתי נכון הכוונה שמתחילים בנק' שמקבלים, ויורדים באלכסון עד שהמטריצה נגמרת? אם כך אז תצטרכי להוסיף תנאים על row ו- col כך שאם אחד מהם חורג מגבולות המטריצה צריך להפסיק את הלולאה.
פורסם 2011 בינואר 1914 שנים את יכולה גם להגביל את I לפי חישוב מוקדם של הI המקסימלי שאת צריכה להגיע אליו.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.