Try HWzone in English English
עבור לתוכן
  • צור חשבון
  • מי אנחנו?

    שלום אורח/ת!

     
    שים לב - על מנת להשתתף בקהילה שלנו, להגיב ולפתוח דיונים חדשים, עליך להצטרף כחבר רשום.

    החברים שלנו נהנים מיתרונות רבים, כולל היכולת להשתתף בדיונים, להנות מהגרלות ומבצעים לחברי האתר, ולקבל מידי שבוע את התכנים הבולטים שלנו ישירות במייל.

    לא אוהבים שמציקים לכם במייל? ניתן להירשם לאתר אך לוותר על הרישום לעידכוני המייל השבועיים.

aviel-bs

עזרה בבניית קוד למעבר על שורות מטריצה ומציאת מקסימום-JAVA

Recommended Posts

אני צריך לכתוב קוד שיוצר מטריצה ריבועית (נניח 3X3 או 5X5 וכו') 

ממלא אותה במספרים רנדומליים ממספר מינימום עד מספר מקסימום (נניח 1 עד 9)

ולאחר מכן לחשב את הנקודות "שיא גובה" שיש במטריצה (שיא גובה נחשבת נקודה שכל השכנים שלה שמקיפים אותה מהצדדים והאלכסונים שלה-יותר נמוכים ממנה).

 

אני צריך למצוא:

 

א. כמה שיאי גובה יש

ב. את המיקומים שלהם (להחזיר מיקום בצורה של האינדקס נניח [3][2]

ג. את המיקומים של הנקודות הנמוכות ביותר

 

עכשיו השאלות שלי הן ככה:

 

א. איך אני יכול לעבור על כל המטריצה ולבדוק אם זה שיא גובה? כי למשל בארבעת הפינות אני נתקע בבעיה כי אם אני רוצה לבדוק לכאורה את הפינה במיקום של ה [n-1] למשל אני לא יכול כי זה לא קיים במערך אז אני מבין שצריך לעשות פה הרבה תנאים אבל קצת הלכתי לאיבוד שם.

 

ב. איך אני מחזיר את המיקום? ניסיתי לחפש כל מיני פקודות "אינדקס" למיניהן בגוגל-לא הצלחתי למצוא אחת שהבנתי איך להשתמש בה (בלי לקבל שגיאה בעצם) וגם אז- אם יש לי כמה שיאי גובה, איך בעצם אני שומר אותם שהתוכנית תדע שהנקודה הספציפית הזו היתה שיא גובה?

 

ג. מאמי שאם אצליח להבין את סעיף ב' אדע להסתדר גם עם ג'.

 

תודה רבה!

 

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

א. לעבור נקודה נקודה, להשוות את כל הנקודות מסביב וכמובן לוודא שאתה לא חורג מגבולות המערך. כן צריך לכתוב כמה תנאים אבל אם עובדים מסודר ומפרידים את הקוד לפונקציות אז זה לא כזה מסובך. 

ב. אתה לא צריך לחפש פקודות אינדקס מתוחכמות, אני מניח שכדי לעבור על המערך יש לך שתי לולאות for אחת בתוך השניה עם שני משתני אינדקס למה אתה צריך משהו נוסף?

תבנה אובייקט שמייצג נקודה במערך עם שני משתני int בפנים, כשאתה מוצא נקודת מקסימום תייצר אובייקט מתאים ותשמור אותו במערך נפרד. אחרי שעברת על כל המטריצה אז במערך הזה יהיו כל נקודות המקסימום.

 

 

 

נערך על-ידי etal

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים
ציטוט של etal

א. לעבור נקודה נקודה, להשוות את כל הנקודות מסביב וכמובן לוודא שאתה לא חורג מגבולות המערך. כן צריך לכתוב כמה תנאים אבל אם עובדים מסודר ומפרידים את הקוד לפונקציות אז זה לא כזה מסובך. 

ב. אתה לא צריך לחפש פקודות אינדקס מתוחכמות, אני מניח שכדי לעבור על המערך יש לך שתי לולאות for אחת בתוך השניה עם שני משתני אינדקס למה אתה צריך משהו נוסף?

תבנה אובייקט שמייצג נקודה במערך עם שני משתני int בפנים, כשאתה מוצא נקודת מקסימום תייצר אובייקט מתאים ותשמור אותו במערך נפרד. אחרי שעברת על כל המטריצה אז במערך הזה יהיו כל נקודות המקסימום.

 

תודה על התגובה :)

הבנתי את הדברים האלה,אבל קשה לי ליישם את זה בקוד.

תוכל לעזור לי עם זה קצת בבקשה?

 

 

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

תעתיק לפה (או יותר טוב למקום מסודר כמו https://gist.github.com) את הקוד שכבר כתבת ואז יהיה יותר קל לעזור לך. 

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

https://github.com/avielbs1/SpliNum/blob/master/Matri1

 

זה מה שעשיתי בינתיים כדי למלא את המטריצה, את השאר ניסיתי אפילו לעשות סקיצה על דף כדי להבין איך אני מתחיל בינתיים לסרוק את כל המטריצה ולבדוק את הנקודות מקסימום מינימום אבל לא הצלחתי לחשוב מאיפה להתחיל אפילו, אם תוכל לתת לי כיוון קטן עם הקוד עצמו+הסבר של איך הוא בעצם עובד זה יעזור לי ממש! תודה רבה! :)  

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

הצטרפ/י לדיון

בשלב זה תוכל/י להצטרף לדיון, ולאחר מכן להצטרף לקהילה שלנו. אם כבר יש לך חשבון אצלנו, אנא התחבר/י עכשיו על מנת להגיב תחת שם המשתמש שלך.
לתשומת לבך: התגובה תופיע לגולשים לאחר אישור של צוות הנהלת הפורומים.

אורח
הוסף תגובה

×   התוכן שהודבק הוא עם עיצוב.   הסר עיצוב

  Only 75 emoji are allowed.

×   הקישור שלך הוטמע אוטומטית.   הצג כקישור רגיל

×   התוכן הקודם שלך שוחזר אוטומטית.   נקה הכל

×   You cannot paste images directly. Upload or insert images from URL.


×
  • צור חדש...