ex1.2 רקורסיה במחרוזות


רקורסיה במחרוזות

בדיקת פלינדרום ברקורסיה

link

עליכם לממש פונקציה רקורסיבית בשם IsPalindromeString אשר מקבלת פרמטר אחד:

  1. str - מחרוזת לבדיקה

הפונקציה צריכה לבדוק באמצעות רקורסיה אם המחרוזת היא פלינדרום ולהחזיר:

  1. true - אם המחרוזת היא פלינדרום
  2. false - אם המחרוזת אינה פלינדרום

הגדרת פלינדרום

פלינדרום היא מחרוזת הנקראת באופן זהה מהתחלה לסוף ומהסוף להתחלה.

דרישות

  1. הפונקציה חייבת להיות רקורסיבית
  2. אין להשתמש בלולאות
  3. יש לטפל במקרי בסיס ובמקרה הרקורסיבי

הסרת תו מחרוזת באמצעות רקורסיה

link

עליכם לממש פעולה רקורסיבית בשם RemoveChar אשר מקבלת שני פרמטרים:

  1. str - המחרוזת המקורית
  2. ch - התו שיש להסיר מהמחרוזת

הפעולה צריכה להסיר את כל המופעים של התו ch מהמחרוזת str ולהחזיר את המחרוזת החדשה.

אלגוריתם רקורסיבי:

  1. מקרה הבסיס: אם המחרוזת ריקה, החזירו מחרוזת ריקה
  2. מקרה רקורסיבי:
  3. אם התו הראשון שווה לתו שיש להסיר, התעלמו ממנו והמשיכו עם שאר המחרוזת
  4. אחרת, הוסיפו את התו הראשון לתוצאה והמשיכו עם שאר המחרוזת

דגשים:

  1. הפעולה חייבת להיות רקורסיבית
  2. אל תשתמשו בלולאות
  3. השתמשו במתודות של מחרוזת כמו Substring() ו-Length

ספירת הופעות תו במחרוזת באמצעות רקורסיה

link

עליכם לממש פונקציה רקורסיבית בשם CountOccurrences אשר מקבלת שני פרמטרים:

  1. str - המחרוזת בה יש לחפש
  2. ch - התו שאותו יש לספור

הפונקציה צריכה להחזיר את מספר ההופעות של התו במחרוזת.

דרישות

  1. יש להשתמש ברקורסיה בלבד
  2. אין להשתמש בלולאות
  3. החתימה של הפונקציה: static int CountOccurrences(string str, char ch)

עקרונות הרקורסיה

  1. מקרה בסיס: מחרוזת ריקה - החזירו 0
  2. מקרה רקורסיבי: בדקו את התו הראשון והמשיכו עם שאר המחרוזת

היפוך מחרוזת באמצעות רקורסיה

link

עליכם לממש פונקציה בשם ReverseString אשר מקבלת פרמטר אחד:

  1. str - מחרוזת להיפוך

הפונקציה צריכה להחזיר את המחרוזת הפוכה באמצעות רקורסיה.

דגשים חשובים:

  1. הפונקציה חייבת להיות רקורסיבית
  2. מקרה הבסיס: מחרוזת ריקה או עם תו אחד
  3. במקרה הרקורסיבי: קחו את התו הראשון והעבירו אותו לסוף המחרוזת ההפוכה של השאר

טכניקת פתרון:

  1. אם המחרוזת ריקה או עם תו אחד - החזירו אותה כמו שהיא
  2. אחרת - החזירו את המחרוזת ההפוכה של כל התווים מהשני ואילך, בתוספת התו הראשון בסוף

ספירת תנועות במחרוזת במאצעות רקורסיה

link

עליכם לממש פונקציה רקורסיבית בשם CountVowels אשר מקבלת פרמטר אחד:

  1. str - מחרוזת לספירת התנועות

הפונקציה צריכה לספור ולהחזיר את מספר התנועות (a, e, i, o, u) במחרוזת באמצעות רקורסיה.

דרישות

  1. הפונקציה חייבת להיות רקורסיבית
  2. התנועות הן: a, e, i, o, u (אותיות קטנות)
  3. מקרה הבסיס: מחרוזת ריקה מחזירה 0
  4. במקרה הרקורסיבי: בדקו את התו הראשון והמשיכו עם שאר המחרוזת