昇順で並べ替えられたリスト内の要素の出現回数を見つけるのに助けが必要です。
次のコードを設定しましたが、コードの最後の行の「予期されるパラメーター宣言子」の最後でエラーが発生します。また、関数 binarySearch の以前のプロトタイプがないと言っています。これはどういう意味ですか?私はそれを調べて、最初に int binarySearch を宣言しましたが、運がありませんでした。このコードが実行されていない理由が本当にわかりません。過去 2 時間かけてデバッグしました。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//sort then search
int binarySearch(int arr[], int value, int left, int right) {
while (left <= right) {
int middle = (left + right) / 2;
if (arr[middle] == value)
return middle;
else if (arr[middle] > value)
right = middle - 1;
else
left = middle + 1;
}
return -1;
}
int main()
{
int a[] = {12,3,4,4,4,5,6,7};
int num;
num = sizeof(a)/sizeof(int);
for(int i=0; i<num; i++)
cout<<a[i]<<" ";
cout<<endl;
int value;
cout<<"Enter a value you want to find in the array."<<endl;
cin>>value;
cout<<"The element is at "<<int binarySearch(int a[], value, 0, int num);
}