Answer to Question #313974 in C++ for wali

Question #313974

Write a program which takes a 9-digit number input from user, converts it into its reverse

and then display one of the following statements: (10 marks)

• Original number is x steps bigger (where x is the difference between the two)

• Reversed number is x steps bigger

• Both numbers are equal; hence it is a palindrome.

Enter a 9-digit number : 367548912

Reverse number: 219845763

Original number is 147,703,149 steps bigger

Enter a 9-digit number : 367548

It is not a 9-digit number. Please enter correct number.

Enter a 9-digit number : 259757952

Reverse number: 259757952

Both numbers are equal; hence it is a palindrome


1
Expert's answer
2022-03-18T12:13:28-0400
#include <iostream>
#include <string>

using namespace std;

int main()
{
	long int number, revnum;
	char tmpval;
	string revstr = "";
	do
	{
		cout << "Please, enter 9-digits number (0 - exit program): ";
		cin >> number;
		if (number == 0)break;
		string tmpn = to_string(number);
		if (tmpn.size() != 9)
			cout << "It is not a 9-digit number. Please enter correct number."<<endl;
		else
		{
			int newnumber = number;
			for (int i = 0; i < 9; i++)
			{
				tmpval = '0' + newnumber % 10;
				revstr += tmpval;
				newnumber = newnumber / 10;
			}
			revnum = stoi(revstr);
			cout << "Reverse number: " << revnum<<endl;
			if (number > revnum)
			{
				cout << "Original number is " << number - revnum << " steps bigger";
			}
			else if (number < revnum)
			{
				cout << "Reversed number is " << revnum - number << " steps bigger";
			}
			else
			{
				cout << "Both numbers are equal; hence it is a palindrome";
			}
			cout << endl;
			revstr = "";
		}	
	} while (true);
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog