Related Articles

# Wishing your Valentine with a Program!!

• Difficulty Level : Hard
• Last Updated : 19 Jan, 2021

This valentine, gift your loved ones a heart with a message written within it to express what you feel about them. Don’t miss the moment to surprise them.
This article demonstrates the code to surprise them. The Best wishes to all the programmer loved ones < 3.

Below is the code.

## C++

 `// C++ code to print happy valentine's``// day.``#include ``using` `namespace` `std;` `int` `main() {` `  ``// initializing variables and size``  ``double` `a, b, n = 10;` `  ``// initializing String to print in heart``  ``string message = ``" HappY Valentines DaY <3 "``;` `  ``// Position from where from top``  ``// message box would be placed.``  ``int` `print_message = 4;` `  ``// add space if message length is odd``  ``if` `(message.length() % 2 != 0)``    ``message += ``" "``;` `  ``// outer loop to adjust length of upper``  ``// part message is not handled in this part``  ``for` `(a = 0; a < n; a++) {` `    ``// to print space and variable accordingly``    ``for` `(b = 0; b <= 4 * n; b++) {` `      ``// computing distance to print variable``      ``double` `distance1 = ``sqrt``(``pow``(a - n, 2) + ``pow``(b - n, 2));``      ``double` `distance2 = ``sqrt``(``pow``(a - n, 2) + ``pow``(b - 3 * n, 2));` `      ``if` `(distance1 < n + 0.5 || distance2 < n + 0.5)``        ``cout << ``"S"``;` `      ``else``        ``cout << ``" "``;``    ``}` `    ``// ending line after each iteration``    ``cout << ``"\n"``;``  ``}` `  ``// printing the message part``  ``// and lower part of heart.``  ``// outer loop handles``  ``// depth of the heart.``  ``for` `(a = 1; a < 2 * n; a++) {` `    ``// for getting the lower curve of heart``    ``for` `(b = 0; b < a; b++)``      ``cout << ``" "``;` `    ``// inner loop``    ``// handles the message and spaces accordingly``    ``for` `(b = 0; b < 4 * n + 1 - 2 * a; b++) {` `      ``// checks if the height is in range of message``      ``// space``      ``if` `(a >= print_message - 1 && a <= print_message + 1) {``        ``int` `point = b - (4 * n - 2 * a - message.size()) / 2;` `        ``// prints message after leaving appropriate space``        ``if` `(point < message.size() && point >= 0) {``          ``if` `(a == print_message)``            ``cout << message[point];``          ``else``            ``cout << ``" "``;``        ``}` `        ``else``          ``cout << ``"S"``;``      ``}` `      ``else``        ``cout << ``"S"``;``    ``}` `    ``cout << endl;``  ``}``}`

