Home » C Programming » Mastering Popular Pattern Programs in C

Mastering Popular Pattern Programs in C

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;

	}
	
}









Leave a comment

Your email address will not be published. Required fields are marked *