dcsimg

Palindrome Checking in C#

WEBINAR:
On-Demand

Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame


Introduction

A Palindromic number or string can be read in both directions. It's a form of word puzzle. A numeral Palindrome is a number which remains the same when its digits are reversed. The term palindromic is derived from Palindrome, which refers to a word whose spelling is unchanged when its letters are reversed.

Sample Application to Check Palindromic Features

To demonstrate Palindromic features, let's create a .NET console application. Add the following namespaces in the Program.cs file.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Following is the source code of the C# CheckPalindrome function to reverse a number and check if it is a Palindrome. The C# program is successfully compiled and executed with Microsoft Visual Studio. It first reverses a number; then, it checks if the given number and reversed numbers are equal. If they are equal, it's a Palindrome.

static void CheckPalindrome()
{

   int number, remind, sum = 0, temp;
   Console.WriteLine("\n >>>> Purpose of this Program <<<< ");
   Console.WriteLine("\n >>>> To Find a Number is a Palindrome
      or not <<<< ");
   Console.Write("\n Please Enter a number: ");
   number = Convert.ToInt32(Console.ReadLine());
   temp = number;
   while (number > 0)
   {
      remind = number % 10;
      number = number / 10;
      sum = sum * 10 + remind;

   }
   Console.WriteLine("\n The Reversed Number of the Original Number
      is: {0} \n", sum);
   if (temp == sum)
   {
      Console.WriteLine("\n Your Number is a Palindrome \n\n");
   }
   else
   {
      Console.WriteLine("\n Your Number is not a Palindrome \n\n");
   }
   Console.ReadLine();
   Console.Clear();
}

Similar to Palindrome number checking, we also can check if a string is a Palindrome or not. For that, you first need to reverse the string.

After that, use the equals() method or '==' to match the original string with the reversed version. If the result is true, that would mean the string is a Palindrome.

To check a Palindrome string, I have written the following StringPalindrome function.

static void StringPalindrome()
{
   string s, revs = "";
   Console.WriteLine("\n >>>> Purpose of this Program <<<< ");
   Console.WriteLine("\n >>>> To Find if a String is a Palindrome
      or not <<<< ");
   Console.WriteLine("\n Please Enter a string: ");
   s = Console.ReadLine();
   s = s.Trim();
   for (int i = s.Length - 1; i >= 0; i--)
   {
      revs += s[i].ToString();
   }
   if (revs == s)
   {
      Console.WriteLine("String is a Palindrome \n You have Entered
         the Following String {0} \n and the reverse string is {1}",
         s, revs);
   }
   else
   {
      Console.WriteLine("String is not a Palindrome \n You have
         Entered the Following String {0} \n and the reverse string
         is {1}", s, revs);
   }
   Console.ReadKey();
}

Finally, from the Main() method, both the CheckPalindrome and StringPalindrome functions are called.

namespace ProjectPalindrome
{
   class Program
   {
      static void Main(string[] args)
      {
         CheckPalindrome();
         StringPalindrome();
      }
   }
}

Conclusion

In this article, I have coded couple of simple C# methods to test for Palindromes. Many Palindromes are composed of multiple words and have spaces and punctuation. These can all be tested.

I hope you enjoyed reading the article. That's all for today; happy reading!



About the Author

Tapas Pal

I am working in Microsoft Technology for last 15 years and presently working with Cognizant Technology Solutions, India as Senior Architect. I have completed TOGAF 9.1,Microsoft Certification on .NET 1.1 , .NET 2.0, SQL Server 2005 and Sharepoint. Please visit my Blog - http://tapas-pal.blogspot.com/

Related Articles

Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date