ideas | discover | explore

Showing posts with label Free Tutorials. Show all posts
Showing posts with label Free Tutorials. Show all posts

Saturday, January 12, 2013

C# 18 – String Manipulation – Creating a Palindrome Checker


---------------------------------------------------------------------------------------------------------------------------
Manage and share your stuff!
or
---------------------------------------------------------------------------------------------------------------------------


In this tutorial we will be doing some string manipulation by creating a program called Palindrome Checker that will determine if a word or a string of letters is a palindrome.

Before we proceed we need to know what is the meaning of a palindrome.

What is a palindrome? According to Wikipedia:
“A palindrome is a word, phrase, number, or other sequence of units that may be read the same way in either direction, with general allowances for adjustments to punctuation and word dividers.”

Which means a word is read the same whether it’s in normal order or in reversed order.
e.g. 
kayak
nissin
madam

Ok let’s begin.

1.     Create a new console project.
2.     Add the following code inside of class Program.

static void Main(string[] args)
       {
            string input;

            Console.WriteLine("Welcome to Palindrome Checker");
            Console.WriteLine("- The software will check if your input is a palindrome. -");
            Console.WriteLine("");
            Console.Write("Enter a string: ");
            input = Console.ReadLine();

            if (IsPalindrome(input))           
                Console.WriteLine(input + " is a palindrome.");
            else
                Console.WriteLine(input + " is a not palindrome.");

            Console.WriteLine("");
            Console.WriteLine("Press any key to exit.");

            Console.ReadLine();
        }

---------------------------------------------------------------------------------------------------------------------------
Manage and share your stuff!
or
---------------------------------------------------------------------------------------------------------------------------


        private static bool IsPalindrome(string input)
        {
            string reverse = "";

            for (int i = input.Length-1; i >= 0; i--)
            {
                reverse = reverse + input[i];
            }
           

            if (input.Equals(reverse))
                return true;

            return false;
        }

3.     Press F5 to run the program. You output should be something similar below.


You have noticed in the output above that I entered the word “kayak” and pressed Enter. After that the result is shown which is “kayak is a palindrome” in this example.

What we will try to focus our attention now is for this function.

private static bool IsPalindrome(string input)
{
string reverse = "";

       for (int i = input.Length-1; i >= 0; i--)
       {
              reverse = reverse + input[i];
       }
            
       if (input.Equals(reverse))
              return true;

return false;
}

This is the main function that checks if a given string is a palindrome. It creates a variable ‘reverse’ that will hold the reversed string. It enters a loop which starts at the end of the string and then moves backwards one character at a time and stores that character to the ‘reverse’ variable.

After the reversal is complete the next step is to check whether the ‘input’ string is indeed equal to the ‘reverse’ string. If they are equal then the function should return true or false if its not.

Hope you enjoyed our simple and quick tutorial.

Be happy and keep coding!

---------------------------------------------------------------------------------------------------------------------------
Manage and share your stuff!
or
---------------------------------------------------------------------------------------------------------------------------

Wednesday, July 4, 2012

C# 17 - Bubble Sort


Implementing a sort using insertion sort algorithm.

1. Create a new console project.
2. Edit the Program.cs inside static void Main(string[] args) file as shown below.

static void Main(string[] args)
{
     int[] array = { 2, 3, 1, 9, 4, 7, 5, 8, 6, 10, 20, 12, 18, 11, 15, 16 };
          Console.Write("Before sort: ");
          PrintArray(array);
          Console.WriteLine();
          BubbleSort(array);
          Console.Write("After sort: ");
          PrintArray(array);
          Console.ReadLine();
}

private static void BubbleSort(int[] array)
{
     int temp;
     for (int i = array.Length; i >= 0 ; i--)
     {                
          for (int x = 0; x < array.Length - 1; x++)
          {
               if (array[x] > array[x + 1])
               {
                    temp = array[x];
                    array[x] = array[x + 1];
                    array[x + 1] = temp;
                }
           }
       }
}

