{CodeGate}

واروخوانه در سی شارپ (Palindrome in Csharp)

در این قسمت تیم کدگیت را با توضیح واروخوانه در سی شارپ (palindrome) همراهی کنید. پیش نیاز این آموزش آشنایی با حلقه و روش بازگشتی است.

واروخوانه (palindrome)

قلب مستوی یا جناس قلب، همچنین شناخته شده با نام واروخوانه که معادل فارسی ایست برای پالیندروم  (Palindrome) به واژه، جمله، عدد یا هر چیز دیگری گفته می‌شود که خواندن آن از چپ به راست یا از راست به چپ کاملاً یکسان باشد. به‌عنوان مثال عدد ۱۵۳۴۳۵۱ یک عدد واروخوانه است، یا واژه «Malayalam» که نام یکی از زبانهای محلی جنوب غربی هندوستان است ویا واژه “داد” از این قاعده پیروی می‌کنند(ویکیپدیا).

واروخوانه در سی شارپ

پیاده سازی واروخوانه در سی شارپ

پیاده سازی واروخوانه در سی شارپ به دو صورت انجام میگیرد.

  1. پیاده سازی با روش بازگشتی
  2. پیاده سازی غیر بازگشتی

در این جا ما هر دو روش را توضیح میدهیم.

برای پیاده سازی واروخوانه ما از یک رشته استفاده میکنیم به عنوان متنی برای بررسی واروخوانه بودن یا نبودن. سپس الگوریتم را بر روی رشته اجرا میکنیم. کد زیر الگوریتم غیر بازگشتی واروخوانه است.

ایده کلی کد بالا به این صورت است که ما رشته دریافتی را به صورت آرایه از کاراکتر در می آوریم. سپس دو متغیر به خانه اول و آخر آرایه اشاره میکند(low و high).حال تنها کاری که نیاز داریم این است که بررسی کنیم آرایه ما در خانه low و hight مقادیر برابری دارند یا خیر. بعد یک قدم به جلوتر میرویم و خانه های بعدی آرایه را بررسی میکنیم. تصویر زیر گویای کل مسئله است.

واروخوانه در سی شارپ

کد پیاده سازی بازگشتی واروخونه در سی شارپ در زیر آمده است.

از لحاظ مقدار کد این روش خیلی کوتاهتر است و ساده تر. در روش بازگشتی ما هر بار خانه اول و آخر را بررسی میکنیم و اگر با هم برابر بودند باید بقیه رشته نیز همین شرط (برابری کاراکتر اول و آخر) برقرار باشد و ما این کار را به صورت بازگشتی انجام میدهیم تا موقعی که طول رشته کوچکتر یا برابر با 1 شود.

تست برنامه

برای تست کدهای بالا کد main زیر را بزنید.

پسورد: www.codegate.ir

 

دسته : #c, حل مسائل با سی شارپ

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz