ABA


"עזרה במימוש שיטה בJava.."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15609 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15609
tracky23
חבר מתאריך 14.9.08
4039 הודעות, דרג אמינות חבר זה
   02:28   12.12.09   
אל הפורום  
  עזרה במימוש שיטה בJava..  
 
   אני צריך בבקשה עזרה במימוש שיטה בשם allThere במחלקה שיצרתי בשם Square3X3 המייצגת מערך דו מימדי של 3x3 מספרים (סה"כ 9 מספרים).
השיטה צריכה למצוא האם במערך הדו מימדי יש את כל המספרים מ-1 עד 9 (כולל כולם, וכל אחד רק פעם אחת).
בנתיים החתימה של השיטה וההתחלה שלה נראית כך:
;()public boolean allThere
(++for(int row=0;row<=2;row
}
(++for(int col=0;col<=2;col
}
אודה לעזרה מראש.
נ.ב:להבא, איך אתם מעלים טקסט לאתר שהוא עם רקע אפור כזה..?


 


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש לך את תגית CODE Nesher  12.12.09 02:47 1
  שכחתי לציין tracky23 12.12.09 12:07 2
  אין אין לך בעייה של יעילות מיוחדת VeNom  12.12.09 14:59 3
  תקצה מערך של 9 שיהיה בעצם מערך של flags. Deuce  13.12.09 23:05 4

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק, 43 נקודות
   02:47   12.12.09   
אל הפורום  
  1. יש לך את תגית CODE  
בתגובה להודעה מספר 0
 
ויש לך גם את הקישור של "המרת סוגריים מרובעים" מתחת לאייקונים
בעורך הודעה בשביל להפוך סוגריים מרובעים לנראים בפורום

[code]
code...
[/code]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
tracky23
חבר מתאריך 14.9.08
4039 הודעות, דרג אמינות חבר זה
   12:07   12.12.09   
אל הפורום  
  2. שכחתי לציין  
בתגובה להודעה מספר 0
 
   במידה והמספרים בין 1 ל-9 ,הוא יחזיר true, אחרת, יחזיר false.
ניסיתי לעשות תנאי if על המספרים בין ל-9 ,אבל אם אפילו מכנסים פעמיים את הספרה 5 למשל, הוא עדיין מוציא true.


 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק, 2 נקודות
   14:59   12.12.09   
אל הפורום  
  3. אין אין לך בעייה של יעילות מיוחדת  
בתגובה להודעה מספר 0
 
   תעשה העברה של המטריצה לתוך מערך בגודל 9.
תמיין את המערך ותבדוק האם במקום ה i יש את האיבר ה i+1..
העברת מטריצה לתוך מערך זה משהו כזה..

int k = 0;
int arr= new int;
for(int i = 0 ; i < 3 ; i++)
{
for(int j = 0 ; j < 3 ; j++)
{
arr= matrix;
k++;
}
}

לאחר מכן תרצה למיין אותם..שוב הכל תלוי כאן באם אתה צריך משהו ביעילות מסויימת..אם כן עדיף למיין ע"י quicksort או mergesort..
אחרת מימוש של bubblesort יהיה הכי פשוט..
לאחר המימוש פשוט תשאר עם מערך ממוין ותצטרך לבדוק האם במקום ה i יש את האיבר ה i+1..כלומר במקום האפס יש את 1 ובמקום ה 1 יש את 2...עד שאתה מגיע למקום האחרון(8) ושואל האם יש בו את 9..אם הוא רץ עד הסוף אז תחזיר אמת..אם הוא נופל באמצע תחזיר שקר..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות, דרג אמינות חבר זה
   23:05   13.12.09   
אל הפורום  
  4. תקצה מערך של 9 שיהיה בעצם מערך של flags.  
בתגובה להודעה מספר 0
 
תאתחל את כל התאים ל-0.
כל פעם שתיתקל במספר תסמן אותו במערך שלך, למשל אם ראית 3 אז תהפוך את התא ה-2 במערך (כי התאים מ-0 עד 8) ל-1. בסוף תבדוק שהמערך כולו הוא של אחדים.

int[] ar = new int[9];
for (int i=0;i<3;++i)
for (int j=0;j<3;++j)
ar[mat[i][j]-1] = 1;
// אם כל התאים הם 1 אז תחזיר אמת






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net