কম্পিউটার টিউটোরিয়াল

সি-তে পয়েন্টার ব্যবহার করে স্ট্রিং প্যালিনড্রোম চেক করা


মনে করুন আমাদের একটি স্ট্রিং s আছে। আমাদের চেক করতে হবে দেওয়া স্ট্রিংটি প্যালিনড্রোম কিনা। আমাদের এই সমস্যাটি সি-তে পয়েন্টার ব্যবহার করে সমাধান করতে হবে।

তাই, যদি ইনপুট হয় s = "racecar", তবে আউটপুট হবে True।

এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব −

  • length := স্ট্রিংয়ের সাইজ
  • forward := স্ট্রিং-এর প্রথম ক্যারেক্টার নির্দেশ করছে
  • reverse := স্ট্রিং-এর শেষ ক্যারেক্টার নির্দেশ করছে
  • reverse-এর পজিশন >= forward-এর পজিশন পর্যন্ত, করুন
    • যদি reverse নির্দেশিত ক্যারেক্টার forward নির্দেশিত ক্যারেক্টারের সমান হয়, তবে
      • forward বাড়ান এবং reverse কমান ১ করে
    • অন্যথায়
      • লুপ থেকে বের হোন
  • যদি forward-এর পজিশন >= reverse-এর পজিশন হয়, তবে
    • True রিটার্ন করুন
  • False রিটার্ন করুন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন −

উদাহরণ

#include <stdio.h> #include <string.h> int solve(char *string){    int length;    char *forward, *reverse;    length = strlen(string);    forward = string;    reverse = forward + length - 1;    for (forward = string; reverse >= forward;) {       if (*reverse == *forward) {          reverse--;          forward++;       } else          break;    } if (forward > reverse)       return 1;    else       return 0; } int main(){    char string[] = "racecar";    printf("%d", solve(string)); }

ইনপুট

"racecar"

আউটপুট

1

  1. C প্রোগ্রাম: রিকার্শন ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা চেক করা

  2. সি++ STL ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা তা যাচাই করার প্রোগ্রাম

  3. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা

  4. Python-এ স্ট্রিং প্যালিনড্রোম (Palindrome) কিনা চেক করা