מימוש STRSTR בעזרת CPP

cppcpp

New member
מימוש STRSTR בעזרת CPP

אני רוצה לבנות את הקוד הזה בעזרת משחקים עם מצביעים
הכל בסדר רק חסר לי פיתרון בעיה אחת
הרי יכול להיות שהמחרוזת שלי היא
aaabc
ואני רוצה לבדוק
aab
בהתחלה אבדוק תא ראשון מול ראשון V ולכן אתקדם
שני מול שני V ואתקדם
השלישי לא נכון ,
עכשיו אני לא יכול רק לאפס את מחרוזת הבדיקה מההתחלה, ולהמשיך או להישאר באותו מקום במחרוזת הגדולה
הרי המחרוזת הקטנה מתחילה מהתא השני במחרוזת הגדולה

חסר לי פתרון לזה
תודה
 

BravoMan

Active member
strstr אמורה להחזיר את המקום

שבו נמצאה המחרוזת שאתה מחפש בתוך המחרוזת ה-"גדולה".
לכן, בכל פעם שאתה מוצא את התו הראשון, אתה צריך לזכור היכן מצאת אותו.
&nbsp
גם כי תצטרך לחזור לשם ולהמשיך לחפש מהתו הבא אם יש רק התאמה חלקית, כמו בדוגמה שלך, וגם כי תצטרך בסוף להחזיר את המקום הזה אם ההתאמה היא מלאה.
&nbsp
שים לב, שהמחרוזת שבתוכה מחפשים אינה בהכרח "גדולה".
אם אתה רוצה לעשות את התרגיל ברצינות, אתה צריך להתחשב במקרה קצה, כמו שמחרוזת שבתוכה מחפשים תהיה צרה יותר ממחרוזת שמחפשים, או שאחת המחרוזות תהיה ריקה.
 

פרסאוס

New member
בלי אופטימיזציה

אתה מתחיל מ0 ובודק כל פעם את אורך מחרוזת הבדיקה.
מפה מקדמים רק ב1.
 
למעלה