সমস্যা
ফর লুপ ব্যবহার করে হার্ট শেপড প্যাটার্নের সেন্টারে নাম প্রিন্ট করার প্রোগ্রাম লিখুন।
সমাধান
ইউজারকে সেন্টারে প্রিন্ট করার নাম এবং স্টার প্রিন্ট করার সারির সংখ্যা ইনপুট দিতে হবে।
অ্যালগরিদম
ফর লুপ ব্যবহার করে নামকে হার্ট প্যাটার্নে প্রিন্ট করার অ্যালগরিদম:
Step 1 − ভেরিয়েবল ডিক্লেয়ার করুন।
Step 2 − রানটাইমে সেন্টারে প্রিন্ট করার নাম পড়ুন।
Step 3 − সারির সংখ্যা পড়ুন।
Step 4 − নামের দৈর্ঘ্য বের করুন।
Step 5 − হার্টের উপরের অংশ প্রিন্ট করুন।
Step 6 − হার্টের নিচের অংশ প্রিন্ট করুন।
Step 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* ***************** *************** ************* *********** ********* ***** *** *