C++ Star Pattern 9
Photo Credit to CodeToFun
C++ Star Pattern 9
Here`s a program that prints the above star pattern using C++ Programming:
#include <iostream>
using namespace std;
int main() {
int i, j, k;
// First Part
for (i = 1; i <= 5; i++) {
for (j = 5; j >= 1; j--) {
if (i == j)
cout << "*";
else
cout << " ";
}
for (k = 2; k <= 5; k++) {
if (i == k)
cout << "*";
else
cout << " ";
}
cout << "\n";
}
// Second Part
for (i = 4; i >= 1; i--) {
for (j = 5; j >= 1; j--) {
if (i == j)
cout << "*";
else
cout << " ";
}
for (k = 2; k <= 5; k++) {
if (i == k)
cout << "*";
else
cout << " ";
}
cout << "\n";
}
return 0;
}
💻 Testing the Program
When you run the above program, it will print the following output:
* * * * * * * * * * * * * * * *
🧠 How the Program Works
Let's break down the logic behind the code:
- The program starts by including the necessary header file, <iostream>, which provides input and output stream functionalities.
- The using namespace std; line brings the entire std namespace into scope, allowing us to use standard C++ library functions without the std:: prefix.
- The main() function is the entry point of the program. It returns an integer, which signifies the program's exit status. In this case, it returns 0, indicating a successful execution.
- Three integer variables i, j, and k are declared to be used in the loops and other parts of the program.
- The program consists of two parts, as indicated by comments: "First Part" and "Second Part".
- First Part:
- The first part of the program contains a nested loop structure. The outer loop (for(i=1; i<=5; i++)) iterates five times, starting from 1 and going up to 5.
- The first inner loop (for(j=5; j>=1; j--)) iterates from 5 to 1. This loop is responsible for printing spaces or asterisks based on the condition if (i == j).
- If i is equal to j, it means we are on the diagonal of the grid, so a '*' is printed. Otherwise, a space is printed.
- The second inner loop (for(k=2; k<=5; k++)) iterates from 2 to 5. This loop is also responsible for printing spaces or asterisks based on the condition if (i == k).
- If i is equal to k, a '*' is printed because this loop corresponds to the diagonal on the opposite side of the grid.
- After both inner loops, a newline character is printed (cout << "\n";) to move to the next line.
- Second Part:
- The second part of the program is similar to the first part but prints the grid in reverse order.
- The outer loop (for(i=4; i>=1; i--)) iterates from 4 to 1, printing four lines of the grid in reverse order.
- The inner loops remain the same as in the first part, printing spaces or asterisks based on the conditions.
- Again, a newline character is printed after both inner loops to move to the next line.
- Finally, the main() function returns 0, indicating successful program execution, and the program terminates.
💯 Tips for Enhancement:
Explore the versatility of this pattern by adjusting its parameters. Whether you increase or decrease the size, tweak the spacing, or modify the characters used, each change opens up a world of possibilities, allowing you to customize and create your unique visual effects.
✔ Conclusion:
Creating visually appealing patterns is not only a fun endeavour but also a great way to enhance your programming or design skills. We hope this tutorial has inspired you to explore the world of creative coding. Share your creations with us, and let your imagination run wild!
🤗 Closing Call-to-Action:
We'd love to see your unique interpretations of the star pattern. Share your creations in the comments below, and don't hesitate to reach out if you have any questions or suggestions for future tutorials. Happy coding!
👨💻 Join our Community:
Author
For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (C++ Star Pattern 9) please comment here. I will help you immediately.