Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <Windows.h>
  4. using namespace std;
  5.  
  6.  
  7. void SortArray(int Array[], int size);
  8. bool SearchArray(int Array[], int size, int ValueToFind);
  9. int RandomNumberGen(int NumbersToGenerate);
  10.  
  11.  
  12.  
  13. int main()
  14. {
  15.     const int size = 50;
  16.     int Array[size];
  17.     int NumbersToGenerate = 50,
  18.         NumberToSearchFor = 0;
  19.  
  20.  
  21.  
  22.     cout << "Generating numbers...." << endl;
  23.  
  24.  
  25.     for (int i = 0; i < size; i++)
  26.     {
  27.         Array[i] = RandomNumberGen(NumbersToGenerate);
  28.         NumbersToGenerate--;
  29.     }
  30.  
  31.     SortArray(Array, size);
  32.  
  33.     for (int i = 0; i < size; i++)
  34.     {
  35.         cout << "#" << i + 1 << " = " << Array[i] << endl;
  36.     }
  37.  
  38.  
  39.     cout << "Which number would you like to search for?" << endl;
  40.     cin >> NumberToSearchFor;
  41.  
  42.  
  43.     bool Found = SearchArray(Array, size, NumberToSearchFor);
  44.  
  45.     if (Found)
  46.     {
  47.         cout << "Number Found!" << endl;
  48.     }
  49.     else
  50.     {
  51.         cout << "Search Failed" << endl;
  52.     }
  53.  
  54.  
  55.  
  56.  
  57.  
  58.     return EXIT_SUCCESS;
  59. }
  60.  
  61.  
  62. void SortArray(int Array[], int size)
  63. {
  64.     for (int i = 0; i < size; i++)
  65.     {
  66.         for (int l = 0; l < size - 1; l++)
  67.         {
  68.             int temp;
  69.  
  70.             if (Array[l] > Array[l + 1])
  71.             {
  72.                 temp = Array[l];
  73.                 Array[l] = Array[l + 1];
  74.                 Array[l + 1] = temp;
  75.             }
  76.         }
  77.     }
  78. }
  79.  
  80. bool SearchArray(int Array[], int size, int ValueToFind)
  81. {
  82.     bool Found = false;
  83.     int Low = 0,
  84.         Mid = size / 2,
  85.         High = size - 1;
  86.  
  87.  
  88.     while (!Found)
  89.     {
  90.  
  91.         if (Array[Mid] == ValueToFind)
  92.         {
  93.             Found = true;
  94.             return true;
  95.         }
  96.  
  97.  
  98.         else if (ValueToFind > Array[Mid])
  99.         {
  100.             Low = Mid + 1;
  101.             Mid = (Low + High) / 2;
  102.         }
  103.  
  104.  
  105.         else if (ValueToFind < Array[Mid])
  106.         {
  107.             High = Mid - 1;
  108.             Mid = (Low + High) / 2;
  109.         }
  110.  
  111.  
  112.         else
  113.         {
  114.             cout << "Unknown Error" << endl;
  115.             return EXIT_FAILURE;
  116.         }
  117.  
  118.     }
  119. }
  120.  
  121.  
  122. int RandomNumberGen(int NumbersToGenerate)
  123. {
  124.     srand(time(NULL));
  125.     int RandomNum = rand() % 255 + 1;
  126.  
  127.     Sleep(600);
  128.    
  129.     return RandomNum;
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement