Wednesday, May 18, 2016

C# Program should be able to srch a value in the array using binary srch aorithm


C# Program which takes n values in an array and then program should be able to srch a value in the array using binary srch aorithm
Program Statement:Write a program which takes n values in an array and then program should be able to srch a value in the array using binary srch aorithm. Hint: You have to sort that array first because binary srch can be applied only on sorted array
Solution: public class srch
{
int n, num, s = 1, e, mid;
public void show()
{
Console.Write("\n\t\tEnter length of array : ");
n = Convert.ToInt32(Console.RdLine());
int[] array = new int[n];
Console.WriteLine("\n\t\tEnter {0} s : ", n);
for (int i = 0; i < n; i++)
{
array[i] = Convert.ToInt32(Console.RdLine());
}
for (int x = 0; x < n; x++)
{
for (int y = x + 1; y < n; y++)
{
if (array[x] > array[y])
{
int temp;
temp = array[y];
array[y] = array[x];
array[x] = temp;
}
}
}
Console.Write("\n\t\tEnter to srch : ");
num = Convert.ToInt32(Console.RdLine());
e = n;
mid = (s + e) / 2;
if (num == array[mid])
{ Console.Write("\n\t\tElement {0} found!\n\n", array[mid]); }
else if (num < array[mid])
{
for (int x = 0; x < mid; x++)
{
if (num == array[x])
{ Console.Write("\n\t\tElement {0} found!\n\n", array[x]); }
}
}
else if (num < array[mid])
{
for (int y = mid; y < n; y++)
{
if (num == array[y])
{ Console.Write("\n\t\tElement {0} found!\n\n", array[y]); }
}
}
else
Console.WriteLine("\n\t\tElement not found!\n\n");
}
}

No comments:

Post a Comment