Avital-Pikovsky / Phonetic-search

Program that search a string phonetically in another string - first assignment in CPP course.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

חיפוש פונטי

התקבלתם לעבודה במשרדו של חוקר פרטי, והמשימה הראשונה שקיבלתם היא לעבור על תמלילים של שיחות טלפון באנגלית ולחפש שם מילים חשודות.

הבעיה היא, שמי שתימלל את שיחות הטלפון עשה הרבה שגיאות כתיב. בפרט, הוא החליף (לפעמים) בין האותיות:

  • v, w
  • b, f, p
  • g, j
  • c, k, q
  • s, z
  • d, t
  • o, u
  • i, y

והפך (לפעמים) אותיות קטנות לגדולות או להיפך.

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

למשל: נניח שהטקסט המתומלל הוא: "Dond vorri be haffy".

אם המילה שצריך לחפש היא "dont" אז הפלט יהיה "Dond" - זו אותה מילה רק עם חילוף של t ב-d וחילוף של אות גדולה בקטנה.

שימו לב - המתמלל לא תמיד טועה, הוא טועה רק מדי פעם. למשל, אם המילה שמחפשים היא "be" אז הפלט יהיה "be" - זו אותה מילה בדיוק - בלי שגיאות.

ניתן להניח שבמחרוזת יש רק אותיות אנגליות גדולות וקטנות, ורווחים (ללא סימני פיסוק). יש לחפש רק מילים שלמות.

אם המילה שמחפשים לא נמצאת בטקסט - יש לזרוק חריגה.

כדי לראות איך הפונקציה אמורה לעבוד, ראו בקובץ Demo.cpp המצורף.

בפרט, עליכם לכתוב את הקבצים הבאים:

  • PhoneticFinder.hpp - כותרת לפונקציה.
  • PhoneticFinder.cpp - מימוש של הפונקציה .
  • Test.cpp - בדיקות-יחידה בפורמט doctest. יש לכתוב בדיקות מפורטות ולהתייחס למקרי קצה.
    • ניתן לראות דוגמה לבדיקות בקובץ TestExample.cpp, אבל יש לכתוב הרבה בדיקות נוספות.

שימו לב! אין לשנות קבצים קיימים, אלא רק להוסיף קבצים חדשים.

About

Program that search a string phonetically in another string - first assignment in CPP course.


Languages

Language:C++ 99.1%Language:Shell 0.8%Language:Makefile 0.1%