Download presentation
Presentation is loading. Please wait.
Published byEssence Coulbourne Modified over 9 years ago
1
מבוא למדעי המחשב לתעשייה וניהול דוגמאות ותרגול נוסף במערך חד ממדי הרצאה 12
2
2 תרגיל 1 – הפיכת סדר איברים במערך נרצה להפוך את סדר הערכים במערך נראה שני פתרונות 1. שימוש במערך עזר 2. הפיכה בתוך המערך עצמו
3
הפיכת מערך בעזרת מערך עזר 0 1 2 3 4 245 arr 9 7 המערך לפני : 975 arrhelp 2 4 מערך עזר 975 arr 2 4 המערך אחרי :
4
קוד פתרון 1 – מערך עזר Sub Main() Dim arr() As Single = {1, 2, 3, 4, 5, 6} Dim arrhelp(arr.Length()) As Single For i = 0 To arr.Length - 1 arrhelp(i) = arr(arr.Length - i - 1) Next For i = 0 To arr.Length - 1 arr(i) = arrhelp(i) Next For i = 0 To arr.Length - 1 Console.Write(arr(i) & ", ") Next End Sub
5
הפיכת מערך בתוך המערך עצמו ( ללא מערך עזר ) 245 arr 9 7 temp 245 arr 2 7 945 2 7 9 945 2 4 7 975 2 4 5 ההחלפה הסתיימה !
6
6 פתרון 2 – הפיכת סדר איברים במערך עצמו Sub Main() Dim arr() As Single = {1, 2, 3, 4, 5, 6} Dim temp As Single For i = 0 To arr.Length \ 2 temp = arr(arr.Length - 1 - i) arr(arr.Length - 1 - i) = arr(i) arr(i) = temp Next For i = 0 To arr.Length - 1 Console.Write(arr(i) & ", ") Next End Sub שימו לב לגבולות !
7
פתרון 3 – פונקציה להפיכת סדר איברים במערך עצמו Sub swapArray(ByRef arr() As Single) Dim temp As Single For i = 0 To arr.Length \ 2 temp = arr(arr.Length - 1 - i) arr(arr.Length - 1 - i) = arr(i) arr(i) = temp Next End Sub Sub Main() Dim arr() As Single = {1, 2, 3, 4, 5, 6} swapArray(arr) For i = 0 To arr.Length - 1 Console.Write(arr(i) & ", ") Next End Sub
8
ByVal ByRef עם מערכים – זהירות !!! Sub swapArray(ByVal arr() As Single) Dim temp As Single For i = 0 To arr.Length \ 2 temp = arr(arr.Length - 1 - i) arr(arr.Length - 1 - i) = arr(i) arr(i) = temp Next End Sub Sub Main() Dim arr() As Single = {1, 2, 3, 4, 5, 6} swapArray(arr) For i = 0 To arr.Length - 1 Console.Write(arr(i) & ", ") Next End Sub כאשר מעבירים פרמטר של מערך ByVal ומשנים ערכים בתוך המערך, הערכים במערך משתנים גם מחוץ לפונקציה. ( כמובן גם כשנעביר byRef )
9
9 תרגיל 2 – כתיבת פונקציה המרכיבה שני מערכים פונקציה addArray מרכיבה מערך למערך אם הם באורך זהה מחזירה מערך שמכיל את סכום המערכים אם לא מחזירה מערך שמלא ב 1- Function addArray(ByVal arr1() As Integer, ByVal arr2() As Integer) As Integer()
10
10 פתרון תרגיל 2 – כתיבת פונקציה המרכיבה שני מערכים Function addArray(ByVal arr1() As Integer, ByVal arr2() As Integer) As Integer() Dim arrBoth(arr1.Length - 1) As Integer If arr1.Length = arr2.Length Then For i = 0 To arr1.Length - 1 arrBoth(i) = arr1(i) + arr2(i) Next Else For i = 0 To arr1.Length - 1 arrBoth(i) = -1 Next End If Return arrBoth End Function
11
11 המשך פתרון תרגיל 2 – קריאה לפונקציה Sub Main() Dim arrA() As Integer = {1, 2, 3, 4, 5, 6} Dim arrB() As Integer = {10, 20, 30, 40, 50} Dim arrC() As Integer arrC = addArray(arrA, arrB) If (arrC(0) <> -1) Then For i = 0 To arrC.Length - 1 Console.Write(arrC(i) & ", ") Next Else Console.WriteLine("error, arrays different length") End If End Sub
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.