## Java

 `// Java code to print happy valentine's day.``class` `GFG {``    ` `    ``public` `static` `void` `main(String[] args) {``        ` `        ` `        ``// initializing variables and size``        ``double` `a, b, n = ``10``;``    ` `        ``// initializing String to print in heart``        ``String message = ``" HappY Valentines DaY <3 "``;``    ` `        ``// Position from where from top``        ``// message box would be placed.``        ``int` `print_message = ``4``;``    ` `        ``// add space if message length is odd``        ``if` `(message.length() % ``2` `!= ``0``)``            ``message += ``" "``;``    ` `        ``// outer loop to adjust length of upper``        ``// part message is not handled in this part``        ``for` `(a = ``0``; a < n; a++) {``    ` `            ``// to print space and variable accordingly``            ``for` `(b = ``0``; b <= ``4` `* n; b++) {``        ` `                ``// computing distance to print variable``                ``double` `distance1 = Math.sqrt(Math.pow(a - n, ``2``)``                                         ``+ Math.pow(b - n, ``2``));``                ``double` `distance2 = Math.sqrt(Math.pow(a - n, ``2``)``                                    ``+ Math.pow(b - ``3` `* n, ``2``));``        ` `                ``if` `(distance1 < n + ``0.5` `|| distance2 < n + ``0.5``)``                    ``System.out.print(``"S"``);``        ` `                ``else``                    ``System.out.print(``" "``);``            ``}``        ` `            ``// ending line after each iteration``            ``System.out.println();``        ``}``    ` `        ``// printing the message part``        ``// and lower part of heart.``        ``// outer loop handles``        ``// depth of the heart.``        ``for` `(a = ``1``; a < ``2` `* n; a++) {``    ` `            ``// for getting the lower curve of heart``            ``for` `(b = ``0``; b < a; b++)``                ``System.out.print(``" "``);``        ` `            ``// inner loop handles the message``            ``// and spaces accordingly``            ``for` `(b = ``0``; b < ``4` `* n + ``1` `- ``2` `* a; b++) {``        ` `                ``// checks if the height is in range``                ``// of message space``                ``if` `(a >= print_message - ``1` `&&``                             ``a <= print_message + ``1``) {``                    ` `                    ``double` `point = b - (``4` `* n - ``2` `* a``                                 ``- message.length()) / ``2``;``            ` `                    ``// prints message after leaving``                    ``// appropriate space``                    ``if` `(point < message.length() &&``                                          ``point >= ``0``) {``                        ``if` `(a == print_message)``                            ``System.out.print``                               ``(message.charAt((``int``)point));``                        ``else``                            ``System.out.print(``" "``);``                    ``}``            ` `                    ``else``                        ``System.out.print(``"S"``);``                ``}``        ` `                ``else``                    ``System.out.print(``"S"``);``            ``}``        ` `            ``System.out.println();``        ``}``    ``}``}` `// This code is contributed by Anant Agarwal.`

## Python3

 `# Python3 code to print happy valentine's``# day``import` `math` `n ``=` `10` `# Initializing String to print in heart``message ``=` `" HappY Valentines DaY <3 "` `# Position from where from top``# message box would be placed.``print_message ``=` `4` `# Add space if message length is odd``if` `(``len``(message) ``%` `2` `!``=` `0``):``    ``message ``+``=` `" "` `# Outer loop to adjust length of upper``# part message is not handled in this part``for` `a ``in` `range``(n):``    ` `    ``# To print space and variable accordingly``    ``for` `b ``in` `range``(``4` `*` `n ``+` `1``):``        ` `        ``# Computing distance to print variable``        ``distance1 ``=` `math.sqrt(``pow``(a ``-` `n, ``2``) ``+``                              ``pow``(b ``-` `n, ``2``))``        ``distance2 ``=` `math.sqrt(``pow``(a ``-` `n, ``2``) ``+``                              ``pow``(b ``-` `3` `*` `n, ``2``))``                              ` `        ``if` `(distance1 < n ``+` `0.5` `or``            ``distance2 < n ``+` `0.5``):``            ``print``(``"S"``, end ``=` `"")``        ``else``:``            ``print``(``" "``, end ``=` `"")` `    ``# Ending line after each iteration``    ``print``()` `# Printing the message part and lower``# part of heart. Outer loop handles``# depth of the heart.``for` `a ``in` `range``(``1``, ``2` `*` `n):` `    ``# For getting the lower curve of heart``    ``for` `b ``in` `range``(a):``        ``print``(``" "``, end ``=` `"")``        ` `    ``# Inner loop``    ``# handles the message and spaces accordingly``    ``for` `b ``in` `range``(``4` `*` `n ``+` `1` `-` `2` `*` `a):``        ` `        ``# Checks if the height is in range of``        ``# message space``        ``if` `(a >``=` `print_message ``-` `1` `and``            ``a <``=` `print_message ``+` `1``):``            ``point ``=` `b ``-` `(``4` `*` `n ``-` `2` `*``                    ``a ``-` `len``(message)) ``/``/` `2` `            ``# Prints message after leaving``            ``# appropriate space``            ``if` `(point < ``len``(message) ``and` `point >``=` `0``):``                ``if` `(a ``=``=` `print_message):``                    ``print``(message[point], end ``=` `"")``                ``else``:``                    ``print``(``" "``, end ``=` `"")``            ``else``:``                ``print``(``"S"``, end ``=` `"")` `        ``else``:``            ``print``(``"S"``, end ``=` `"")` `    ``print``()` `# This code is contributed by subhammahato348`

