Hi, If anyone could help me with where I've gone wrong with the linear search below it would be greatly appreciated.

Code:
#include <iostream>
#include <vector>

using namespace std;

void binarySearch(const vector<int> &numbers, int value);
void linearSearch(const vector<int> &numbers, int value);

int main()
{
   vector<int> numbers;
  
   for (int i=0; i<16; i++) numbers.push_back(i);

   cout << "Searching for -1 in numbers using linear search\n";
   linearSearch(numbers, -1);
   cout << "Searching for -1 in numbers using binary search\n";
   binarySearch(numbers, -1);

   cout << "\nSearching for 0 in numbers using linear search\n";
   linearSearch(numbers, 0);
   cout << "Searching for 0 in numbers using binary search\n";
   binarySearch(numbers, 0);

   cout << "\nSearching for 7 in numbers using linear search\n";
   linearSearch(numbers, 7);
   cout << "Searching for 7 in numbers using binary search\n";
   binarySearch(numbers, 7);

   cout << "\nSearching for 11 in numbers using linear search\n";
   linearSearch(numbers, 11);
   cout << "Searching for 11 in numbers using binary search\n";
   binarySearch(numbers, 11);

   cout << "\nSearching for 15 in numbers using linear search\n";
   linearSearch(numbers, 15);
   cout << "Searching for 15 in numbers using binary search\n";
   binarySearch(numbers, 15);

   cout << "\nSearching for 22 in numbers using linear search\n";
   linearSearch(numbers, 22);
   cout << "Searching for 22 in numbers using binary search\n";
   binarySearch(numbers, 22);

   return 0;
}

void binarySearch(const vector<int> &numbers, int value)
{
   int step = 1, left = 0, right = numbers.size()-1, mid;

   while (left <= right)
   {
      mid = (left + right) / 2;
      if (numbers[mid] == value)
      {
         cout << "Number found after " << step << " steps\n";
         return;
      }
      else if (numbers[mid] < value)
         left = mid+1;
      else
         right = mid-1;
      step++;
   }
   cout << "Number not found after " << step << " steps\n";
}

void linearSearch(const vector<int> &numbers, int value)
{
   // use linear seach to find value in numbers 
   // print the number of steps it takes to find, or not find, value

   int step = 1;
   int index;
   int length = numbers.size();

   for (index = 0; index < length; index++)
   {
      if (numbers[index] == value)
      {
         cout << "Number found after " << step << " steps\n";  
      }
      step++;
   }
   cout << "Number not found afer " << step << " steps\n";
}