# Program to Print Mirror Image of Sine-Wave Pattern

A sine wave is a mathematical curve that oscillates between a maximum and minimum value, smoothly transitioning between positive and negative values. It is commonly used to represent periodic phenomena such as sound, light, and electrical signals.

Examples: Give the Height and Width of a Wave to print the pattern.

```Input : wave_height=5
wave_length=10
Output :

>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>
>>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>
>>        >>        >>        >>        >>        >>        >>        >>        >>        >>
>>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>
>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>
```

## Approach

First, check the row and column where the elements are needed to be printed. Then, use nested for loops to print the elements in the corresponding order. Separate loops are kept to keep track of the wave_height and wave_length.

## Java

 `// Java program to print Mirror``// Image of sign wave pattern.``class` `GFG``{``// Function to print Mirror``// Image of sign wave pattern``static` `void` `printWave(``int` `wave_height,``                      ``int` `wave_length)``{``    ``// for loop for height of wave``    ``for` `(``int` `i = ``1``;``             ``i <= wave_height; i++) ``    ``{``        ``// for loop for wave length``        ``for` `(``int` `j = ``1``; ``                 ``j <= wave_length; j++)``        ``{``            ``// intermediate spaces``            ``for` `(``int` `k = ``1``; ``                     ``k <= wave_height; k++) ``            ``{` `                ``if` `(i == k || i + k == wave_height + ``1``) ``                ``{``                    ``// put any symbol``                    ``System.out.printf(``">>"``);``                ``}``                ``else` `{``                    ``System.out.printf(``" "` `+ ``" "``);``                ``}``            ``}``        ``}``        ``System.out.printf(``"\n"``);``    ``}``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `wave_height = ``5``;``    ``int` `wave_length = ``10``;``    ``printWave(wave_height, wave_length);``}``}` `// This code is contributed ``// by Smitha`

## Python3

 `# Python3 program to prMirror``# Image of sign wave pattern.` `# Function to prMirror Image``# of sign wave pattern``def` `printWave(wave_height, wave_length):` `    ``# for loop for height of wave``    ``for` `i ``in` `range``(``1``, wave_height ``+` `1``, ``1``):` `        ``# for loop for wave length``        ``for` `j ``in` `range``(``1``, wave_length ``+` `1``, ``1``):` `            ``# intermediate spaces``            ``for` `k ``in` `range``(``1``, wave_height ``+` `1``, ``1``):` `                ``if` `(i ``=``=` `k ``or``                    ``i ``+` `k ``=``=` `wave_height ``+` `1``):``        ` `                    ``# put any symbol``                    ``print``(``">>"``, end ``=` `"");` `                ``else``:``                    ``print``(``" "``, end ``=` `" "``);` `        ``print``();` `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``wave_height ``=` `5``;``    ``wave_length ``=` `10``;``    ``printWave(wave_height, wave_length);` `# This code is contributed by PrinciRaj1992 `

## C#

 `// C# program to print Mirror ``// Image of sign wave pattern. ``using` `System;``class` `GFG ``{ ``// Function to print Mirror ``// Image of sign wave pattern ``static` `void` `printWave(``int` `wave_height, ``                    ``int` `wave_length) ``{ ``    ``// for loop for height of wave ``    ``for` `(``int` `i = 1; ``            ``i <= wave_height; i++) ``    ``{ ``        ``// for loop for wave length ``        ``for` `(``int` `j = 1; ``                ``j <= wave_length; j++) ``        ``{ ``            ``// intermediate spaces ``            ``for` `(``int` `k = 1; ``                    ``k <= wave_height; k++) ``            ``{ ` `                ``if` `(i == k || i + k == wave_height + 1) ``                ``{ ``                    ``// put any symbol ``                    ``Console.Write(``">>"``); ``                ``} ``                ``else` `{ ``                    ``Console.Write(``" "` `+ ``" "``); ``                ``} ``            ``} ``        ``} ``    ``Console.Write(``"\n"``); ``    ``} ``} ` `// Driver code ``public` `static` `void` `Main() ``{ ``    ``int` `wave_height = 5; ``    ``int` `wave_length = 10; ``    ``printWave(wave_height, wave_length); ``} ``} ` `// This code is contributed ``// by Smitha `

## Javascript

 ``

## C++

 `// C program to print Mirror Image of sign wave pattern.``#include ` `// Function to print Mirror Image of sign wave pattern``void` `printWave(``int` `wave_height, ``int` `wave_length)``{``    ``// for loop for height of wave``    ``for` `(``int` `i = 1; i <= wave_height; i++) {` `        ``// for loop for wave length``        ``for` `(``int` `j = 1; j <= wave_length; j++)``        ``{``            ``// intermediate spaces``            ``for` `(``int` `k = 1; k <= wave_height; k++) {` `                ``if` `(i == k || i + k == wave_height + 1) {``                    ``// put any symbol``                    ``printf``(``">>"``);``                ``}``                ``else` `{``                    ``printf``(``" "``" "``);``                ``}``            ``}``        ``}``        ``printf``(``"\n"``);``    ``}``}` `// Driver code``int` `main()``{``    ``int` `wave_height = 5;``    ``int` `wave_length = 10;``    ``printWave(wave_height, wave_length);``    ``return` `0;``}`

Output:

```>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>
>>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>
>>        >>        >>        >>        >>        >>        >>        >>        >>        >>
>>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>    >>  >>
>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>>>      >>
```

Time complexity: O((wave_height2)*wave_length)

Auxiliary space: O(1)

Previous
Next