এই টিউটোরিয়ালে আমরা একটি হাট প্যাটার্ন প্রিন্ট করার একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এখানে প্রিন্ট করার হাটের প্রস্থ দেওয়া থাকবে (যেমন N)। আমাদের কাজ হল দেওয়া প্রস্থ অনুযায়ী স্টার দিয়ে একটি হাট স্ট্রাকচার প্রিন্ট করা এবং হাটের ভেতরে গেটের জন্য লাইন ক্যারেক্টার ব্যবহার করা।
উদাহরণ
#include <iostream>
using namespace std;
// দেওয়া হাট স্ট্রাকচার প্রিন্ট
int print_hut(int n) {
int i, j, t;
if (n % 2 == 0) {
n++;
}
for (i = 0; i <= n - n / 3; i++) {
for (j = 0; j < n; j++) {
t = 2 * n / 5;
if (t % 2 != 0) {
t--;
}
// প্রাথমিক ক্যারেক্টার থেকে দূরত্ব ক্যালকুলেট
// এবং হাটের বাইরের বাউন্ডারি প্রিন্ট
if (i == n / 5
|| i == n - n / 3
|| (j == n - 1 && i >= n / 5)
|| (j >= n / 5 && j < n - n / 5 && i == 0)
|| (j == 0 && i >= n / 5)
|| (j == t && i > n / 5)
|| (i <= n / 5 && (i + j == n / 5 || j - i == n / 5))
|| (j - i == n - n / 5)) {
cout << "*";
}
// দরজার স্ট্রাকচার প্রিন্ট
else if (i == n / 5 + n / 7 && (j >= n / 7 && j <= t - n / 7)) {
cout << "_";
}
else if (i >= n / 5 + n / 7 && (j == n / 7 || j == t - n / 7)) {
cout << "|";
}
else {
cout << " ";
}
}
cout << "\n";
}
}
int main() {
int n = 12;
print_hut(n);
return 0;
}
আউটপুট
********** * * * * ************* *___* * *| |* * *| |* * *| |* * *| |* * *| |* * *| |* * *************