Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C สำหรับรูปแบบหกเหลี่ยม


เราได้รับจำนวนเต็ม 'n' และภารกิจคือการสร้างรูปแบบหกเหลี่ยมและแสดงผลลัพธ์สุดท้าย

ตัวอย่าง

Input-: n=5
Output-:

โปรแกรม C สำหรับรูปแบบหกเหลี่ยม

Input-: n = 4
Output-:

โปรแกรม C สำหรับรูปแบบหกเหลี่ยม

แนวทางที่เราใช้ในโปรแกรมที่กำหนดมีดังนี้

  • ป้อนหมายเลข 'n' จากผู้ใช้
  • แบ่งรูปแบบทั้งหมดออกเป็นสามส่วน ได้แก่ ส่วนบน ส่วนกลาง และส่วนล่าง Start loop i สำหรับพิมพ์ส่วนบนของรูปแบบจาก i ถึง 0 และ i ให้น้อยกว่า n และเพิ่มค่าของ i Start loop ต่อไป m สำหรับพิมพ์ส่วนตรงกลางของลวดลายจาก m ถึง 0 และ m ให้น้อยกว่า n-2 และเพิ่มค่าของ m วนซ้ำ h สำหรับการพิมพ์ส่วนล่างของลวดลายจาก h ถึง res และ h ให้มากกว่า 0 และลดค่าของ h ให้พิมพ์ * โดยเว้นวรรค

อัลกอริทึม

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

ตัวอย่าง

#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;
}

ผลลัพธ์

โปรแกรม C สำหรับรูปแบบหกเหลี่ยม