نمایش نتایج 1 تا 3 از 3

نام تاپیک: PoEx معکوس؟

  1. #1
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    PoEx معکوس؟

    سلام
    میخوام یک رشته رو در رشته دیگه رو به ابتدای رشته جستجو بدم. مثلا موقعیت CDE رو قبل از بایت 4 در رشته ABCDEF جستجو بدم.
    راه ساده اش این هست:
    function RevPosEx(SubS,S:String;P:Word):Word;
    Var
    I,L:Word;
    begin
    Result:=0;
    L:=Length(SubS);
    For I:=P-1 DownTo 1 Do
    If Copy(S,I,L)=SubS then
    Begin
    Result:=I;
    Break;
    End;
    end;

    اما این روش کندترین روش هست. بهترین روش جستجوی معکوس رشته کوچک در معکوس رشته بزرگ است.
    اما در موقعیت یابی شروع جستجو و برگردوندش به موقعیت در رشته معکوس نشده گیج میشم.
    یک تابع نوشتم. دیدم گاهی درست کار نمی کنه.می دونم انجام تکلیف محسوب میشه ولی اگر لطف کنید ، ممنون میشم.

  2. #2

    نقل قول: PoEx معکوس؟

    سلام.
    رشته رو ReverseString کن بعد سرچ کن
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    نقل قول: PoEx معکوس؟

    سلام
    این رو می دونم. فقط در پیدا کردن محل شروع جستجو و دوبار معکوس کردنش گیج شدم.
    این کد رو نوشتم:
    function TForm1.RevPosEx2(SubS,S:String;P:Word):Word;
    Var
    I,L,L2:Word;
    begin
    Result:=0;
    SubS:=ReverseString(SubS);
    S:=ReverseString(S);
    L:=Length(SubS)-1;
    L2:=Length(S)+1;
    P:=P-1+L;
    If P>Length(S) then
    P:=1
    Else
    P:=L2-P;
    P:=PosEx(SubS,S,P);
    If P=0 then
    Exit;
    P:=P+L;
    Result:=L2-P;
    end;

    یک TEdit روی فرم گذاشتم.و اینطور امتحان کردم:
    ShowMessage(IntToStr(RevPosEx(Edit1.Text,'ABCDE',5  ))+#13+IntToStr(RevPosEx2(Edit1.Text,'ABCDE',5)));

    نتیجه دو تابع یکسان بود.اما هنوز مطمئن نیستم.
    نمی دونم چرا میگند انسان از کامپیوتر باهوشتره!!
    آخرین ویرایش به وسیله mbshareat : سه شنبه 05 دی 1402 در 17:50 عصر

تاپیک های مشابه

  1. سوال: شبیه سازی حرکت چرخ ماوس؟
    نوشته شده توسط mbshareat در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: دوشنبه 29 خرداد 1391, 21:04 عصر
  2. سوال: فرمت سلول تاریخ در گرید جانوس؟
    نوشته شده توسط Reza798 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 09 بهمن 1390, 14:18 عصر
  3. سوال در مورد خروجی به اکسل در گرید جانوس؟
    نوشته شده توسط نیما حتمی در بخش C#‎‎
    پاسخ: 0
    آخرین پست: چهارشنبه 20 بهمن 1389, 15:18 عصر
  4. سوال: اجراي وقفه هاي موس؟
    نوشته شده توسط pas-clasic در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 0
    آخرین پست: پنج شنبه 07 آذر 1387, 19:44 عصر
  5. یه تابع API برای در اختیار گرفتن فوکوس؟
    نوشته شده توسط VB6.0 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: سه شنبه 18 آذر 1382, 13:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •