מערך חד מימדי
Post on 05-Jan-2016
54 Views
Preview:
DESCRIPTION
TRANSCRIPT
מערך חד מימדי
חלק א
היכרות
דוגמא:תינוקות
בית חולים רוצה לבדוק:•
באיזה חודש נולדו הכי הרבה תינוקות?א-נחשב מקסימום מסדרת המספרים
באיזה חודש נולדו הכי מעט תינוקות?ב-נחשב מינימום מסדרת המספרים
באילו חודשים נולדו מספר תינוקות מעל ג-הממוצע?
איך נחשב באילו חודשים נולדו מספר תינוקות •מעל הממוצע?
נחשב את הממוצע סריקה ראשונה:–נסמן את החודשים מעל הממוצע סריקה שניה:–
איך ניסרוק את הנתונים פעמיים??•
יש צורך לשמור את הנתונים מהקלט מסקנה:•
ובו מספר התינוקות לכל מערך )טבלה( קלט:•חודש.
מה גודל המערך?•
פלט:•ממוצע תינוקות שנתי–מספר חודשים מעל הממוצע–מספר חודשים מתחת לממוצע–
babyמערך בשם 01234......9101112
2034504578210120150
כל איבר במערך מכיל מספר הלידות באותו חודשכל איבר מטיפוס שלם
פנייה לאיברים במערך: baby[1] 1מייצג לידות בחודש מסbaby[2] 2מייצג לידות בחודש מס
baby[12] 12מייצג לידות בחודש מס
בניית מערך דרך א
= שם ] [ טיפוסnew]גודל המערך[טיפוס ;
int [ ] marks = new int[27];
double [ ] hights = new double[123];
char[ ] signs = new char[19];
בניית מערך דרך ב שם ] [ טיפוס;הצהרה
= שםnew]גודל המערך[טיפוס ;בנייה
double [ ] hights;hights = new double[34];
char[ ] signs;signs = new char[19];
כללים
]מציין[שם המערך פנייה לאיבר במערך :•
איברים, nבמערך בעל •,0מציין התא הראשון
n-1מציין התא האחרון
כל איבר הוא משתנה לכל דבר•
אסור לחרוג מגבולות המערך !!!!•
Int [] arr = new int [5];הסברJAVAמימוש ב
arr[3] = in.nextInt;)( 3קליטת נתון לאיבר מספר במערך
for (int i=0;i<5; i++) arr[i] = in.nextInt;)(
קליטת נתונים לכל איברי המערך
System.out.print(arr[4]);-4הדפסת ערכו של האיבר ה
for (int i=0;i<5; i++) System.out.print(arr[i]);
הדפסת ערכם של כל איברי המערך בשורה אחת
דוגמאות נוספותהסברדוגמא
Student = arr[2]; משתנה Student מקבל את ערכו2של האיבר ה-
arr[2] = arr[2] + 4;-4 גדל ב 2האיבר ה
arr[4] = (int)(Math.randon()*10);-מקבל ערך אקראי בין 4האיבר ה 9 ל 0
arr[j] = arr[j+1]; -האיבר הJ מקבל את ערכו של האיבר שבא אחריו
arr[k] = arr[k] -1;- ערך האיבר הK 1 קטן ב
for (int i=0; i<5;i++) arr[i] = 0;
לולאה לאיתחול כל איברי המערך arr 0 ל
for (int i=0; i<5;i++) mult[i] = a[i] * b[i];
השמה של מכפלה איברי מערכים
a ,b למערךmult
גודל המערךגודל מערך תמיד שלם חיובי•
.>שם מערך<lengthפנייה לגודל מערך: •
maarach.length דוגמא:•
גודל מערך יכול להתקבל כקלט•
Int [] grades = new int [in.nextInt()]for (int I =0; i<grades.length; i++)
System.out.print(“ “+grades[i]);
אתחול איברי מערךInt [] arr = {1,2,3,4,5}; אתחול בשלב ההגדרה
Int [] arr = new int[20]; אתחול בפעולת קלט
for (int I =0; i<20; i++)arr[i] = in.nextInt();
Int [] arr = new int[20]; אתחול בפעולת השמה
for (int I =0; i<20; i++)arr[i] = 2*I;
11 עמ 1דוגמא
11 עמ 1טבלת מעקב דוגמא
11 עמ 2דוגמא
11 עמ 2טבלת מעקב דוגמא
12 עמ 3דוגמא פתורה
תלמידי ספורט בקפיצה לגובה20הישגי קלט :•
פלט:•
ממוצע ההישגיםא-
מספרים סידוריים של התלמידים מעל ב-הממוצע
מספר התלמידים מעל הממוצעג-
משתניםתחום ערכים
שם טיפוסהסבר
מערך מערך שמכיל נתוני קפיצות לגובה0-2.5מטיפוס
ממשי
heights
0-50.0
sumממשיסכום נתוני קפיצות לגובה
avgממשיממוצע ההשגים0-2.5iשלםמונה לולאה לסריקת המערך0-19מספר התלמידים שקפצו מעל 0-19
הממוצעaboveAvgשלם
;// double[] heights = new double[20] הגדרת המערך
double sum=0.0, avg; // הצהרות ואיתחול משתנים
int aboveAvg=0; System.out.println ("Enter jumps"); for (int i=0 ; i<heights.length ; i++) ( // לולאה לקריאת נתוני הקפיצות וסיכומם
heights[i] = in.nextDouble(); sum = sum+heights[i]; // סכום הקפיצות
//} for
avg=sum/20; // חישוב ממוצע הקפיצות
System.out.println ("The average of jumps is:" +avg); for (int i=0 ; i<heights.length ; i++) { // לולאה למציאת התלמידים מעל
הממוצע
if (heights[i]>avg) { aboveAvg++;
System.out.println("Student number "+(i+1)+" obove average"); }// if }// for System.out.println(aboveAvg + "students above average");
19 תר 19עמ
מכיל שלשות של מספריםaction מערך •
בכל שלשה:•:חיסור(2:חיבור, 1המספר הראשון מבטא פעולה )–הפעולה מתבצעת על המספרים השני והשלישי–
שומר את התוצאות result מערך •
משתניםשםטיפוסהסבר
Nשלם actionגודל מערך מערך של שומר על השלשות
שלמיםaction
מערך של שומר על התוצאותשלמים
result
ןשלם actionמציין עבור
Kשלם resultמציין עבור
אלגוריתם
actionקרא קלט לתוך מערך • בצע:actionעבור כל שלשה במערך •
: חבר את השני והשלישי 1אם המספר הראשון –resultוהכנס למערך
אחרת: חסר את השני והשלישי והכנס למערך –result
int N=18; int[] action = new int[N]; int[] result = new int[N/3]; int i, k=0; for(i=0 ; i<N; i++) // action קרא קלט לתוך מערך
action[i] = in.nextInt(); for(i=0 ; i<N; i+=3) // action עבור כל השלשות ב
{ if (action[i] == 1) // פעולת חיבור
result[k] = action[i+1]+action[i+2]; else // פעולת חיסור
result[k] = action[i+1]-action[i+2]; k++;; }
14 עמ 4דוגמא פתורה
לקרוא בבית14 עמ :4דוגמא פתורה •
1-8 תר 15-17תרגיל כיתה עמ •
18-19 עמ 13-20, 17 עמ 9-11ש"ב: •
top related