Este San Valentín, regala a tus seres queridos un corazón con un mensaje escrito dentro para expresar lo que sientes por ellos. No pierdas el momento de sorprenderlos.
Este artículo demuestra el código para sorprenderlos. Los mejores deseos para todos los seres queridos programadores < 3.
A continuación se muestra el código.
C++
// C++ code to print happy valentine's // day. #include <bits/stdc++.h> 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
Producción:
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
Fuentes:
- https://www.geeksforgeeks.org/printing-heart-pattern-c/
- Respuesta de Torne en https://stackoverflow.com/questions/20075775/print-heart-shape-with-words-inside
Nota: funciona bien con un valor de N al menos 8. Puede modificar el carácter que necesita usar (S en el caso anterior).