Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(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++;

}
}