Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình in Hut trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để in một mẫu Hut.

Đối với điều này, chúng tôi sẽ được cung cấp chiều rộng của túp lều sẽ được in (giả sử N). Nhiệm vụ của chúng tôi là in một cấu trúc túp lều có chiều rộng đã cho bằng cách sử dụng các dấu sao và một cổng bên trong túp lều bằng cách sử dụng các ký tự dòng.

Ví dụ

#include <iostream>
using namespace std;
//printing the given hut structure
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--;
            }
         //calculating the distance from the initial
         //character
         //and printing the outer boundary of the hut
         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 << "*";
            }
            //printing the structure of the door
         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;
}

Đầu ra

 **********
* *         *
*************
*___*       *
*| |*       *
*| |*       *
*| |*       *
*| |*       *
*| |*       *
*************