Printing Pattern Using Loops

  • + 0 comments

    This worked for me

    #include <stdio.h>
    
    int main() 
    {    
        int n,total; //total number of rows and columns
        scanf("%d", &n);
        total=n*2-1;
        for(int row=0;row<total;row++) {
            for(int col=1;col<=total;col++){
                if(row>total/2&&row<total-1){ //second half pattern
                    if(row+col<total && col<total/2 )
                        printf("%d",n--);
                    else if(col>row+1&&row<total-1)
                        printf("%d",++n);
                    else 
                        printf("%d",n);
                }
                else if(col<=row&&row<=total/2)//first half pattern
                    printf("%d",n--);
                else if(col+row>=total+1&&row<=total/2)
                    printf("%d",++n);
                else
                    printf("%d",n);
                printf(" ");
            }
            printf("\n");
        }
        return 0;
    }