private static void PrintArray(int[] array)
{
     for (int i = 0; i < array.Length; i++)
     {
          Console.Write(array[i] + " ");
     }

Thursday, June 28, 2012

C# 15 - Selection sort

Implementing a sort using selection sort algorithm.

1. Create a new console project.
2. Edit the Program.cs inside static void Main(string[] args) file as shown below.

static void Main(string[] args)
{
    int[] array = { 3, 2, 1, 4, 8 };
    Console.Write("Before sort: ");
    PrintArray(array);
    Console.WriteLine();
    SelectionSort(array);
    Console.Write("After sort : ");
    PrintArray(array);
    Console.WriteLine();

    Console.ReadLine();

}

private static void SelectionSort(int[] sortArray)
{
    int smallest = 0;
    int smallestIndex = 0;

     /* advance the position through the entire array */
     /*   (could do i < n-1 because single element is also min element) */
     for (int i = 0; i < sortArray.Length; i++)
     {
          smallest = sortArray[i];//the smallest value is at index 0
          smallestIndex = i;//store the index of the smallest value

           //find the index of the smallest value
                for (int x = i + 1; x < sortArray.Length; x++)
                {
                    if (sortArray[x] < sortArray[i])
                        smallestIndex = x;
                }

                //swap/exchange the smallest value found with last index
                sortArray[i] = sortArray[smallestIndex];
                sortArray[smallestIndex] = smallest;
            }
        }


private static void PrintArray(int[] array)
{
     for (int i = 0; i < array.Length; i++)
     {
          Console.Write(array[i] + " ");
     }
}


3. Press F5 to run and see the results.


4. Thank you.

Reference(s):
http://en.wikipedia.org/wiki/Selection_sort
http://www.sorting-algorithms.com/selection-sort

Wednesday, June 27, 2012

C# 13 - Find the smallest value in an array


1. Create a new console project.
2. Edit the Program.cs inside static void Main(string[] args) file as shown below.

static void Main(string[] args)
        {
            int[] array = { 3, 2, 1, 4, 8 };
            PrintArray(array);
            Console.WriteLine("Smallest Value: " + GetSmallestValue(array));

            Console.ReadLine();
        }


private static int GetSmallestValue(int[] array)
        {
            int smallest = array[0];

            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] < smallest)
                    smallest = array[i];
            }

            return smallest;
        }

private static void PrintArray(int[] array)
        {
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i] + " ");
            }
            Console.WriteLine();
        }



3. Press F5 to run and see the results.

4. Thank you.

Thursday, November 24, 2011

C# 13 - Collections - Todo List


1. Create a new console project. 
2. Edit the Program.cs to look like as shown below.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace TodoList
{
    class Program
    {
        private static List<string> todolist = new List<string>();
 
        static void Main(string[] args)
        {            
            string menuOption;
            bool exitApplication = false;
 
            do
            {
                Console.WriteLine("===========================");
                Console.WriteLine("Welcome to your Todo List.");
                Console.WriteLine("===========================");                
                Console.WriteLine("[1] Show Todo List");
                Console.WriteLine("[2] Add a new Todo");
                Console.WriteLine("[3] Delete a Todo");
                Console.WriteLine("[4] Exit");
                Console.Write("What do you want to do? ");
                menuOption = Console.ReadLine();
 
                switch(menuOption)
                {
                    case "1":
                        Console.WriteLine("---------------------------");
                        ShowTodoList();
                        Console.WriteLine("---------------------------");
                        break;
                    case "2":
                        Console.WriteLine("---------------------------");
                        AddNewTodo();
                        Console.WriteLine("---------------------------");
                        break;
                    case "3":
                        Console.WriteLine("---------------------------");
                        DeleteATodo();
                        Console.WriteLine("---------------------------");
                        break;
                    case "4":
                        Console.WriteLine("---------------------------");
                        Console.WriteLine("Exit");
                        Console.WriteLine("---------------------------");
                        exitApplication = true;
                        break;
                    default:
                        Console.WriteLine("Invalid option");
                        break;
                }                
 
            } while (!exitApplication);
        }
 
        private static void DeleteATodo()
        {
            string todoNumberInput;
            int todoNumber;
 
            ShowTodoList();
            Console.Write("What Todo do you want to delete? ");
            todoNumberInput = Console.ReadLine();
 
            if (Int32.TryParse(todoNumberInput, out todoNumber))
            {
                if (todoNumber > todolist.Count)
                    Console.WriteLine("Todo does not exist.");
                else
                    todolist.RemoveAt(todoNumber);
            }
            else
            {
                Console.WriteLine("Input must be a number");
            }
        }

 
        private static void AddNewTodo()
        {
            string newTodo;
 
            Console.Write("What will you be doing? ");
            newTodo = Console.ReadLine();
            todolist.Add(newTodo);
        }
 
        private static void ShowTodoList()
        {
            int todoNumber = 1;
 
            if (todolist.Count == 0)
            {
                Console.WriteLine("Your Todo list is empty");
            }
            else
            {
                foreach (string todo in todolist)
                {
                    Console.WriteLine("[" + todoNumber + "] " + todo);
                    todoNumber++;
                }
            }
        }
        
    }
}

