(C++)HELP I need to add a counter to my code that only outputs 10 divisors per l
ID: 3826202 • Letter: #
Question
(C++)HELP I need to add a counter to my code that only outputs 10 divisors per line.
#include<iostream>
using namespace std;
int isvalid(int num);
int isprime(int num);
int isprime(int num);
void print_all_divisor(int num);
int main()
{
char ch;
int num;
do
{
ch = 'y';
cout << " Enter the number:";
cin >> num;
if (!isvalid(num))
{
cout << " Sorry number should be between 1 to 1000: Please reenter ";
ch = 'y';
}
else
{
if (isprime(num))
{
cout << " " << num << " is prime number.";
}
else
{
print_all_divisor(num);
cout << " " << num << " is not a prime number.";
}
cout << " Do you want to continue?(y/n)";
cin >> ch;
}
} while (ch == 'y' || ch == 'Y');
return 1;
}
int isvalid(int num)
{
if (num<1 || num>1000)
return 0;
return 1;
}
int isprime(int num)
{
for (int i = 2; i <= num / 2; i++)
{
if (num %i == 0)
return 0;
}
return 1;
}
void print_all_divisor(int num)
{
cout << " Divisors of " << num << " are ";
for (int i = 2; i <= num; i++)
{
if (num % i == 0)
cout << i << " ";
}
}
Explanation / Answer
I had re-changed the code in the divisor function so that it will now print according to your mentioned requirement.I changed part of the code is written in BOLD form
Code:-
#include<iostream>
using namespace std;
int isvalid(int num);
int isprime(int num);
int isprime(int num);
void print_all_divisor(int num);
int main()
{
char ch;
int num;
do
{
ch = 'y';
cout << " Enter the number:";
cin >> num;
if (!isvalid(num))
{
cout << " Sorry number should be between 1 to 1000: Please reenter ";
ch = 'y';
}
else
{
if (isprime(num))
{
cout << " " << num << " is prime number.";
}
else
{
print_all_divisor(num);
cout << " " << num << " is not a prime number.";
}
cout << " Do you want to continue?(y/n)";
cin >> ch;
}
} while (ch == 'y' || ch == 'Y');
return 1;
}
int isvalid(int num)
{
if (num<1 || num>1000)
return 0;
return 1;
}
int isprime(int num)
{
for (int i = 2; i <= num / 2; i++)
{
if (num %i == 0)
return 0;
}
return 1;
}
void print_all_divisor(int num)
{
cout << " Divisors of " << num << " are ";
int count=1;
for (int i = 2; i <= num; i++)
{
if(count>10){
cout<<endl;
count=1;
}
if (num % i == 0)
cout << i << " ";
count++;
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.