‫דו-ממדי‬ ‫מערך‬
Java
‫שעות‬ ‫מערכת‬
‫לכיתה‬ ‫שבועית‬ ‫שעות‬ ‫מערכת‬ ‫של‬ ‫קיומה‬ ‫נניח‬
‫אחת‬
‫ישנם‬ ‫בשבוע‬5‫יום‬ ‫ובכל‬ ,‫ימי-לימוד‬7‫שעות‬
.‫לימוד‬ ‫מקצוע‬ ‫שם‬ – ‫שעה‬ ‫בכל‬ .‫היותר‬ ‫לכל‬
?‫המערכת‬ ‫נתוני‬ ‫את‬ ‫נשמור‬ ‫כיצד‬
‫השעות‬ ‫מערכת‬
‫חמישי‬ ‫רביעי‬ ‫שלישי‬ ‫שני‬ ‫ראשון‬
‫תנ"ך‬ ‫מתמטיקה‬ ‫סביבה‬ ‫מתמטיקה‬ ‫ספרות‬ ‫שיעור‬1
‫תנ"ך‬ ‫מתמטיקה‬ ‫אנגלית‬ ‫מתמטיקה‬ ‫תנ"ך‬ ‫שיעור‬2
‫סביבה‬ ‫לשון‬ ‫אנגלית‬ ‫סביבה‬ ‫ספורט‬ ‫שיעור‬3
‫לשון‬ ‫אנגלית‬ ‫תלמוד‬ ‫ספרות‬ ‫מתמטיקה‬ ‫שיעור‬4
‫מחנך‬ ‫קולנוע‬ ‫ספורט‬ ‫קולנוע‬ ‫לשון‬ ‫שיעור‬5
‫קולנוע‬ ‫מוסיקה‬ ‫קולנוע‬ ‫אנגלית‬ ‫שיעור‬6
‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ‫אנגלית‬ ‫שיעור‬7
?‫יתאים‬ ‫חד-ממדי‬ ‫מערך‬ ‫האם‬
-‫חד‬ ‫למערך‬ ‫השיעורים‬ ‫שמות‬ ‫כל‬ ‫את‬ ‫נכניס‬ ‫אם‬
‫לשיעור‬ ,‫לדוגמה‬ ,‫בקלות‬ ‫להגיע‬ ‫נוכל‬ ‫האם‬ ,‫ממדי‬
‫שימושית‬ ‫דרך‬ ‫בוודאי‬ ‫קיימת‬ ?‫שלישי‬ ‫ביום‬ ‫השני‬
.‫המידע‬ ‫לארגון‬ ‫יותר‬
131211
... ‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ...
:‫כפולה‬ ‫אינדקסים‬ ‫מערכת‬ ‫נבנה‬
-‫מ‬ ‫ימים‬1‫עד‬5-‫מ‬ ‫שעות‬ ,1‫עד‬7
5 4 3 2 1
‫תנ"ך‬ ‫מתמטיקה‬ ‫סביבה‬ ‫מתמטיקה‬ ‫ספרות‬ 1
‫תנ"ך‬ ‫מתמטיקה‬ ‫אנגלית‬ ‫מתמטיקה‬ ‫תנ"ך‬ 2
‫סביבה‬ ‫לשון‬ ‫אנגלית‬ ‫סביבה‬ ‫ספורט‬ 3
‫לשון‬ ‫אנגלית‬ ‫תלמוד‬ ‫ספרות‬ ‫מתמטיקה‬ 4
‫מחנך‬ ‫קולנוע‬ ‫ספורט‬ ‫קולנוע‬ ‫לשון‬ 5
‫קולנוע‬ ‫מוסיקה‬ ‫קולנוע‬ ‫אנגלית‬ 6
‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ‫אנגלית‬ 7
Week[3][4]
‫במערך‬ ‫תא‬ ‫אל‬ ‫גישה‬
‫נקראת‬ ‫כולה‬ ‫הטבלה‬ ‫אם‬Week,‫נרצה‬ ,
‫ייקרא‬ ‫שלישי‬ ‫ביום‬ ‫השני‬ ‫שהשיעור‬ ,‫לדוגמה‬
Week[3][2[.
‫אינדקסים‬ ‫ושני‬ ‫הטבלה‬ ‫שם‬ ‫באמצעות‬ ,‫כך‬
.‫במערכת‬ ‫שיעור‬ ‫לכל‬ ‫להגיע‬ ‫נוכל‬ ‫מספריים‬
‫הימים‬ ‫של‬ ‫האינדקס‬ ‫מיהו‬ ‫להחליט‬ ‫עלינו‬ ,‫כמובן‬
.‫השעות‬ ‫של‬ ‫ומי‬
-‫ב‬ ‫דו-ממדית‬ ‫טבלה‬ ‫מימוש‬Java
String[][] Week = new String[5][7[;
:‫הסבר‬
‫סוגריים‬ ‫של‬ ‫מערכות‬ ‫)שני‬ ‫דו-ממדי‬ ‫במערך‬ ‫מדובר‬
.(‫השיעורים‬ ‫)שמות‬ ‫מחרוזות‬ ‫של‬ (‫מרובעים‬
-‫מ‬ ‫ליום‬ ‫שייך‬ ‫יהיה‬ ‫השמאלי‬ ‫שהאינדקס‬ ‫נחליט‬5
‫של‬ ‫למספרו‬ – ‫הימני‬ ‫האינדקס‬ .‫ימי-השבוע‬
‫מתוך‬ ‫השיעור‬7.‫היום‬ ‫שיעורי‬
‫הוא‬ ‫חמישי‬ ‫ביום‬ ‫הרביעי‬ ‫השיעור‬Week[5][4[
...‫אבל‬
‫חד-ממדי‬ ‫במערך‬ ‫כמו‬
...‫ולכן‬ ,‫אפס‬ ‫הוא‬ ‫ממד‬ ‫בכל‬ ‫הראשון‬ ‫האינדקס‬
:‫הם‬ ‫שלנו‬ ‫המערך‬ ‫תאי‬ ‫ולכן‬
0'‫א‬ ‫יום‬ 1'‫ב‬ ‫יום‬ 2'‫ג‬ ‫יום‬ 3'‫ד‬ ‫יום‬ 4'‫ה‬ ‫יום‬
0‫שיעור‬ –1 Week[0][0[ Week[0][1[ Week[0][2[ Week[0][3[ Week[0][4[
1‫שיעור‬ –2 Week[1][0[ Week[1][1[ Week[1][2[ Week[1][3[ Week[1][4[
2‫שיעור‬ –3 ...‫הלאה‬ ‫וכן‬
3
4
5
6‫שיעור‬ –7 Week[6][0[ Week[4][6[
‫נתונים‬ ‫הכנסת‬
Week[1,3] = “‫;”ספורט‬
‫הלאה‬ ‫...וכן‬
,‫אפסים‬ ‫הם‬ ‫הראשונים‬ ‫שהאינדקסים‬ ‫מהסיבה‬
.‫השני‬ ‫ביום‬ ‫הרביעי‬ ‫השיעור‬ ,‫למעשה‬ ,‫זהו‬
‫קטנה‬ ‫בעיה‬ ‫לפתור‬ ‫נוכל‬ ‫אבל‬ ,‫כעת‬ ‫מבלבל‬ ‫קצת‬
.‫בהמשך‬ ‫זאת‬
!‫משמעותי‬ ‫האינדקסים‬ ‫סדר‬
Week[1][6[
Week[2][3[‫שלישי‬ ‫ביום‬ ‫הרביעי‬ ‫שיעור‬ ‫הוא‬ .
Week[3][2[‫רביעי‬ ‫ביום‬ ‫השלישי‬ ‫השיעור‬ ‫.הוא‬
‫יום‬ ‫אינדקס‬ ‫שיעור‬ ‫אינדקס‬
?‫זו‬ ‫נתונים‬ ‫אחסון‬ ‫שיטת‬ ‫של‬ ‫יתרונה‬ ‫מה‬
‫שני‬ ‫לכל‬ .‫חד-משמעית‬ ‫כתובת‬ ‫יש‬ ‫במערך‬ ‫תא‬ ‫לכל‬
,‫משמעותית‬ ‫הכתובת‬ .‫שונה‬ ‫כתובת‬ – ‫תאים‬
.‫ולשעה‬ ‫ליום‬ ‫ישיר‬ ‫קשר‬ ‫וקשורה‬
‫שם‬ ‫במתן‬ ‫מסתפקים‬ ‫אנו‬ ,‫חד-ממדי‬ ‫במערך‬ ‫כמו‬
‫למערך‬Week'‫ומס‬ ‫השורות‬ '‫מס‬ ‫ובהגדרת‬ ,
– ‫שלו‬ ‫העמודות‬7-‫ו‬ ‫שורות‬5.‫עמודות‬
Java‫של‬ ‫שמות‬ ‫יוצר‬35:‫משתני-מחרוזת‬
Week[0][0], Week[0][1], Week[0][2… ,[
‫השעות‬ ‫מערכת‬ ‫במערך‬ ‫לשימוש‬ ‫דוגמה‬
System.out.println(“Type day.”);
nt D=input.nextInt();
System.out.println(“Type hour.”);
int H=input.nextInt();
System.out.println(“On that hour you have
“ + Week[D-1][H-1] + “ class.”);
‫חיסרנו‬ ‫מדוע‬ :‫שאלה‬1-‫מ‬D-‫ומ‬H?
‫שימושיות‬ ‫דוגמאות‬1
boolean[][] Meeting = new boolean[45][39];
.‫הכרויות‬ ‫במועדון‬ ‫פגישות‬ ‫מתעד‬ ‫המערך‬
‫בין‬ ‫לפגישות‬ ‫תאים‬ ‫במערך‬45-‫ל‬ ‫בנים‬39.‫בנות‬
‫של‬ ‫ערכו‬Meeting[12][5[‫יהיה‬true'‫מס‬ ‫בן‬ ‫אם‬12
'‫מס‬ ‫בת‬ ‫עם‬ ‫נפגש‬ ‫כבר‬5-‫ו‬ ,false‫לא‬ ‫עדיין‬ ‫אם‬ ,
.‫נפגשו‬
‫שימושיות‬ ‫דוגמאות‬2
int[][] ClassRoom= new int[6][5];
‫עבור‬ ‫הכיתות‬ ‫חדרי‬ ‫מספרי‬ ‫את‬ ‫מתעד‬ ‫המערך‬6
-‫ב‬ ‫כיתות‬5‫ערכו‬ .‫אחד‬ ‫לימודים‬ ‫יום‬ ‫של‬ ‫שעות‬
‫של‬ClassRoom[3][4[‫יהיה‬11‫כיתה‬ ‫אם‬
'‫מס‬3'‫מס‬ ‫בשעה‬ ‫נמצאת‬4'‫מס‬ ‫כיתה‬ ‫בחדר‬
11.
‫שימושיות‬ ‫דוגמאות‬3
int twoDice=new int [6][6];
‫זוג‬ ‫של‬ ‫הטלות‬ ‫סדרת‬ ‫תוצאות‬ ‫מתעד‬ ‫המערך‬
'‫א‬ ‫לקוביה‬ ‫שייך‬ ‫שמאלי‬ ‫אינדקס‬ ‫כאשר‬ ,‫קוביות‬
‫אם‬ .(‫)ירוקה‬ '‫ב‬ ‫לקוביה‬ – ‫ימני‬ ‫ואינדקס‬ (‫)אדומה‬
‫הזוג‬ ‫הוטל‬3-4-‫ב‬ ‫להגדיל‬ ‫יש‬ ,1‫התא‬ ‫ערך‬ ‫את‬
twoDice[3][4[‫זה‬ ‫תא‬ ‫יכיל‬ ‫ההטלות‬ ‫סדרת‬ ‫בסוף‬ .
‫שהזוג‬ ‫הפעמים‬ ‫מספר‬ ‫את‬3-4.‫הופיע‬
‫הזוג‬ :‫הערה‬4-3‫היא‬ '‫א‬ ‫קוביה‬ ‫שבו‬ ,‫אחר‬ ‫זוג‬ ‫הוא‬
3‫היא‬ '‫ב‬ ‫וקוביה‬ ,4.
‫חד-ממדי‬ ‫מערך‬ ‫איתחול‬
int[][] numbers = new int[6][6];
‫בשם‬ ‫מערך‬ ‫אתחלנו‬numbers‫עבור‬36‫מספרים‬
-‫ב‬ ‫המסודרים‬6‫של‬ ‫שורות‬6.‫מספרים‬
Java‫כל‬ ‫את‬ ‫מאתחלת‬36.‫אפס‬ ‫לערך‬ ‫התאים‬
‫ערך‬ – ‫מחרוזות‬ ‫של‬ ‫במערך‬ ‫מדובר‬ ‫אם‬
‫ריקה‬ ‫מחרוזת‬ ‫הוא‬ ‫תא‬ ‫כל‬ ‫של‬ ‫.האיתחול‬
‫על‬ – ‫הבאים‬ ‫בשקפים‬ ‫הדוגמאות‬ ‫כל‬
‫של‬ ,‫זה‬ ‫מערך‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
‫בודדים‬ ‫בתאים‬ ‫פעולות‬
‫הצבת‬7‫בשורה‬ ‫בתא‬0‫ובעמודה‬5.
numbers[0][5] = 7;
.‫לו‬ ‫משמאל‬ ‫בדיוק‬ ‫הנמצא‬ ‫לתא‬ ‫ערך‬ ‫קליטת‬
numbers[0][4] = input.nextInt();
.‫התאים‬ ‫שני‬ ‫ערכי‬ ‫סכום‬ ‫הדפסת‬
System.out.println( Numbers[0][5] +
Numbers[0][4] );
‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬
‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
‫המערך‬ ‫תאי‬ ‫כל‬ ‫על‬ ‫פעולות‬
‫ללולאת‬ ‫בדומה‬for‫כל‬ ‫על‬ ‫לעבור‬ ‫לנו‬ ‫שסייעה‬
‫כעת‬ ‫נשתמש‬ ,‫חד-ממדי‬ ‫מערך‬ ‫של‬ ‫האינדקסים‬
‫לולאות‬ ‫בשתי‬for‫אחד‬ ‫בכל‬ ‫ביקור‬ ‫לשם‬
.‫מהתאים‬
– ‫שורה‬ ‫ובכל‬ ,‫שורה‬ ‫שורה‬ ,‫הסדר‬ ‫לפי‬ ,‫נעבור‬
‫ונציב‬ ,‫לימין‬ ‫משמאל‬13:‫תא‬ ‫בכל‬
for (int x=0; x<6; x++)
for (int y=0; y<6;y++)
numbers[x][y]=13;
‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬
‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
‫בתאים‬ ‫הביקור‬ ‫סדר‬
‫של‬ ‫ערכו‬ ‫כאשר‬x‫הלולאה‬ ‫תתבצע‬ ,‫אפס‬ ‫הוא‬
‫שורה‬ ‫תאי‬ ‫כל‬ ‫עבור‬ ‫הפנימית‬0:‫הסדר‬ ‫לפי‬ ,
Numbers[0][0], Numbers[0][1], Numbers[0][2],
Numbers[0][3], Numbers[0][4], Numbers[0][5]
‫ערך‬ ‫הופך‬ ‫כעת‬x-‫ל‬1‫הלולאה‬ ‫מתבצעת‬ ‫ושוב‬ ,
:‫התאים‬ ‫על‬ ‫הפנימית‬
Numbers[1][0], Numbers[1][1], Numbers[1][2],
Numbers[1][3], Numbers[1][4], Numbers[1][5]
‫שורה‬ ,‫האחרונה‬ ‫השורה‬ ‫עד‬ ,‫הלאה‬ ‫וכן‬5.
‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬
‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
‫המערך‬ ‫לגבולות‬ ‫מחוץ‬ ‫אל‬ ‫יציאה‬
‫אי‬ ‫דו-ממדי‬ ‫במערך‬ ‫גם‬ ,‫חד-ממדי‬ ‫מערך‬ ‫לגבי‬ ‫כמו‬
.‫במערך‬ ‫שאינם‬ ‫תאים‬ ‫אל‬ ‫לגשת‬ ‫לנסות‬
‫המערך‬ ‫הגדרת‬ ,‫לדוגמה‬ ,‫אם‬A:‫היא‬int[3][7[,
‫שהכתובת‬ ‫הרי‬A[3][3[,‫במערך‬ ‫תא‬ ‫של‬ ‫כתובת‬ ‫אינה‬
‫של‬ ‫האינדקסים‬ ‫כי‬3-‫ב‬ ‫מסתיימים‬ ‫השורות‬2‫)הראשון‬
‫הוא‬0.(
‫הכתובת‬A[2][3[‫היפוכה‬ ‫אך‬ ,‫במערך‬ ‫נמצאת‬A[3][2[
!‫האינדקסים‬ ‫לסדר‬ ‫לב‬ ‫לשים‬ ‫יש‬ .‫בו‬ ‫נמצאת‬ ‫אינה‬
‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬
‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
‫טבלה‬ ‫הדפסת‬
,‫במערך‬ ‫התאים‬ ‫ערכי‬ ‫כל‬ ‫את‬ ‫תדפיס‬ ‫הבאה‬ ‫ההוראה‬
,‫העמודות‬ ‫סדר‬ ‫לפי‬ ‫שורה‬ ‫ובכל‬ ,‫השורות‬ ‫סדר‬ ‫לפי‬
‫הדפסה‬ ‫בשורת‬ ‫יופיעו‬ ‫המודפסים‬ ‫הערכים‬ ‫כל‬ ‫אך‬
:‫אחת‬
for (int x=0; x<6; x++)
for (int y=0; y<6;y++)
System.out.print(numbers[x][y] + “,”);
‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬
‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬
.‫מספרים‬ ‫של‬
?‫טבלה‬ ‫מדפיסים‬ ‫זאת‬ ‫בכל‬ ‫איך‬
‫שורה‬ ‫בהדפסת‬ ‫נתחיל‬0‫לשורה‬ ‫ירידה‬ ‫עם‬ ,‫בלבד‬
‫הדפסת‬ ‫אחרי‬ ‫חדשה‬6:‫השורה‬ ‫מספרי‬
int x=0;
for (int y=0; y<6;y++)
System.out.print(numbers[x][y] + “,”);
System.out.println();
‫הדפסת‬ ‫אחרי‬ ‫תתבצע‬ ‫חדשה‬ ‫לשורה‬ ‫הירידה‬ :‫לב‬ ‫נשים‬
6.‫בלבד‬ ‫אחת‬ ‫פעם‬ ,‫כלומר‬ – ‫השורה‬ ‫מספרי‬
‫מלאה‬ ‫טבלה‬ ‫הדפסת‬
‫וכדי‬ ,‫בבלוק‬ ‫השורה‬ ‫הדפסת‬ ‫הוראות‬ ‫את‬ ‫נסגור‬
‫את‬ ‫להדפיס‬6‫עוד‬ ‫הבלוק‬ ‫על‬ ‫מבחוץ‬ ‫נפעיל‬ ,‫השורות‬
:‫לולאה‬
for (int x=0; x<6; x++)
{ for (int y=0; y<6;y++)
System.out.print(numbers[x][y] + “,”);
System.out.println(); }
‫השורות‬ ‫מספרי‬ ‫על‬ ‫מפקח‬
‫יחידה‬ ‫שורה‬ ‫הדפסת‬ ‫מבצע‬
‫בסוף‬ ‫חדשה‬ ‫לשורה‬ ‫ירידה‬ ‫עם‬
‫מבוקשת‬ ‫שורה‬ ‫מספרי‬ ‫סיכום‬
int sum=0;
for (int y=0; y<6;y++(
sum = sum + numbers[3][y[;
System.out,println(sum(;
‫עבור‬ ,‫אחת‬ ‫בלולאה‬ ‫די‬ :‫לב‬ ‫נשים‬6‫השורה‬ ‫מספרי‬
.‫היחידה‬
‫המבוקשת‬ ‫השורה‬ ‫מספר‬
‫מבוקשת‬ ‫עמודה‬ ‫מספרי‬ ‫סיכום‬
int sum=0;
for (int x=0; x<6;x++(
sum = sum + numbers[x][5[;
System.out,println(sum(;
.‫השורות‬ ‫מספרי‬ ‫עבור‬ – ‫אחת‬ ‫בלולאה‬ ‫די‬ ‫הפעם‬
‫המבוקשת‬ ‫העמודה‬ ‫מספר‬

מערך דו ממדי

  • 1.
  • 2.
    ‫שעות‬ ‫מערכת‬ ‫לכיתה‬ ‫שבועית‬‫שעות‬ ‫מערכת‬ ‫של‬ ‫קיומה‬ ‫נניח‬ ‫אחת‬ ‫ישנם‬ ‫בשבוע‬5‫יום‬ ‫ובכל‬ ,‫ימי-לימוד‬7‫שעות‬ .‫לימוד‬ ‫מקצוע‬ ‫שם‬ – ‫שעה‬ ‫בכל‬ .‫היותר‬ ‫לכל‬ ?‫המערכת‬ ‫נתוני‬ ‫את‬ ‫נשמור‬ ‫כיצד‬
  • 3.
    ‫השעות‬ ‫מערכת‬ ‫חמישי‬ ‫רביעי‬‫שלישי‬ ‫שני‬ ‫ראשון‬ ‫תנ"ך‬ ‫מתמטיקה‬ ‫סביבה‬ ‫מתמטיקה‬ ‫ספרות‬ ‫שיעור‬1 ‫תנ"ך‬ ‫מתמטיקה‬ ‫אנגלית‬ ‫מתמטיקה‬ ‫תנ"ך‬ ‫שיעור‬2 ‫סביבה‬ ‫לשון‬ ‫אנגלית‬ ‫סביבה‬ ‫ספורט‬ ‫שיעור‬3 ‫לשון‬ ‫אנגלית‬ ‫תלמוד‬ ‫ספרות‬ ‫מתמטיקה‬ ‫שיעור‬4 ‫מחנך‬ ‫קולנוע‬ ‫ספורט‬ ‫קולנוע‬ ‫לשון‬ ‫שיעור‬5 ‫קולנוע‬ ‫מוסיקה‬ ‫קולנוע‬ ‫אנגלית‬ ‫שיעור‬6 ‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ‫אנגלית‬ ‫שיעור‬7
  • 4.
    ?‫יתאים‬ ‫חד-ממדי‬ ‫מערך‬‫האם‬ -‫חד‬ ‫למערך‬ ‫השיעורים‬ ‫שמות‬ ‫כל‬ ‫את‬ ‫נכניס‬ ‫אם‬ ‫לשיעור‬ ,‫לדוגמה‬ ,‫בקלות‬ ‫להגיע‬ ‫נוכל‬ ‫האם‬ ,‫ממדי‬ ‫שימושית‬ ‫דרך‬ ‫בוודאי‬ ‫קיימת‬ ?‫שלישי‬ ‫ביום‬ ‫השני‬ .‫המידע‬ ‫לארגון‬ ‫יותר‬ 131211 ... ‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ...
  • 5.
    :‫כפולה‬ ‫אינדקסים‬ ‫מערכת‬‫נבנה‬ -‫מ‬ ‫ימים‬1‫עד‬5-‫מ‬ ‫שעות‬ ,1‫עד‬7 5 4 3 2 1 ‫תנ"ך‬ ‫מתמטיקה‬ ‫סביבה‬ ‫מתמטיקה‬ ‫ספרות‬ 1 ‫תנ"ך‬ ‫מתמטיקה‬ ‫אנגלית‬ ‫מתמטיקה‬ ‫תנ"ך‬ 2 ‫סביבה‬ ‫לשון‬ ‫אנגלית‬ ‫סביבה‬ ‫ספורט‬ 3 ‫לשון‬ ‫אנגלית‬ ‫תלמוד‬ ‫ספרות‬ ‫מתמטיקה‬ 4 ‫מחנך‬ ‫קולנוע‬ ‫ספורט‬ ‫קולנוע‬ ‫לשון‬ 5 ‫קולנוע‬ ‫מוסיקה‬ ‫קולנוע‬ ‫אנגלית‬ 6 ‫מוסיקה‬ ‫מוסיקה‬ ‫תלמוד‬ ‫אנגלית‬ 7 Week[3][4]
  • 6.
    ‫במערך‬ ‫תא‬ ‫אל‬‫גישה‬ ‫נקראת‬ ‫כולה‬ ‫הטבלה‬ ‫אם‬Week,‫נרצה‬ , ‫ייקרא‬ ‫שלישי‬ ‫ביום‬ ‫השני‬ ‫שהשיעור‬ ,‫לדוגמה‬ Week[3][2[. ‫אינדקסים‬ ‫ושני‬ ‫הטבלה‬ ‫שם‬ ‫באמצעות‬ ,‫כך‬ .‫במערכת‬ ‫שיעור‬ ‫לכל‬ ‫להגיע‬ ‫נוכל‬ ‫מספריים‬ ‫הימים‬ ‫של‬ ‫האינדקס‬ ‫מיהו‬ ‫להחליט‬ ‫עלינו‬ ,‫כמובן‬ .‫השעות‬ ‫של‬ ‫ומי‬
  • 7.
    -‫ב‬ ‫דו-ממדית‬ ‫טבלה‬‫מימוש‬Java String[][] Week = new String[5][7[; :‫הסבר‬ ‫סוגריים‬ ‫של‬ ‫מערכות‬ ‫)שני‬ ‫דו-ממדי‬ ‫במערך‬ ‫מדובר‬ .(‫השיעורים‬ ‫)שמות‬ ‫מחרוזות‬ ‫של‬ (‫מרובעים‬ -‫מ‬ ‫ליום‬ ‫שייך‬ ‫יהיה‬ ‫השמאלי‬ ‫שהאינדקס‬ ‫נחליט‬5 ‫של‬ ‫למספרו‬ – ‫הימני‬ ‫האינדקס‬ .‫ימי-השבוע‬ ‫מתוך‬ ‫השיעור‬7.‫היום‬ ‫שיעורי‬ ‫הוא‬ ‫חמישי‬ ‫ביום‬ ‫הרביעי‬ ‫השיעור‬Week[5][4[ ...‫אבל‬
  • 8.
    ‫חד-ממדי‬ ‫במערך‬ ‫כמו‬ ...‫ולכן‬,‫אפס‬ ‫הוא‬ ‫ממד‬ ‫בכל‬ ‫הראשון‬ ‫האינדקס‬ :‫הם‬ ‫שלנו‬ ‫המערך‬ ‫תאי‬ ‫ולכן‬ 0'‫א‬ ‫יום‬ 1'‫ב‬ ‫יום‬ 2'‫ג‬ ‫יום‬ 3'‫ד‬ ‫יום‬ 4'‫ה‬ ‫יום‬ 0‫שיעור‬ –1 Week[0][0[ Week[0][1[ Week[0][2[ Week[0][3[ Week[0][4[ 1‫שיעור‬ –2 Week[1][0[ Week[1][1[ Week[1][2[ Week[1][3[ Week[1][4[ 2‫שיעור‬ –3 ...‫הלאה‬ ‫וכן‬ 3 4 5 6‫שיעור‬ –7 Week[6][0[ Week[4][6[
  • 9.
    ‫נתונים‬ ‫הכנסת‬ Week[1,3] =“‫;”ספורט‬ ‫הלאה‬ ‫...וכן‬ ,‫אפסים‬ ‫הם‬ ‫הראשונים‬ ‫שהאינדקסים‬ ‫מהסיבה‬ .‫השני‬ ‫ביום‬ ‫הרביעי‬ ‫השיעור‬ ,‫למעשה‬ ,‫זהו‬ ‫קטנה‬ ‫בעיה‬ ‫לפתור‬ ‫נוכל‬ ‫אבל‬ ,‫כעת‬ ‫מבלבל‬ ‫קצת‬ .‫בהמשך‬ ‫זאת‬
  • 10.
    !‫משמעותי‬ ‫האינדקסים‬ ‫סדר‬ Week[1][6[ Week[2][3[‫שלישי‬‫ביום‬ ‫הרביעי‬ ‫שיעור‬ ‫הוא‬ . Week[3][2[‫רביעי‬ ‫ביום‬ ‫השלישי‬ ‫השיעור‬ ‫.הוא‬ ‫יום‬ ‫אינדקס‬ ‫שיעור‬ ‫אינדקס‬
  • 11.
    ?‫זו‬ ‫נתונים‬ ‫אחסון‬‫שיטת‬ ‫של‬ ‫יתרונה‬ ‫מה‬ ‫שני‬ ‫לכל‬ .‫חד-משמעית‬ ‫כתובת‬ ‫יש‬ ‫במערך‬ ‫תא‬ ‫לכל‬ ,‫משמעותית‬ ‫הכתובת‬ .‫שונה‬ ‫כתובת‬ – ‫תאים‬ .‫ולשעה‬ ‫ליום‬ ‫ישיר‬ ‫קשר‬ ‫וקשורה‬ ‫שם‬ ‫במתן‬ ‫מסתפקים‬ ‫אנו‬ ,‫חד-ממדי‬ ‫במערך‬ ‫כמו‬ ‫למערך‬Week'‫ומס‬ ‫השורות‬ '‫מס‬ ‫ובהגדרת‬ , – ‫שלו‬ ‫העמודות‬7-‫ו‬ ‫שורות‬5.‫עמודות‬ Java‫של‬ ‫שמות‬ ‫יוצר‬35:‫משתני-מחרוזת‬ Week[0][0], Week[0][1], Week[0][2… ,[
  • 12.
    ‫השעות‬ ‫מערכת‬ ‫במערך‬‫לשימוש‬ ‫דוגמה‬ System.out.println(“Type day.”); nt D=input.nextInt(); System.out.println(“Type hour.”); int H=input.nextInt(); System.out.println(“On that hour you have “ + Week[D-1][H-1] + “ class.”); ‫חיסרנו‬ ‫מדוע‬ :‫שאלה‬1-‫מ‬D-‫ומ‬H?
  • 13.
    ‫שימושיות‬ ‫דוגמאות‬1 boolean[][] Meeting= new boolean[45][39]; .‫הכרויות‬ ‫במועדון‬ ‫פגישות‬ ‫מתעד‬ ‫המערך‬ ‫בין‬ ‫לפגישות‬ ‫תאים‬ ‫במערך‬45-‫ל‬ ‫בנים‬39.‫בנות‬ ‫של‬ ‫ערכו‬Meeting[12][5[‫יהיה‬true'‫מס‬ ‫בן‬ ‫אם‬12 '‫מס‬ ‫בת‬ ‫עם‬ ‫נפגש‬ ‫כבר‬5-‫ו‬ ,false‫לא‬ ‫עדיין‬ ‫אם‬ , .‫נפגשו‬
  • 14.
    ‫שימושיות‬ ‫דוגמאות‬2 int[][] ClassRoom=new int[6][5]; ‫עבור‬ ‫הכיתות‬ ‫חדרי‬ ‫מספרי‬ ‫את‬ ‫מתעד‬ ‫המערך‬6 -‫ב‬ ‫כיתות‬5‫ערכו‬ .‫אחד‬ ‫לימודים‬ ‫יום‬ ‫של‬ ‫שעות‬ ‫של‬ClassRoom[3][4[‫יהיה‬11‫כיתה‬ ‫אם‬ '‫מס‬3'‫מס‬ ‫בשעה‬ ‫נמצאת‬4'‫מס‬ ‫כיתה‬ ‫בחדר‬ 11.
  • 15.
    ‫שימושיות‬ ‫דוגמאות‬3 int twoDice=newint [6][6]; ‫זוג‬ ‫של‬ ‫הטלות‬ ‫סדרת‬ ‫תוצאות‬ ‫מתעד‬ ‫המערך‬ '‫א‬ ‫לקוביה‬ ‫שייך‬ ‫שמאלי‬ ‫אינדקס‬ ‫כאשר‬ ,‫קוביות‬ ‫אם‬ .(‫)ירוקה‬ '‫ב‬ ‫לקוביה‬ – ‫ימני‬ ‫ואינדקס‬ (‫)אדומה‬ ‫הזוג‬ ‫הוטל‬3-4-‫ב‬ ‫להגדיל‬ ‫יש‬ ,1‫התא‬ ‫ערך‬ ‫את‬ twoDice[3][4[‫זה‬ ‫תא‬ ‫יכיל‬ ‫ההטלות‬ ‫סדרת‬ ‫בסוף‬ . ‫שהזוג‬ ‫הפעמים‬ ‫מספר‬ ‫את‬3-4.‫הופיע‬ ‫הזוג‬ :‫הערה‬4-3‫היא‬ '‫א‬ ‫קוביה‬ ‫שבו‬ ,‫אחר‬ ‫זוג‬ ‫הוא‬ 3‫היא‬ '‫ב‬ ‫וקוביה‬ ,4.
  • 16.
    ‫חד-ממדי‬ ‫מערך‬ ‫איתחול‬ int[][]numbers = new int[6][6]; ‫בשם‬ ‫מערך‬ ‫אתחלנו‬numbers‫עבור‬36‫מספרים‬ -‫ב‬ ‫המסודרים‬6‫של‬ ‫שורות‬6.‫מספרים‬ Java‫כל‬ ‫את‬ ‫מאתחלת‬36.‫אפס‬ ‫לערך‬ ‫התאים‬ ‫ערך‬ – ‫מחרוזות‬ ‫של‬ ‫במערך‬ ‫מדובר‬ ‫אם‬ ‫ריקה‬ ‫מחרוזת‬ ‫הוא‬ ‫תא‬ ‫כל‬ ‫של‬ ‫.האיתחול‬ ‫על‬ – ‫הבאים‬ ‫בשקפים‬ ‫הדוגמאות‬ ‫כל‬ ‫של‬ ,‫זה‬ ‫מערך‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 17.
    ‫בודדים‬ ‫בתאים‬ ‫פעולות‬ ‫הצבת‬7‫בשורה‬‫בתא‬0‫ובעמודה‬5. numbers[0][5] = 7; .‫לו‬ ‫משמאל‬ ‫בדיוק‬ ‫הנמצא‬ ‫לתא‬ ‫ערך‬ ‫קליטת‬ numbers[0][4] = input.nextInt(); .‫התאים‬ ‫שני‬ ‫ערכי‬ ‫סכום‬ ‫הדפסת‬ System.out.println( Numbers[0][5] + Numbers[0][4] ); ‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬ ‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 18.
    ‫המערך‬ ‫תאי‬ ‫כל‬‫על‬ ‫פעולות‬ ‫ללולאת‬ ‫בדומה‬for‫כל‬ ‫על‬ ‫לעבור‬ ‫לנו‬ ‫שסייעה‬ ‫כעת‬ ‫נשתמש‬ ,‫חד-ממדי‬ ‫מערך‬ ‫של‬ ‫האינדקסים‬ ‫לולאות‬ ‫בשתי‬for‫אחד‬ ‫בכל‬ ‫ביקור‬ ‫לשם‬ .‫מהתאים‬ – ‫שורה‬ ‫ובכל‬ ,‫שורה‬ ‫שורה‬ ,‫הסדר‬ ‫לפי‬ ,‫נעבור‬ ‫ונציב‬ ,‫לימין‬ ‫משמאל‬13:‫תא‬ ‫בכל‬ for (int x=0; x<6; x++) for (int y=0; y<6;y++) numbers[x][y]=13; ‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬ ‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 19.
    ‫בתאים‬ ‫הביקור‬ ‫סדר‬ ‫של‬‫ערכו‬ ‫כאשר‬x‫הלולאה‬ ‫תתבצע‬ ,‫אפס‬ ‫הוא‬ ‫שורה‬ ‫תאי‬ ‫כל‬ ‫עבור‬ ‫הפנימית‬0:‫הסדר‬ ‫לפי‬ , Numbers[0][0], Numbers[0][1], Numbers[0][2], Numbers[0][3], Numbers[0][4], Numbers[0][5] ‫ערך‬ ‫הופך‬ ‫כעת‬x-‫ל‬1‫הלולאה‬ ‫מתבצעת‬ ‫ושוב‬ , :‫התאים‬ ‫על‬ ‫הפנימית‬ Numbers[1][0], Numbers[1][1], Numbers[1][2], Numbers[1][3], Numbers[1][4], Numbers[1][5] ‫שורה‬ ,‫האחרונה‬ ‫השורה‬ ‫עד‬ ,‫הלאה‬ ‫וכן‬5. ‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬ ‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 20.
    ‫המערך‬ ‫לגבולות‬ ‫מחוץ‬‫אל‬ ‫יציאה‬ ‫אי‬ ‫דו-ממדי‬ ‫במערך‬ ‫גם‬ ,‫חד-ממדי‬ ‫מערך‬ ‫לגבי‬ ‫כמו‬ .‫במערך‬ ‫שאינם‬ ‫תאים‬ ‫אל‬ ‫לגשת‬ ‫לנסות‬ ‫המערך‬ ‫הגדרת‬ ,‫לדוגמה‬ ,‫אם‬A:‫היא‬int[3][7[, ‫שהכתובת‬ ‫הרי‬A[3][3[,‫במערך‬ ‫תא‬ ‫של‬ ‫כתובת‬ ‫אינה‬ ‫של‬ ‫האינדקסים‬ ‫כי‬3-‫ב‬ ‫מסתיימים‬ ‫השורות‬2‫)הראשון‬ ‫הוא‬0.( ‫הכתובת‬A[2][3[‫היפוכה‬ ‫אך‬ ,‫במערך‬ ‫נמצאת‬A[3][2[ !‫האינדקסים‬ ‫לסדר‬ ‫לב‬ ‫לשים‬ ‫יש‬ .‫בו‬ ‫נמצאת‬ ‫אינה‬ ‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬ ‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 21.
    ‫טבלה‬ ‫הדפסת‬ ,‫במערך‬ ‫התאים‬‫ערכי‬ ‫כל‬ ‫את‬ ‫תדפיס‬ ‫הבאה‬ ‫ההוראה‬ ,‫העמודות‬ ‫סדר‬ ‫לפי‬ ‫שורה‬ ‫ובכל‬ ,‫השורות‬ ‫סדר‬ ‫לפי‬ ‫הדפסה‬ ‫בשורת‬ ‫יופיעו‬ ‫המודפסים‬ ‫הערכים‬ ‫כל‬ ‫אך‬ :‫אחת‬ for (int x=0; x<6; x++) for (int y=0; y<6;y++) System.out.print(numbers[x][y] + “,”); ‫מערך‬ ‫על‬ – ‫הדוגמאות‬ ‫כל‬ ‫של‬6-‫ו‬ ‫שורות‬6‫עמודות‬ .‫מספרים‬ ‫של‬
  • 22.
    ?‫טבלה‬ ‫מדפיסים‬ ‫זאת‬‫בכל‬ ‫איך‬ ‫שורה‬ ‫בהדפסת‬ ‫נתחיל‬0‫לשורה‬ ‫ירידה‬ ‫עם‬ ,‫בלבד‬ ‫הדפסת‬ ‫אחרי‬ ‫חדשה‬6:‫השורה‬ ‫מספרי‬ int x=0; for (int y=0; y<6;y++) System.out.print(numbers[x][y] + “,”); System.out.println(); ‫הדפסת‬ ‫אחרי‬ ‫תתבצע‬ ‫חדשה‬ ‫לשורה‬ ‫הירידה‬ :‫לב‬ ‫נשים‬ 6.‫בלבד‬ ‫אחת‬ ‫פעם‬ ,‫כלומר‬ – ‫השורה‬ ‫מספרי‬
  • 23.
    ‫מלאה‬ ‫טבלה‬ ‫הדפסת‬ ‫וכדי‬,‫בבלוק‬ ‫השורה‬ ‫הדפסת‬ ‫הוראות‬ ‫את‬ ‫נסגור‬ ‫את‬ ‫להדפיס‬6‫עוד‬ ‫הבלוק‬ ‫על‬ ‫מבחוץ‬ ‫נפעיל‬ ,‫השורות‬ :‫לולאה‬ for (int x=0; x<6; x++) { for (int y=0; y<6;y++) System.out.print(numbers[x][y] + “,”); System.out.println(); } ‫השורות‬ ‫מספרי‬ ‫על‬ ‫מפקח‬ ‫יחידה‬ ‫שורה‬ ‫הדפסת‬ ‫מבצע‬ ‫בסוף‬ ‫חדשה‬ ‫לשורה‬ ‫ירידה‬ ‫עם‬
  • 24.
    ‫מבוקשת‬ ‫שורה‬ ‫מספרי‬‫סיכום‬ int sum=0; for (int y=0; y<6;y++( sum = sum + numbers[3][y[; System.out,println(sum(; ‫עבור‬ ,‫אחת‬ ‫בלולאה‬ ‫די‬ :‫לב‬ ‫נשים‬6‫השורה‬ ‫מספרי‬ .‫היחידה‬ ‫המבוקשת‬ ‫השורה‬ ‫מספר‬
  • 25.
    ‫מבוקשת‬ ‫עמודה‬ ‫מספרי‬‫סיכום‬ int sum=0; for (int x=0; x<6;x++( sum = sum + numbers[x][5[; System.out,println(sum(; .‫השורות‬ ‫מספרי‬ ‫עבור‬ – ‫אחת‬ ‫בלולאה‬ ‫די‬ ‫הפעם‬ ‫המבוקשת‬ ‫העמודה‬ ‫מספר‬