এখানে আমরা দেখব কিভাবে C++ ব্যবহার করে ফাঁপা পিরামিড এবং ডায়মন্ড প্যাটার্ন তৈরি করা যায়। আমরা খুব সহজে কঠিন পিরামিড প্যাটার্ন তৈরি করতে পারি। এটা ফাঁপা করতে, আমাদের কিছু কৌশল যোগ করতে হবে।
হলো পিরামিড
প্রথম লাইনে পিরামিডের জন্য এটি একটি তারা প্রিন্ট করবে, এবং শেষ লাইনে এটি n নম্বর তারা প্রিন্ট করবে। অন্যান্য লাইনের জন্য এটি লাইনের শুরু এবং শেষে ঠিক দুটি তারা প্রিন্ট করবে এবং এই দুটি শুরুর মধ্যে কিছু ফাঁকা স্থান থাকবে।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int n, i, j;
cout << "Enter number of lines: ";
cin >> n;
for(i = 1; i<=n; i++) {
for(j = 1; j<=(n-i); j++) { //print the blank spaces before star
cout << " ";
}
if(i == 1 || i == n) { //for the first and last line, print the stars continuously
for(j = 1; j<=i; j++) {
cout << "* ";
}
}else{
cout << "*"; //in each line star at start and end position
for(j = 1; j<=2*i-3; j++) { //print space to make hollow
cout << " ";
}
cout << "*";
}
cout << endl;
}
} আউটপুট

ফাঁপা ডায়মন্ড
হীরার জন্য প্রথম লাইনে এবং শেষ লাইনে এটি একটি তারা প্রিন্ট করবে। অন্যান্য লাইনের জন্য এটি লাইনের শুরু এবং শেষে ঠিক দুটি তারা প্রিন্ট করবে এবং এই দুটি শুরুর মধ্যে কিছু ফাঁকা স্থান থাকবে। হীরার দুটি অংশ রয়েছে। উপরের অর্ধেক এবং নীচের অর্ধেক। উপরের অর্ধেকে আমাদের স্থান সংখ্যা বাড়াতে হবে, এবং নীচের অর্ধেকের জন্য, আমাদের স্থান সংখ্যা কমাতে হবে। এখানে মধ্য নামক আরেকটি চলক ব্যবহার করে লাইন সংখ্যা দুটি ভাগে ভাগ করা যায়।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int n, i, j, mid;
cout << "Enter number of lines: ";
cin >> n;
if(n %2 == 1) { //when n is odd, increase it by 1 to make it even
n++;
}
mid = (n/2);
for(i = 1; i<= mid; i++) {
for(j = 1; j<=(mid-i); j++) { //print the blank spaces before star
cout << " ";
}
if(i == 1) {
cout << "*";
}else{
cout << "*"; //in each line star at start and end position
for(j = 1; j<=2*i-3; j++) { //print space to make hollow
cout << " ";
}
cout << "*";
}
cout << endl;
}
for(i = mid+1; i<n; i++) {
for(j = 1; j<=i-mid; j++) { //print the blank spaces before star
cout << " ";
}
if(i == n-1) {
cout << "*";
}else{
cout << "*"; //in each line star at start and end position
for(j = 1; j<=2*(n - i)-3; j++) { //print space to make hollow
cout << " ";
}
cout << "*";
}
cout << endl;
}
} আউটপুট
