


Trending nowThis is a popular solution!
Step by stepSolved in 2 steps

ok That solved the comiler issue. Now I am having an issue where it is failing certain tests but not others.
I used the code above but here it is again. I am not sure if I missed something when I corrected the code that maybe I am not seeing. also I attached a screen shot of th efailed tests.
#include <iostream>
#include <
#include <algorithm>
using namespace std;
vector<int> Readintegers() {
int size; cin >> size;
vector<int> integers(size);
for (int i = 0; i < size; ++i) {
cin>>integers[i];
}
sort(integers.begin(), integers.end()); return integers;
}
int recursions = 1;
int comparisons = 1;
int BinarySearch(int target, vector<int> integers, int lower, int upper) {
if(lower>upper)
return -1;
int index = lower + (upper - lower) / 2;
comparisons+=1;
if(integers[index]==target){
return index;
}
else if (integers[index]>target) {
recursions++;
return BinarySearch(target,integers, lower, index-1);//fixed this line
//coma is missing between target and integers
}
else{
recursions++;
return BinarySearch(target,integers, index+1,upper);
}
}
int main(int argc, char* argv[]) {
int target;
int index;
vector<int> integers = Readintegers();
cin >> target;
index = BinarySearch(target, integers, 0, integers.size() - 1);
printf("index: %d, recursions: %d, comparisons: %d\n",
index, recursions, comparisons);
return 0;
}
so. I input:
#include <iostream>
#include <
#include <algorithm>
using namespace std;
vector<int> Readintegers() {
int size; cin >> size;
vector<int> integers(size);
for (int i = 0; i < size; ++i) {
}
sort(integers.begin(), integers.end()); return integers;
}
int recursions = 1;
int comparisons = 1;
int BinarySearch(int target, vector<int> integers, int lower, int upper) {
if(lower-upper)return -1;
int index = lower + (upper - lower) / 2;
comparisons+=1;
if(integers[index]==target){
return index;
}
else if (integers[index]>target) {
recursions++;
return BinarySearch(target integers, lower, index-1);
}
else{
recursions++;
return BinarySearch(target,integers, index+1,upper);
}
}
int main(int argc, char* argv[]) {
int target;
int index;
vector<int> integers = Readintegers();
cin >> target;
index = BinarySearch(target, integers, 0, integers.size() - 1);
printf("index: %d, recursions: %d, comparisons: %d\n",
index, recursions, comparisons);
return 0;
}
I am getting one error which I added as a screenshot

ok That solved the comiler issue. Now I am having an issue where it is failing certain tests but not others.
I used the code above but here it is again. I am not sure if I missed something when I corrected the code that maybe I am not seeing. also I attached a screen shot of th efailed tests.
#include <iostream>
#include <
#include <algorithm>
using namespace std;
vector<int> Readintegers() {
int size; cin >> size;
vector<int> integers(size);
for (int i = 0; i < size; ++i) {
cin>>integers[i];
}
sort(integers.begin(), integers.end()); return integers;
}
int recursions = 1;
int comparisons = 1;
int BinarySearch(int target, vector<int> integers, int lower, int upper) {
if(lower>upper)
return -1;
int index = lower + (upper - lower) / 2;
comparisons+=1;
if(integers[index]==target){
return index;
}
else if (integers[index]>target) {
recursions++;
return BinarySearch(target,integers, lower, index-1);//fixed this line
//coma is missing between target and integers
}
else{
recursions++;
return BinarySearch(target,integers, index+1,upper);
}
}
int main(int argc, char* argv[]) {
int target;
int index;
vector<int> integers = Readintegers();
cin >> target;
index = BinarySearch(target, integers, 0, integers.size() - 1);
printf("index: %d, recursions: %d, comparisons: %d\n",
index, recursions, comparisons);
return 0;
}
so. I input:
#include <iostream>
#include <
#include <algorithm>
using namespace std;
vector<int> Readintegers() {
int size; cin >> size;
vector<int> integers(size);
for (int i = 0; i < size; ++i) {
}
sort(integers.begin(), integers.end()); return integers;
}
int recursions = 1;
int comparisons = 1;
int BinarySearch(int target, vector<int> integers, int lower, int upper) {
if(lower-upper)return -1;
int index = lower + (upper - lower) / 2;
comparisons+=1;
if(integers[index]==target){
return index;
}
else if (integers[index]>target) {
recursions++;
return BinarySearch(target integers, lower, index-1);
}
else{
recursions++;
return BinarySearch(target,integers, index+1,upper);
}
}
int main(int argc, char* argv[]) {
int target;
int index;
vector<int> integers = Readintegers();
cin >> target;
index = BinarySearch(target, integers, 0, integers.size() - 1);
printf("index: %d, recursions: %d, comparisons: %d\n",
index, recursions, comparisons);
return 0;
}
I am getting one error which I added as a screenshot

- In C++arrow_forwardQI/ Write a program in c++ which read a sequence of 20 numbers and compute their sum when the sum>= 500 the program must print the sum and stop even if not all numbers are read?arrow_forwardWrite a c++ program that displays the prime factorization of a given natural number.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





