c++ programing: heres my code which gives an incorrect output, how can i fix it
ID: 3759203 • Letter: C
Question
c++ programing: heres my code which gives an incorrect output, how can i fix it to create the correct output? both shown below.
heres my code:
#include <iostream>
#include <cmath>
using namespace std;
// FUNCTION PROTOTYPE FOR read_range
void read_range(int &min_val, int &max_val);
// FUNCTION PROTOTYPE FOR is_prime
double is_prime(int a);
// DO NOT MODIFY THE MAIN ROUTINE IN ANY WAY
int main()
{
int imin(0), imax(0);
// Read in range
read_range(imin, imax);
// Print prime numbers
cout << "Primes:";
for (int j = imin; j <= imax; j++) {
if (is_prime(j))
{
cout << " " << j;
}
}
cout << endl;
return 0;
}
// DEFINE FUNCTION read_range() HERE:
void read_range(int &min_val, int &max_val){
cout << "Enter minimum and maximum: ";
cin >> min_val >> max_val;
while (min_val < 2 || max_val < 2){
cout << "Error. Minimum and maximum must be at least 2." << endl << "Enter minimum and maximum: ";
cin >> min_val >> max_val;}
while (max_val < min_val);{
cout << "Error. Minimum must be less than maximum." << endl << "Enter minimum and maximum: ";
cin >> min_val >> max_val;}
}
// DEFINE FUNCTION is_prime() HERE:
double is_prime(int a){
for (int b = 0; b <= a; b++){
if ( a % b != 0){
cout << "True";}
else{cout << "False";}
}
}
my output:
Enter minimum and maximum: 4 5
Error. Minimum must be less than maximum.
Enter minimum and maximum: 5 4
Primes:
correct output:
Enter minimum and maximum: 5 4
Error. Minimum must be less than maximum.
Enter minimum and maximum: 4 5
Primes: 5
Explanation / Answer
#include <iostream>
#include <cmath>
using namespace std;
// FUNCTION PROTOTYPE FOR read_range
void read_range(int &min_val, int &max_val);
// FUNCTION PROTOTYPE FOR is_prime
bool is_prime(int a);
// DO NOT MODIFY THE MAIN ROUTINE IN ANY WAY
int main()
{
int imin(0), imax(0);
// Read in range
read_range(imin, imax);
// Print prime numbers
cout << "Primes:";
for (int j = imin; j <= imax; j++) {
if (is_prime(j))
{
cout << " " << j;
}
}
cout << endl;
return 0;
}
// DEFINE FUNCTION read_range() HERE:
void read_range(int &min_val, int &max_val){
cout << "Enter minimum and maximum: ";
cin >> min_val >> max_val;
while (min_val < 2 || max_val < 2){
cout << "Error. Minimum and maximum must be at least 2." << endl << "Enter minimum and maximum: ";
cin >> min_val >> max_val;
}
while (max_val < min_val){
cout << "Error. Minimum must be less than maximum." << endl << "Enter minimum and maximum: ";
cin >> min_val >> max_val;
}
}
// DEFINE FUNCTION is_prime() HERE:
bool is_prime(int a){
for (int b = 2; b <= a/2; b++)
{
if ( a % b == 0)
return false;
}
return true;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.