﻿ C++ Exercises: Display the pattern power of 2, triangle - w3resource

# C++ Exercises: Display the pattern power of 2, triangle

## C++ For Loop: Exercise-54 with Solution

Write a program in C++ to display the pattern like pyramid, power of 2.

Sample Solution:

C++ Code :

``````#include <iostream> // Include the input/output stream library
#include <math.h>   // Include math library for pow() function
using namespace std; // Using standard namespace

int main() // Main function where the execution of the program starts
{
int i, j, spc, n, mm, d = 1, k; // Declare integer variables i, j, spc, n, mm, d, k

cout << "------------------------------------------------------\n"; // Display a separator line
cout << " Input the number of rows: ";
cin >> n; // Read input for the number of rows from the user

// Loop to print the first line (for the value 2^0)
for (i = 1; i <= n * 2 + 2 + 5; i++) // Extra spaces for margin from the left
cout << " "; // Print spaces for formatting
cout << pow(2, 0) << endl; // Print the value 2^0 followed by a newline

for (i = 1; i < n; i++) // Loop for the remaining lines
{
// Loop to print spaces before the numbers
for (k = 1; k <= n * 2 - d + 5; k++) // Extra spaces for margin from the left
{
cout << " "; // Print spaces for formatting
}

// Loop to print numbers up to the middle
for (j = 0; j < i; j++) // Loop from 0 to i
{
mm = pow(2, j); // Calculate the value 2 raised to the power of j
cout << mm << "  "; // Print the calculated value followed by two spaces
}

// Loop to print numbers after the middle to the end
for (j = i; j >= 0; j--) // Loop from i to 0
{
mm = pow(2, j); // Calculate the value 2 raised to the power of j
cout << mm << "  "; // Print the calculated value followed by two spaces
}

d = d + 3; // Increment the value of 'd' by 3 for formatting
cout << endl; // Move to the next line after each row is printed
}
}
``````

Sample Output:

```Input the number of rows: 5
1
1  2  1
1  2  4  2  1
1  2  4  8  4  2  1
1	2  4  8  16  8  4  2  1

```

Flowchart:

C++ Code Editor: