(א)נתונה הפעולה Why המקבלת מערך של מספרים שלמים:
```csharp
public static void Why (int[] arr){
int[] temp = new int[arr.Length];
int k = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] < 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
if (arr[i] >= 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
arr[i] = temp[i];
}
```
1. נתון מערך `int[] arr = {12, 0, -344, -46, 670, 0};`. מה יהיה תוכן המערך אחרי זימון הפעולה Why(arr)?
2. מה מבצעת הפעולה Why באופן כללי?
```csharp
public static void Why (int[] arr){
int[] temp = new int[arr.Length];
int k = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] < 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
if (arr[i] >= 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
arr[i] = temp[i];
}
```
1. נתון מערך `int[] arr = {12, 0, -344, -46, 670, 0};`. מה יהיה תוכן המערך אחרי זימון הפעולה Why(arr)?
2. מה מבצעת הפעולה Why באופן כללי?
(ב)נתונה הפעולה What המקבלת מערך מספרים שלמים:
```csharp
public static void What (int[] arr){
int start = 0;
int end = arr.Length - 1;
while (start < end)
{
if (arr[start] > 0)
start ++;
else if (arr[end] >= 0)
end --;
else
{
int temp = arr[end];
arr[end] = arr[start];
arr[start] = temp;
}
}
}
```
1. נתון מערך `int[] arr = {123, -45, -678, 12, -345, 67};`. מה יהיה תוכן המערך אחרי זימון הפעולה What(arr)?
2. תנו דוגמה למערך brr בגודל של חמישה תאים, כך התוכן של המערך לא ישתנה אחרי ביצוע הפעולה what(brr).
3. מה מבצעת הפעולה What באופן כללי?
```csharp
public static void What (int[] arr){
int start = 0;
int end = arr.Length - 1;
while (start < end)
{
if (arr[start] > 0)
start ++;
else if (arr[end] >= 0)
end --;
else
{
int temp = arr[end];
arr[end] = arr[start];
arr[start] = temp;
}
}
}
```
1. נתון מערך `int[] arr = {123, -45, -678, 12, -345, 67};`. מה יהיה תוכן המערך אחרי זימון הפעולה What(arr)?
2. תנו דוגמה למערך brr בגודל של חמישה תאים, כך התוכן של המערך לא ישתנה אחרי ביצוע הפעולה what(brr).
3. מה מבצעת הפעולה What באופן כללי?
(ג)האם קיים מערך crr בגודל של שישה תאים, שעבורו שני זימונים Why(crr) ו-What(crr) יביאו לאותן תוצאות? אם כן – תנו דוגמה של המערך crr, אם לא – הסבר למה.
(ד)מה הן סיבוכיות זמן הריצה של הפעולות What ו-Why?
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות