## Solid Half Diamond Right

Back to Programming

### Description

Solid Half Diamond Right

Here the number of lines is taken as input. The aforesaid pattern is divided into two halves while implemented. In The first half the number of stars are increased and in the second half the number of stars decreased. For each half two for loops are used to print the stars. The number of stars are increased by 1 and in the second half the number of stars are decreased by 1. The pattern is only possible if the number of lines is odd.

### Algorithm

``````INPUT: Number of lines
OUTPUT: the aforesaid pattern
PROCESS:
Step 1: [taking the inputs]
Step 2: [printing the pattern]
Set st<-1
If n modulus 2≠0 then
For i=1 to n/2+1 repeat
For j=1 to st repeat
Print "*"
[End of ‘for’ loop]
Move to the next line
Set st<-st+1
[End of ‘for’ loop]
Set st<-st-2
For i=n/2+2 to n repeat
For j=1 to st repeat
Print "*"
[End of ‘for’ loop]
Move to the next line
Set st<-st-1
[End of ‘for’ loop]
else
print "Please give correct input(no. of lines should be odd)
[End of ‘if’]
Step 3: Stop
``````

## Time Complexity:

for(i=1;i<=n/2+1;i++)------------------------------------------------O(n/2+1)

{               for(j=1;j<=st;j++)-------------------------------------------O(st)

printf("*");

printf("\n");

st+=1;

}

//printing the second half of the pattern where the number of stars

//are decreasing

st=st-2;

for(i=n/2+2;i<=n;i++)----------------------------------------------O(n/2)

{                for(j=1;j<=st;j++)----------------------------------------O(st)

printf("*");

printf("\n");

st-=1;    }

}

The time complexity is: O(((n/2+1)*st)+((n/2)*st))=O($\sqrt{\mathrm{n}}$).