A solution to your program declares 13 variables. Write a solution that has a fe
ID: 3888578 • Letter: A
Question
A solution to your program declares 13 variables. Write a solution that has a few declarations as possible.
// ConsoleApplication1.cpp : Defines the entry point for the console
application.
//
#include <iomanip>
#include <iostream>
#include <random>
#include <string>
using namespace std;
int main()
{
default_random_engine e;
uniform_int_distribution<int> u(1000, 9999);
int number = u(e);
int digit1 = number % 10;
int number1 = number / 10;
int reversed = digit1;
int sum = digit1;
int digit2 = number1 % 10;
int number2 = number1 / 10;
reversed = 10 * reversed + digit2;
sum = sum + digit2;
int digit3 = number2 % 10;
int number3 = number2 / 10;
reversed = 10 * reversed + digit3;
sum = sum + digit3;
int digit4 = number3 % 10;
int number4 = number3 / 10;
reversed = 10 * reversed + digit4;
sum = sum + digit4;
cout << "The original number - " << number << endl;
cout << "with digits reversed - " << reversed << endl;
cout << "and the digits' sum is " << setw(4) << sum << endl;
system("pause");
return 0;
}
Explanation / Answer
You can reduce the no of variables by reusing the already declared variables.
default_random_engine e; //one variable
uniform_int_distribution<int> u(1000, 9999); //2nd variable
int number = u(e); //number is used as a temporary variable on which the operations are performed 3rd variable
int digit= number % 10; //to get the remainder 4th variable
number = number / 10; //instead of declaring a new variable number can be used
int reversed = digit; //used to store reverse of number 5th variable
int sum = digit; //used to store the sum of the numbres 6th variable
digit = number % 10; //instaed of the new integer as digit1 is not used any where in the program it can be used
number = number / 10; //instead of a new variable number can be updated
reversed = 10 * reversed + digit;
sum = sum + digit;
digit = number % 10;
number = number / 10;
reversed = 10 * reversed + digit;
sum = sum + digit;
digit = number % 10;
number = number / 10;
reversed = 10 * reversed + digit;
sum = sum + digit;
cout << "The original number - " << u(e) << endl; //the original number is in u(e) it is not in variable number because it is modified
cout << "with digits reversed - " << reversed << endl;
cout << "and the digits' sum is " << setw(4) << sum << endl;
system("pause");
return 0;
So 6 variables are used.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.