עבור לתוכן

עזרה בפסקל- חיפוש תת מחרוזת במחרוזת

Featured Replies

פורסם

אני צריך שמישהו יבנה לי פונקציה שבודקת האם תת-מחרוזת כלשהי נמצאת במחרוזת אחרת, למשל האם במחרוזת ABCD נמצאת התת מחרוזת BC, התשובה היא כן, והפונקציה צריכה להחזיר את המקום שבוא מתחילה התת מחרוזת (אינטג'ר) או במקרה שלא נמצאה התת מחרוזת 0.

לפי ההצהרה הבאה:

function Pos (Sub:StringType; S:StringType):integer;

Sub היא התת מחרוזת, וS היא המחרוזת המקורית.

אם אי אפשר לבנות תפונקציה לפי ההצהרה שלמעלה - בלי האורך של התת מחרוזת אז אפשר להוסיף שהפונקציה גם מקבלת את אורך התת מחרוזת SubL ואורך המחרוזת .SL

פורסם

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

function Pos (Sub:StringType; S:StringType):integer
var
i:integer;
j:integer;
ans:integer;
StillGood:boolean;
begin
ans:=0;
i:=1;
while (i<=length(S)-length(Sub))and(ans=0) do
begin
StillGood := true;
j:=1;
while (StillGood) and (j<=length(Sub)) do
begin
StillGood:= (Sub[j]=S[j]);
j:=j+1;
end;
if (StillGood) then
ans :=i;
i=i+1;
end;
Pos:=ans;
end;

נמחקו כל הטאבים =\

פורסם

כן זה אכן עמור לעבוד אבל כך בחשבון כמה דברים

1. החשוב ביותר שולבו פה שורות מכל מיני שפות תיכנות

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

2. הפונקציה תחזיר את המקום שבו הופיע התת מחרוזת בפעם הראשונה

פורסם

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

פורסם

חחחחחחחחחחחחח

כל הכבוד על התיקון :xyxthumbs::yelclap:

פורסם
  • מחבר

תודה רבה D:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים