Program to print Sine-Wave Pattern - GeeksforGeeks

27 May, 2021
Give the Height and Width of a Wave to print the Sine wave pattern 
Examples:  
Input :  wave_height=5
         wave_length=10
Output :

  0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0   
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 
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.  
C++
C
Java
Python3
C#
Javascript
// C++ program to print sign wave pattern.#include <bits/stdc++.h>using namespace std; void printSinWave(int wave_height,                  int wave_length){    // inner space and outer space.    int is = 1, os = 2;     // 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 <= os; k++)            {                cout << " ";            }             // put any symbol            cout << "0";             for (int k = 1; k <= is; k++)                cout << " ";                 // put any symbol            cout << "0";             for (int k = 1; k <= os; k++)                cout << " ";                         cout << " ";        }         // set a value of os to 1 if i+1 is not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height);         // set value of is to 3 if i+1 is not equal        // to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;         cout << "\n";    }} // Driver codeint main(){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);    return 0;} // This code is contributed by shivanisinghss2110
// C program to print sign wave pattern.#include <stdio.h> void printSinWave(int wave_height, int wave_length){    // inner space and outer space.    int is = 1, os = 2;     // 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 <= os; k++) {                printf(" ");            }             // put any symbol            printf("0");             for (int k = 1; k <= is; k++)                printf(" ");                        // put any symbol            printf("0");             for (int k = 1; k <= os; k++)                printf(" ");                         printf(" ");        }         // set a value of os to 1 if i+1 is not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height);         // set value of is to 3 if i+1 is not equal        // to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;         printf("\n");    }} // Driver codeint main(){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);    return 0;}
// Java program to print// sign wave pattern.class GFG{static void printSinWave(int wave_height,                         int wave_length){    // inner space and outer space.    int is = 1, os = 2;     // 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 <= os; k++)            {                System.out.printf(" ");            }             // put any symbol            System.out.printf("0");             for (int k = 1; k <= is; k++)                System.out.printf(" ");                 // put any symbol            System.out.printf("0");             for (int k = 1; k <= os; k++)                System.out.printf(" ");                         System.out.printf(" ");        }         // set a value of os to 1 if i+1         // is not equal to wave height        // or 0 otherwise        os = (i + 1 != wave_height) ? 1 : 0;         // set value of is to 3 if i+1 is not         // equal to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;         System.out.printf("\n");    }} // Driver codepublic static void main(String []args){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);}} // This code is contributed by Smitha
# Python3 program to print sign wave pattern. def printSinWave(wave_height, wave_length):     # inner space and outer space.    Is = 1    os = 2     # for loop for height of wave    for i in range(1, wave_height + 1):         # for loop for wave length        for j in range(1, wave_length + 1):             # intermediate spaces            for k in range(1, os + 1):                print(end = " ")                         # put any symbol            print("0", end = "")             for k in range(1, Is + 1):                print(end = " ")                     # put any symbol            print("0", end = "")             for k in range(1, os + 1):                print(end = " ")                         print(end = " ")                 # set a value of os to 1 if i+1 Is not        # equal to wave height or 0 otherwise        if (i + 1 != wave_height):            os = 1        else:            os = 0                     # set value of Is to 3 if i+1 Is not        # equal to wave height or 5 otherwise        if (i + 1 != wave_height):            Is = 3        else:            Is = 5        print() # Driver codewave_height, wave_length = 5, 10printSinWave(wave_height, wave_length) # This code is contributed by# Mohit kumar 29
// C# program to print// sign wave pattern.using System; class GFG{static void printSinWave(int wave_height,                         int wave_length){    // inner space and outer space.    int Is = 1, os = 2;     // 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 <= os; k++)            {                Console.Write(" ");            }             // put any symbol            Console.Write("0");             for (int k = 1; k <= Is; k++)                Console.Write(" ");             // put any symbol            Console.Write("0");             for (int k = 1; k <= os; k++)                Console.Write(" ");                         Console.Write(" ");        }         // set a value of os to 1 if i+1        // is not equal to wave height        // or 0 otherwise        os = (i + 1 != wave_height) ? 1 : 0;         // set value of is to 3 if i+1 is not        // equal to wave height or 5 otherwise        Is = (i + 1 != wave_height) ? 3 : 5;         Console.Write("\n");    }} // Driver codepublic static void Main(){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);}} // This code is contributed// by Akanksha Rai(Abby_akku)
<script>    // JavaScript program to print    // sign wave pattern.    function printSinWave(wave_height, wave_length)    {        // inner space and outer space.        var is = 1,        os = 2;         // for loop for height of wave        for (var i = 1; i <= wave_height; i++)        {          // for loop for wave length          for (var j = 1; j <= wave_length; j++)          {            // intermediate spaces            for (var k = 1; k <= os; k++)            {              document.write("  ");            }             // put any symbol            document.write("0");             for (var k = 1; k <= is; k++)            document.write("  ");             // put any symbol            document.write("0");             for (var k = 1; k <= os; k++)            document.write("  ");             document.write("  ");          }           // set a value of os to 1 if i+1 is not          // equal to wave height or 0 otherwise          os = i + 1 != wave_height;           // set value of is to 3 if i+1 is not equal          // to wave height or 5 otherwise          is = i + 1 != wave_height ? 3 : 5;           document.write("<br>");        }     }       // Driver code      var wave_height = 5,      wave_length = 10;      printSinWave(wave_height, wave_length);</script>
  0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0   
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0 0     0
 
How to print a sin wave of letters?  
Input :  wave_height=5
         wave_length=10
Output :

  E F     O P     Y Z     I J     S T     C D     M N     W X     G H     Q R
 D   G   N   Q   X   A   H   K   R   U   B   E   L   O   V   Y   F   I   P   S
 C   H   M   R   W   B   G   L   Q   V   A   F   K   P   U   Z   E   J   O   T
 B   I   L   S   V   C   F   M   P   W   Z   G   J   Q   T   A   D   K   N   U
A     J K     T U     D E     N O     X Y     H I     R S     B C     L M     V 
The approach is the same as above, now instead of using a single element, we use all of the 26 English alphabets in Upper_Case. 
C++
Java
Python3
C#
Javascript
// C++ program to print sign wave pattern.#include <stdio.h> void printSinWave(int wave_height, int wave_length){     // inner space and outer space.    int is = 1, os = 2;     int inc = 1;    int jump = (wave_height * 3) - (wave_height + 1);    int ch = 'A' + wave_height - 1;     // 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 <= os; k++)                printf(" ");                       printf("%c", ch);             for (k = 1; k <= is; k++)                printf(" ");                        ch += inc;             if (ch > 'Z')                ch = ch - 26;                       printf("%c", ch);             for (k = 1; k <= os; k++)                printf(" ");             printf(" ");            ch += jump;            if (ch > 'Z')                ch = ch - 26;                   }         // set value of os to 1 if i+1 is not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height);         // set value of is to 3 if i+1 is not        // equal to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;         ch = 'A' + wave_height - i - 1;        inc = inc + 2;        jump -= 2;         printf("\n");    }} // Driver codeint main(){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);    return 0;}
// Java program to print sign wave pattern.class GFG{static void printSinWave(int wave_height,                         int wave_length){     // inner space and outer space.    int is = 1, os = 2;     int inc = 1;    int jump = (wave_height * 3) -               (wave_height + 1);    int ch = 'A' + wave_height - 1;     // 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 <= os; k++)                System.out.printf(" ");                    System.out.printf("%c", ch);             for (int k = 1; k <= is; k++)                System.out.printf(" ");                     ch += inc;             if (ch > 'Z')                ch = ch - 26;                    System.out.printf("%c", ch);             for (int k = 1; k <= os; k++)                System.out.printf(" ");             System.out.printf(" ");            ch += jump;            if (ch > 'Z')                ch = ch - 26;                }         // set value of os to 1 if i+1 is not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height) ? 1 : 0;         // set value of is to 3 if i+1 is not        // equal to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;         ch = 'A' + wave_height - i - 1;        inc = inc + 2;        jump -= 2;         System.out.printf("\n");    }} // Driver codepublic static void main(String[] args){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);}} // This code is contributed by PrinciRaj1992
# Python program to print sign wave pattern.def printSinWave(wave_height, wave_length):         # inner space and outer space.    Is = 1    os = 2    inc = 1    jump = (wave_height * 3) -(wave_height + 1)    ch = ord('A') + wave_height - 1     # for loop for height of wave    for i in range(1, wave_height + 1):                 # for loop for wave length        for j in range(1, wave_length + 1):                         # intermediate space            for k in range(1, os + 1):                print(end = " ")            print(chr(ch), end = "")            for k in range(1, Is + 1):                print(end = " ")            ch += inc             if(ch > ord('Z')):                ch = ch - 26            print(chr(ch), end = "")            for k in range(1, os + 1):                print(end = " ")            print(end = " ")            ch += jump            if(ch > ord('Z')):                ch = ch - 26                         # set value of os to 1 if i+1 is not         # equal to wave height or 0 otherwise        if(i + 1 != wave_height):            os = 1        else:            os = 0         # set value of is to 3 if i+1 is not         # equal to wave height or 5 otherwise        if(i + 1 != wave_height):            Is = 3        else:            Is = 5         ch = ord('A') + wave_height - i - 1        inc = inc + 2        jump -= 2        print() # Driver codewave_height = 5wave_length = 10printSinWave(wave_height, wave_length) # This code is contributed by avanitrachhadiya2155
// C# program to print sign wave pattern.using System;     class GFG{static void printSinWave(int wave_height,                         int wave_length){     // inner space and outer space.    int iS = 1, os = 2;     int inc = 1;    int jump = (wave_height * 3) -               (wave_height + 1);    int ch = 'A' + wave_height - 1;     // 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 <= os; k++)                Console.Write(" ");                    Console.Write("{0}", (char)ch);             for (int k = 1; k <= iS; k++)                Console.Write(" ");                     ch += inc;             if (ch > 'Z')                ch = ch - 26;                    Console.Write("{0}", (char)ch);             for (int k = 1; k <= os; k++)                Console.Write(" ");             Console.Write(" ");            ch += jump;            if (ch > 'Z')                ch = ch - 26;                }         // set value of os to 1 if i+1 iS not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height) ? 1 : 0;         // set value of iS to 3 if i+1 iS not        // equal to wave height or 5 otherwise        iS = (i + 1 != wave_height) ? 3 : 5;         ch = 'A' + wave_height - i - 1;        inc = inc + 2;        jump -= 2;         Console.Write("\n");    }} // Driver codepublic static void Main(String[] args){    int wave_height = 5, wave_length = 10;    printSinWave(wave_height, wave_length);}} // This code is contributed by Princi Singh
<script>// Javascript program to print sign wave pattern.     function printSinWave(wave_height,wave_length)   {    // inner space and outer space.    let is = 1, os = 2;      let inc = 1;    let jump = (wave_height * 3) -               (wave_height + 1);    let ch = 'A'.charCodeAt(0) + wave_height - 1;      // for loop for height of wave    for (let i = 1; i <= wave_height; i++)    {          // for loop for wave length        for (let j = 1; j <= wave_length; j++)        {              // intermediate spaces            for (let k = 1; k <= os; k++)                document.write("  ");                   document.write(String.fromCharCode(ch));              for (let k = 1; k <= is; k++)                document.write("  ");                     ch += inc;              if (ch > 'Z'.charCodeAt(0))                ch = ch - 26;                   document.write(String.fromCharCode(ch));              for (let k = 1; k <= os; k++)                document.write("  ");              document.write("  ");            ch += jump;            if (ch > 'Z'.charCodeAt(0))                ch = ch - 26;               }          // set value of os to 1 if i+1 is not        // equal to wave height or 0 otherwise        os = (i + 1 != wave_height) ? 1 : 0;          // set value of is to 3 if i+1 is not        // equal to wave height or 5 otherwise        is = (i + 1 != wave_height) ? 3 : 5;          ch = 'A'.charCodeAt(0) + wave_height - i - 1;        inc = inc + 2;        jump -= 2;          document.write("<br>");    }} // Driver codelet wave_height = 5, wave_length = 10;printSinWave(wave_height, wave_length);  // This code is contributed by patel2127</script>
E F     O P     Y Z     I J     S T     C D     M N     W X     G H     Q R   
 D   G   N   Q   X   A   H   K   R   U   B   E   L   O   V   Y   F   I   P   S  
 C   H   M   R   W   B   G   L   Q   V   A   F   K   P   U   Z   E   J   O   T  
 B   I   L   S   V   C   F   M   P   W   Z   G   J   Q   T   A   D   K   N   U  
A     J K     T U     D E     N O     X Y     H I     R S     B C     L M     V
 
Smitha Dinesh Semwal
Akanksha_Rai
mohit kumar 29
princiraj1992
princi singh
nidhi_biet
shivanisinghss2110
avanitrachhadiya2155
rdtank
patel2127
pattern-printing
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C++ Classes and Objects
Interfaces in Java
Constructors in C++
Operator Overloading in C++
Copy Constructor in C++
Polymorphism in C++
C++ Data Types
Friend class and function in C++
Introduction To PYTHON
Types of Operating Systems