เราได้รับจำนวนเต็ม 'n' และภารกิจคือการสร้างรูปแบบหกเหลี่ยมและแสดงผลลัพธ์สุดท้าย
ตัวอย่าง
Input-: n=5 Output-:
Input-: n = 4 Output-:
แนวทางที่เราใช้ในโปรแกรมที่กำหนดมีดังนี้ −
- ป้อนหมายเลข '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; }
ผลลัพธ์