Question: String matchItem and integer numData are read from input. Then, numData alphabetically sorted strings are read from input and each string is appended to a

String matchItem and integer numData are read from input. Then, numData alphabetically sorted strings are read from input and each string is appended to a vector. Complete the Find() function:
If matchItem is found at index middleIndex of the vector, output matchItem, followed by " is found at index " and the value of middleIndex.
Else if rangeSize is 1, output matchItem, followed by " is not in the list".
Otherwise, output matchItem, followed by " is not found at index " and the value of middleIndex.
End each output with a newline.
Click here for example
Ex 1: If the input is:
GA
3
DE GA PA
then the output is:
GA is found at index 1
Ex 2: If the input is:
GA
1
DE
then the output is:
GA is not in the list
Ex 3: If the input is:
GA
2
DE GA
then the output is:
GA is not found at index 0
Note:
string1== string2 returns true if the two strings are the same, and returns false otherwise.
No recursive call is needed. #include
#include
#include
using namespace std;
void Find(vector stateItems, string matchItem, int minIndex, int maxIndex){
int middleIndex;
int rangeSize;
rangeSize =(maxIndex - minIndex)+1;
middleIndex =(minIndex + maxIndex)/2;
/* Your code goes here */
}
int main(){
string matchItem;
vector dataList;
int numData;
int i;
string item;
cin >> matchItem;
cin >> numData;
for (i =0; i numData; ++i){
cin >> item;
dataList.push_back(item);
}
Find(dataList, matchItem, 0, dataList.size()-1);
return 0;
}
 String matchItem and integer numData are read from input. Then, numData

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!