## C#

 `// C# code to print happy valentine's day.``using` `System;``class` `GFG``{` `    ``public` `static` `void` `Main()``    ``{` `        ``// initializing variables and size``        ``double` `a, b, n = 10;` `        ``// initializing String to print in heart``        ``string` `message = ``" HappY Valentines DaY <3 "``;` `        ``// Position from where from top``        ``// message box would be placed.``        ``int` `print_message = 4;` `        ``// add space if message length is odd``        ``if` `(message.Length % 2 != 0)``            ``message += ``" "``;` `        ``// outer loop to adjust length of upper``        ``// part message is not handled in this part``        ``for` `(a = 0; a < n; a++) {` `            ``// to print space and variable accordingly``            ``for` `(b = 0; b <= 4 * n; b++) {` `                ``// computing distance to print variable``                ``double` `distance1``                    ``= Math.Sqrt(Math.Pow(a - n, 2)``                                ``+ Math.Pow(b - n, 2));``                ``double` `distance2``                    ``= Math.Sqrt(Math.Pow(a - n, 2)``                                ``+ Math.Pow(b - 3 * n, 2));``                ``if` `(distance1 < n + 0.5``                    ``|| distance2 < n + 0.5)``                    ``Console.Write(``"S"``);` `                ``else``                    ``Console.Write(``" "``);``            ``}` `            ``// ending line after each iteration``            ``Console.WriteLine();``        ``}` `        ``// printing the message part``        ``// and lower part of heart.``        ``// outer loop handles``        ``// depth of the heart.``        ``for` `(a = 1; a < 2 * n; a++) {` `            ``// for getting the lower curve of heart``            ``for` `(b = 0; b < a; b++)``                ``Console.Write(``" "``);` `            ``// inner loop handles the message``            ``// and spaces accordingly``            ``for` `(b = 0; b < 4 * n + 1 - 2 * a; b++)``            ``{` `                ``// checks if the height is in range``                ``// of message space``                ``if` `(a >= print_message - 1``                    ``&& a <= print_message + 1)``                ``{` `                    ``double` `point = b``                          ``- (4 * n - 2 * a - message.Length)``                                ``/ 2;` `                    ``// prints message after leaving``                    ``// appropriate space``                    ``if` `(point < message.Length``                        ``&& point >= 0) {``                        ``if` `(a == print_message)``                            ``Console.Write(``                                ``message[(``int``)point]);``                        ``else``                            ``Console.Write(``" "``);``                    ``}` `                    ``else``                        ``Console.Write(``"S"``);``                ``}` `                ``else``                    ``Console.Write(``"S"``);``            ``}` `            ``Console.WriteLine();``        ``}``    ``}``}` `// This code is contributed by subhammahato348`

Output:

```       SSSSSSS             SSSSSSS
SSSSSSSSSSS         SSSSSSSSSSS
SSSSSSSSSSSSS       SSSSSSSSSSSSS
SSSSSSSSSSSSSSS     SSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSS   SSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSS                          SSSSS
SSS HappY Valentines DaY <3  SSSS
SS                          SSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSS
SSSSSSSSSSSSS
SSSSSSSSSSS
SSSSSSSSS
SSSSSSS
SSSSS
SSS```

Sources :

Note: Works well with value of N atleast 8. You can alter the character you need to use (S in the case above.) .

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up