Hollow Square – A square outline made of characters, with empty space inside, perfect for learning nested loops.
Plus (+) Pattern – Forms a plus sign by aligning characters horizontally and vertically at the center
Cross (X) Pattern – Creates an “X” shape by placing characters diagonally across the square.
Number Triangle – Prints numbers in a triangular form, demonstrating how loops can build increasing or decreasing sequences.
Swastik Pattern – A complex symmetrical pattern often used to test advanced nested loop logic.
Butterfly Pattern – Combines two symmetrical halves to create a butterfly-like shape, enhancing symmetry and mirroring concepts.
Reverse (Ulta) Butterfly – The inverted version of the butterfly pattern, focusing on reversed loop control.
// Here there are logics of hollow square, splus ,cross, number triangle, swastik, butterfly ,ulta butterfly
#include<stdio.h>
int main(){
int i,j,k,n,num,row,column,m;
printf("1. square \n2. Plus \n3. corss \n4. Number traingle \n5. Swastik \n6. Butter fly \n7. Ulta butterfly");
printf("\nEnter the number of design ");
scanf("%d",&n);
printf("\nEnter the number for stars ");
scanf("%d",&num);
switch (n){
//Hollow square //
case 1:
for(i=0;i<num;i++){
for(j=0;j<num;j++){
if(j==0||j==num-1||i==0||i==num-1){
printf("* ");
}
else{
printf(" ");
}
}
printf("\n");
}
break;
// plus //
case 2:
for(i=0;i<num;i++){
for(j=0;j<num;j++){
if(i==num/2||j==num/2){
printf(" *");
}
else{
printf(" ");
}
}
printf("\n");
}
break;
// cross //
case 3:
k=num-1;
for(i=0;i<num;i++){
for(j=0;j<num;j++){
if(j==i){
printf("* ");
}
else if(k==j){
printf("* ");
}
else{
printf(" ");
}
}
k--;
printf("\n");
}
break;
// Number triangle //
case 4:
for(i=0;i<num;i++){
for(k=i;k<num;k++){
printf(" ");
}
for(j=i+1;j>0;j--){
printf("%d ",j);
}
for(m=1;m<=i;m++){
printf("%d ",m+1);
}
printf("\n");
}
break;
// Swastik //
case 5:
if(num%2==0){
num=num+1;
}
for(i=0;i<num;i++){
for(j=0;j<num;j++){
if(i<=num/2&&j==0||j==num/2||i==num/2||i==0&&j>num/2||j==num-1&&i>num/2||i==num-1&&j<num/2)
printf("* ");
else
printf(" ");
}
printf("\n");
}
break;
// Butterfly //
case 6:
for(i=0;i<num-1;i++){
for(j=0;j<=i;j++){
printf("* ");
}
for(k=i;k<num-1;k++){
printf(" ");
}
for(k=i;k<num-2;k++){
printf(" ");
}
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
for(j=0;j<num*2-1;j++){ // Middle part of butterfly
printf("* ");
}
printf("\n");
for(i=0;i<num-1;i++){ // lower butter fly //
for(j=i;j<num-1;j++){
printf("* ");
}
for(k=0;k<=i*2;k++){
printf(" ");
}
for(j=num-1;j>i;j--){
printf("* ");
}
printf("\n");
}
break;
// ulta butter fly
case 7:
for(i=0;i<num-1;i++){ // upper part
for(k=0;k<=i;k++){
printf(" ");
}
for(j=i;j<num;j++){
printf("* ");
}
printf("\n");
} // lower part
for(i=0;i<num;i++){
for(k=i;k<num;k++){
printf(" ");
}
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
break;
}
}