עזרה בבניית קוד למעבר על שורות מטריצה ומציאת מקסימום-JAVA - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


aviel-bs

Recommended Posts

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

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

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

 

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

 

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

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

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

 

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

 

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

 

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

 

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

 

תודה רבה!

 

קישור לתוכן
שתף באתרים אחרים

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

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

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

 

 

 

קישור לתוכן
שתף באתרים אחרים

ציטוט של etal

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

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

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

 

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

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

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

 

 

קישור לתוכן
שתף באתרים אחרים

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

 

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...