समस्या
लूप के लिए केंद्र में नाम के साथ दिल के आकार के पैटर्न को प्रिंट करने के लिए एक प्रोग्राम लिखें।
समाधान
उपयोगकर्ता को उस नाम को दर्ज करना होगा जिसे केंद्र में मुद्रित किया जाना चाहिए और साथ ही सितारों को कितनी पंक्तियों को प्रिंट करना है।
एल्गोरिदम
लूप के लिए उपयोग करके दिल के पैटर्न में नाम प्रिंट करने के लिए नीचे दिए गए एल्गोरिदम को देखें।
चरण 1 - चर घोषित करें।
चरण 2 - रनटाइम पर एक नाम पढ़ें जो केंद्र पर छपा होना चाहिए।
चरण 3 - पंक्तियों की संख्या पढ़ें।
चरण 4 - नाम की लंबाई ज्ञात करें।
चरण 5 - दिल के ऊपरी हिस्से को प्रिंट करें।
चरण 6 - दिल के निचले हिस्से को प्रिंट करें।
चरण 7 - स्क्रीन पर नाम प्रिंट करें।
उदाहरण
लूप के लिए उपयोग करके हृदय पैटर्न में नाम प्रिंट करने के लिए सी प्रोग्राम निम्नलिखित है -
#include <stdio.h>
#include <string.h>
int main(){
int i, j, n;
char name[50];
int len;
printf("Enter your name: ");
gets(name);
printf("Enter no of rows: ");
scanf("%d", &n);
len = strlen(name);
// Print upper part of the heart shape with stars
for(i=n/2; i<=n; i+=2){
for(j=1; j<n-i; j+=2){
printf(" ");
}
for(j=1; j<=i; j++){
printf("*");
}
for(j=1; j<=n-i; j++){
printf(" ");
}
for(j=1; j<=i; j++){
printf("*");
}
printf("\n");
}
// Prints lower triangular part with stars
for(i=n; i>=1; i--){
for(j=i; j<n; j++){
printf(" ");
}
// Print the name on screen
if(i == n){
for(j=1; j<=(n * 2-len)/2; j++){
printf("*");
}
printf("%s", name);
for(j=1; j<(n*2-len)/2; j++){
printf("*");
}
}else{
for(j=1; j<=(i*2)-1; j++){
printf("*");
}
}
printf("\n");
}
return 0;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
Enter your name: Tutorials POint Enter no of rows: 10 ***** ***** ******* ******* ********* ********* **Tutorials POint* ***************** *************** ************* *********** ********* ******* ***** *** *