Skip to main content

Featured

say hello world with C++ - Solution in Hacker Rank - hackerranksolutions8

  Objective This is a simple challenge to help you practice printing to  stdout . You may also want to complete  Solve Me First  in C++ before attempting this challenge. We’re starting out by printing the most famous computing phrase of all time! In the editor below, use either  printf  or  cout  to print the string  Hello ,World!  to  stdout . The more popular command form is  cout . It has the following basic form: cout<<value_to_print<<value_to_print; Any number of values can be printed using one command as shown. The  printf  command comes from C language. It accepts an optional format specification and a list of variables. Two examples for printing a string are: printf("%s", string);   printf(string); Note that neither method adds a newline. It only prints what you tell it to. Output Format Print   Hello ,World!   to stdout. Sample Output Hello, World! Solution:- //Say Hello, ...

Print Pretty in C++ – Solution in Hacker Rank - hackerranksolutions8

 

Problem :

Your manager gave you a text file with many lines of numbers to format and print. For each row of 3 space-separated doubles, format and print the numbers using the specifications in the Output Format section below.


Input Format :

The first line contains an integer, T, the number of test cases.
Each of the T subsequent lines describes a test case as 3 space-separated floating-point numbers: AB, and C, respectively.

Constraints :

  • 1 <= T <= 1000
  • Each number will fit into a double.

Output Format :

For each test case, print 3 lines containing the formatted AB, and C, respectively. Each AB, and C must be formatted as follows:

  1. A : Strip its decimal (i.e., truncate it) and print its hexadecimal representation (including the 0x prefix) in lower case letters.
  2. B : Print it to a scale 2 of decimal places, preceded by a + or  sign (indicating if it’s positive or negative), right justified, and left-padded with underscores so that the printed result is exactly 15 characters wide.
  3. C : Print it to a scale of exactly nine decimal places, expressed in scientific notation using upper case.

Sample Input :

1  
100.345 2006.008 2331.41592653498

Sample Output :

0x64             
_______+2006.01  
2.331415927E+03

Explanation :

For the first line of output, (100)10 -> (64)16 (in reverse, 6*16^1+4*16^0 = (100)10).
The second and third lines of output are formatted as described in the Output Format section.


Solution :

//Print Pretty in C++ - Hacker Rank Solution
#include <iostream>
#include <iomanip> 
using namespace std;

int main() 
{
	int T; cin >> T;
	cout << setiosflags(ios::uppercase);
	cout << setw(0xf) << internal;
	while(T--) 
	{
	    double A; cin >> A;
	    double B; cin >> B;
	    double C; cin >> C;

	/* Enter your code here */
	    /* Print Pretty in C++ - Hacker Rank Solution START */
            cout << std::hex << std::left << std::showbase << std::nouppercase; 
            cout << (long long) A << endl;

            cout << std::dec << std::right << std::setw(15) << std::setfill('_') << std::showpos << std::fixed << std::setprecision(2); 
            cout << B << endl;

            cout << std::scientific << std::uppercase << std::noshowpos << std::setprecision(9); 
            cout << C << endl;
         /* Print Pretty in C++ - Hacker Rank Solution END */

	}
	return 0;

}

Comments