4 תשובות
גם קוף יכול לכתוב בפייתון אתם לא עוזרים
תשלח לצאט ציפיטי
תשלח לצאט ציפיטי
אם עדיין צריך אני יכולה בפייתון
אנונימית
קצת התהפכו הצדדים בגלל העבירת והאנגלית, מקווה שזה בסדר
### **תוכנית 1 הפיכת מערך באמצעות רקורסיה**
'''csharp
using system;
class program
{
static void reversearray(int[] arr, int start, int end)
{
if (start >= end)
return;
// החלפת הערכים
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// קריאה רקורסיבית
reversearray(arr, start + 1, end - 1);
}
static void main()
{
int[] arr = { 1, 2, 3, 4, 5 };
reversearray(arr, 0, arr.length - 1);
console.writeline("המערך ההפוך: " + string.join(", ", arr));
}
}
'''
**הסבר:**
הפעולה 'reversearray' מקבלת את המערך ואת האינדקסים של ההתחלה והסוף, ומבצעת החלפה בין האיברים הקיצוניים, ואז קוראת לעצמה באופן רקורסיבי עם גבולות מצומצמים עד שמגיעים לאמצע.
---
### **תוכנית 2 חישוב ממוצע ספרות מספר באמצעות רקורסיה**
'''csharp
using system;
class program
{
static double averagedigits(int num, int sum = 0, int count = 0)
{
if (num == 0)
return count == 0 ? 0 : (double)sum / count;
return averagedigits(num / 10, sum + (num % 10), count + 1);
}
static void main()
{
int num = 12345;
double average = averagedigits(num);
console.writeline($"ממוצע ספרות המספר {num} הוא: {average}");
}
}
'''
**הסבר:**
הפעולה 'averagedigits' מקבלת מספר שלם ומחשבת את סכום הספרות ואת כמותן תוך כדי רקורסיה. כשמגיעים ל-0, מחזירים את הממוצע ('sum / count').
הקריאה הרקורסיבית נעשית על 'num / 10' תוך כדי צבירת סכום הספרות וספירתן.
### **תוכנית 1 הפיכת מערך באמצעות רקורסיה**
'''csharp
using system;
class program
{
static void reversearray(int[] arr, int start, int end)
{
if (start >= end)
return;
// החלפת הערכים
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// קריאה רקורסיבית
reversearray(arr, start + 1, end - 1);
}
static void main()
{
int[] arr = { 1, 2, 3, 4, 5 };
reversearray(arr, 0, arr.length - 1);
console.writeline("המערך ההפוך: " + string.join(", ", arr));
}
}
'''
**הסבר:**
הפעולה 'reversearray' מקבלת את המערך ואת האינדקסים של ההתחלה והסוף, ומבצעת החלפה בין האיברים הקיצוניים, ואז קוראת לעצמה באופן רקורסיבי עם גבולות מצומצמים עד שמגיעים לאמצע.
---
### **תוכנית 2 חישוב ממוצע ספרות מספר באמצעות רקורסיה**
'''csharp
using system;
class program
{
static double averagedigits(int num, int sum = 0, int count = 0)
{
if (num == 0)
return count == 0 ? 0 : (double)sum / count;
return averagedigits(num / 10, sum + (num % 10), count + 1);
}
static void main()
{
int num = 12345;
double average = averagedigits(num);
console.writeline($"ממוצע ספרות המספר {num} הוא: {average}");
}
}
'''
**הסבר:**
הפעולה 'averagedigits' מקבלת מספר שלם ומחשבת את סכום הספרות ואת כמותן תוך כדי רקורסיה. כשמגיעים ל-0, מחזירים את הממוצע ('sum / count').
הקריאה הרקורסיבית נעשית על 'num / 10' תוך כדי צבירת סכום הספרות וספירתן.
אני יכול בpython
באותו הנושא: