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

Chương trình C cho mô hình lục giác

Chúng tôi được cung cấp với một số nguyên ‘n’ và nhiệm vụ là tạo mẫu hình lục giác và hiển thị kết quả cuối cùng.

Ví dụ

Input-: n=5
Output-:

Chương trình C cho mô hình lục giác

Input-: n = 4
Output-:

Chương trình C cho mô hình lục giác

Phương pháp tiếp cận chúng tôi đang sử dụng trong chương trình nhất định như sau -

  • Nhập số ‘n’ từ người dùng
  • Chia toàn bộ mẫu thành ba phần, tức là phần trên, phần giữa và phần dưới Vòng lặp bắt đầu i để in phần trên của mẫu từ i đến 0 và i nhỏ hơn n và tiếp tục tăng giá trị của i Vòng lặp bắt đầu m để in phần giữa của mẫu từ m đến 0 và m nhỏ hơn n-2 và tiếp tục tăng giá trị của m Vòng lặp bắt đầu h để in phần dưới của mẫu từ h đến res và h lớn hơn 0 và tiếp tục giảm giá trị của h Tiếp tục in dấu * với dấu cách.

THUẬT TOÁN

START
Step 1-> declare function to print hexagonal pattern
   void pattern(int n)
   Declare and set int len = 2 * n - 1
   Loop For int i = 0 and i < n and i++
      declare and set int temp = i + n
      Loop For int k = 0 and k < temp and k++
         IF ((k == n + i - 1) || (k == n - i - 1))
            print *
         End
         Else
            print space
         End
            Print \n
      End
      Loop For int m = 0 and m < n - 2 and m++
         Loop For int j = 0 and j < len and j++
            if (j == 0 || j == len - 1)
               Print *
            End
            Else
               print space
            End
         End
         Print \n
      End
      declare and set int res = n - 1
      Loop For int h = res and h >= 0 and h--
         declare and set int temp2 = h + n
         Loop For int k = 0 and k < temp2 and k++
            if ((k == n + h - 1) || (k == n - h - 1))
               print *
            End
            Else
               print space
            End
         End
         Print \n
      End
   End
Step 2-> In main()
   Declare variable int n = 5
   call pattern(n)
STOP

Ví dụ

#include <stdio.h>
//program to print hexagon pattern  
void pattern(int n) {
   int len = 2 * n - 1;
   //for loop for upper part of a pattern
   for (int i = 0; i < n; i++) {
      int temp = i + n;
      for (int k = 0; k < temp; k++) {
         if ((k == n + i - 1) || (k == n - i - 1))
            printf("*");
         else
            printf(" ");
      }
      printf("\n");
   }
   //for loop for mid part of a pattern
   for (int m = 0; m < n - 2; m++) {
      for (int j = 0; j < len; j++) {
         if (j == 0 || j == len - 1)
            printf("*");
         else
            printf(" ");
      }
      printf("\n");
   }
   //for loop for lower part of a pattern
   int res = n - 1;
   for (int h = res; h >= 0; h--) {
      int temp2 = h + n;
      for (int k = 0; k < temp2; k++) {
         if ((k == n + h - 1) || (k == n - h - 1))
            printf("*");
         else
            printf(" ");
      }
      printf("\n");
   }
}
int main() {
   int n = 5;
   pattern(n);
   return 0;
}

Đầu ra

Chương trình C cho mô hình lục giác