3. Press F5 to run and see the results.


4. Thank you.

Learn more about Collections.




Friday, October 28, 2011

C# 12 - Multidimensional Arrays - Multiplication Table

Manage and share your stuff. Sign up now for FREE!
meestuf.com

-----------------------------------------------------------------------------------------------------

1. Create a new console project.

2. Edit the Program.cs inside static void Main(string[] args) file as shown below.
static void Main(string[] args)
        {
            int[,] multiplicationTable = new int[11,11];
 
            for (int i = 1; i < 11; i++)
                for (int x = 1; x < 11; x++)
                    multiplicationTable[i, x] = i * x;
 
            Console.Write("x".PadRight(3) + "|");
            for (int i = 1; i < 11; i++)
            {
                Console.Write(i.ToString().PadRight(3) + "|");
            }
            Console.Write("\n");
            Console.WriteLine("--------------------------------------------");
 
            for (int i = 1; i < 11; i++)
            {
                Console.Write(i.ToString().PadRight(3) + "|");
                for (int x = 1; x < 11; x++)
                {
                    Console.Write(multiplicationTable[i, x].ToString().PadRight(3) + "|");
                }
                Console.Write("\n");
                Console.WriteLine("--------------------------------------------");
            }
 
            Console.ReadLine();
       }       

3.       Press F5 to run and see the results.


4. Thank you.

Rectangular array is another type of array that allows you to define a table like array that has a row and column definition.

Syntax:

type[,] = new type[row,column];

type – can be any data type
row – is the number of rows for your table
column – is the number of columns for your table

e.g.
                int[,] mytable = new int[10, 5];

-----------------------------------------------------------------------------------------------------
Manage and share your stuff. Sign up now for FREE!
meestuf.com

Thursday, October 13, 2011

C# 11 - Arrays

An array of sorts.

1. Create a new console project.
2. Edit the Program.cs inside static void Main(string[] args) file as shown below.
static void Main(string[] args)
{
     //declaring and initializing an array
     string[] theAvengers = new string[5];
     theAvengers[0] = "Iron Man";
     theAvengers[1] = "Thor";
     theAvengers[2] = "Captain America";
     theAvengers[3] = "Hawkeye";
     theAvengers[4] = "Hulk";
 
     Console.WriteLine("The Avengers!");
     Console.WriteLine("-------------------------");
     //loop through an array to access or modify its contents
     for (int i = 0; i < 5; i++)
     {
         Console.WriteLine(theAvengers[i]);
     }
 
     //another way of declaring and initializing an array
     //also another way is
    //string[] uncannyXMen = new string[] { "Wolverine", "Prof. X", "Cyclops", "Storm", "Beast" };
     string[] uncannyXMen = { "Wolverine""Prof. X""Cyclops""Storm""Beast" };
             
     Console.WriteLine("\nThe X-Men!");
     Console.WriteLine("-------------------------");
     //loop through an array to access in contents
     for (int i = 0; i < uncannyXMen.Length; i++)
     {
          Console.WriteLine(uncannyXMen[i]);
     }
 
     Console.WriteLine("Press any key to continue...");
     Console.ReadLine();
}

3. Press F5 to run and see the results.

4. Thank you.

Declaring an array allows you to store multiple items of a specific type. It syntax is:

type[] arrayName;

To learn more about arrays check these resources.

Thursday, October 6, 2011

C# 9 - while-loop statement

1. Create a new console project.
2. Edit the Program.cs inside static void Main(string[] args) file as shown below.

    class Program
    {
        static void Main(string[] args)
        {
            int counter = 0;
            
            while (counter < 10)
            {
                Console.WriteLine("Hello World from a while loop.");
                counter++;
            }
 
            Console.WriteLine("Press any key to continue...");
            Console.ReadLine();
        }
    }

3. Press F5 to run and see the results.

4. Thank you.


The while-loop statement is used perform a piece of code multiple times as long as the condition set is evaluated to true. Its syntax is:

while(<condition>)
{
    //code to execute
}