6 Months Free & No Setup Fees ASP.NET Hosting!
Skip Navigation Links
C# Corner Home
Forum Home
Latest 50
Unanswered
Win Prizes
All Time Leaders
Jump to CategoryExpand Jump to Category
Login 
    Welcome Guest!
 Search Forum For :  
X
 Login
Please login to submit a new post, reply and edit exiting posts, see user profiles, and access more features. If you are not a registered member, Register here.
User Id / Email:
Password:  
Forgot Password | Forgot UserName
   Home » General » Trying to figure out a method
       
Author Reply
Shaker AlSalem
posted 15 posts
since Feb 20, 2012 
from

Trying to figure out a method

  Posted on: 21 Feb 2012       
 A palindrome is a number or a text phrase that reads the same backwards as forwards. For example, each of the following five-digit integers is a palindrome: 12321, 55555, 45554 and 11611. Write a program that reads in a five-digit integer and determines whether it is a palindrome. [Hint: Use the division and modulus operators to separate the number into its individual digits.] Note: Although this exercise talks about a five digit number, think about any length for the number.

im not sure whats the method required here, im guessing it has to be divided by 10 or something, but how do you apply that on C#.
Thanks!
Frogleg
posted  831 posts
since  Aug 13, 2010 
from  Australia

 Re: Trying to figure out a method
  Posted on: 22 Feb 2012        0  
Since I used a textbox to enter the numbers, I left them as a string - you can convert them to integers as you need

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
string ss = textBox1.Text;

string str = ReverseString(ss);

if (str == ss)
{
MessageBox.Show("Palindrone");
}
else
{
MessageBox.Show("Not a Palindrone");
}

}

public string ReverseString(string s)
{
char[] arr = s.ToCharArray();
Array.Reverse(arr);
return new string(arr);
}

}
Vulpes
posted  5419 posts
since  Feb 28, 2011 
from 

 Re: Trying to figure out a method
  Posted on: 22 Feb 2012   Accepted Answer     0  
Well, I'd certainly use Frogleg's method in practice but I think what you're supposed to do is something like this which (as you surmised) does involve repeated division by 10 and finding the remainder:

using System;

class Program
{
    static void Main() 
    {
       int number = 0;

       while(true)
       {
          Console.Write("Please enter a five digit number or q to quit : ");
          string input = Console.ReadLine();
          
          if(input.Length > 0 && input.ToLower()[0] == 'q')
          {
             return;
          } 
          else if(input.Length != 5)
          {
             Console.WriteLine("Needs to be exactly five digits");
          }
          else if(!int.TryParse(input, out number))
          {
             Console.WriteLine("Not a valid number");
          }
          else
          {
             bool isPalindrome = IsPalindrome(number);
             if (isPalindrome)
                Console.WriteLine("{0:D5} is a palindrome", number);
             else
                Console.WriteLine("{0:D5} is not a palindrome", number);
             Console.WriteLine();
          }
        }  
      }

      static bool IsPalindrome(int number)
      {
          int[] digits = new int[5];
          int index = 4;
          while(index >= 0)
          {
             digits[index] = number % 10;
             number /= 10;
             index--;
          }

          if (digits[0] == digits[4] && digits[1] == digits[3]) return true;
          return false;
      }
         
}
Shaker AlSalem
posted  15 posts
since  Feb 20, 2012 
from 

 Re: Trying to figure out a method
  Posted on: 22 Feb 2012        0  
Much appreciated, thanks a lot guys!!
       
Team Foundation Server Hosting
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
6 Months Free & No Setup Fees ASP.NET Hosting!
 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Advertise with us
Current Version: 5.2011.3.12
 © 1999 - 2012  Mindcracker LLC. All Rights Reserved