Bir işleve argüman olarak bir vektör göndermeye çalışıyorum ve onu nasıl çalıştıracağımı bulamıyorum. Bir sürü farklı yol denedim ama hepsi farklı hata mesajları veriyor. Kodun sadece bir kısmını ekliyorum çünkü çalışmayan sadece bu kısım. ("rastgele" vektörü rastgele doldurulur, ancak 0 ile 200 arasındaki değerlerle sıralanır)
Kodu güncellendi:
#include <iostream>
#include <ctime>
#include <algorithm>
#include <vector>
using namespace std;
int binarySearch(int first, int last, int search4, vector<int>& random);
int main()
{
vector<int> random(100);
int search4, found;
int first = 0;
int last = 99;
found = binarySearch(first, last, search4, random);
system("pause");
return(0);
}
int binarySearch(int first, int last, int search4, vector<int>& random)
{
do
{
int mid = (first + last) / 2;
if (search4 > random[mid])
first = mid + 1;
else if (search4 < random[mid])
last = mid - 1;
else
return mid;
} while (first <= last);
return -(first + 1);
}