মডিউল ১৩-৪ঃ প্যাটার্ন ৪
কোডঃ
Input:
5
Output:
এই প্রোগ্রামটি নির্দিষ্ট প্যাটার্ন তৈরি করে, যা একটি ত্রিভুজের আকার বানায়। ত্রিভুজের প্রতিটি সারিতে স্পেস (space) এবং স্টার (*) সংখ্যা print করে, যা প্রতি সারিতে বাড়ছে এবং পরবর্তী সারিতে কমছে। নিচে প্রোগ্রামের বিবরণ দেওয়া হয়েছে:
#include<stdio.h>
: এই লাইনেstdio.h
হেডার ফাইল ইমপোর্ট করা হয়েছে, যা ইনপুট এবং আউটপুট সংক্রান্ত ফাংশনগুলি সম্পর্কে তথ্য সরবরাহ করে।int main()
:main()
ফাংশন হল প্রোগ্রামের প্রধান ফাংশন, যা প্রোগ্রাম চালানোর সময় সবচেয়ে প্রথমে কল হয়।{
: মেইন ফাংশনের ব্লক শুরু।int n, s, k;
: এই লাইনেn
,s
, এবংk
নামক তিনটি পূর্ণাংক ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে, যেখানেn
হল ত্রিভুজের উচ্চতা,s
হল স্পেসের সংখ্যা, এবংk
হল স্টার (*) এর সংখ্যা নিয়ন্ত্রণ করতে ব্যবহৃত।scanf("%d",&n);
:scanf()
ফাংশনের মাধ্যমে ব্যবহারকারীকে ত্রিভুজের উচ্চতা ইনপুট নিই, এবং এটি ভ্যারিয়েবলn
এ সংরক্ষিত হয়।s = n - 1;
: এই লাইনেs
এর মানn-1
ধরা হয়েছে, কারণ প্রথম সারিতে n-1 টি স্পেস থাকে।k = 1;
: এই লাইনেk
এর মান 1 ধরা হয়েছে, কারণ প্রথম সারিতে একটি স্টার প্রিন্ট হয়।for(int i=1;i<=(2*n)-1;i++)
: এই লাইনে প্রধান লুপের ডিক্লেয়ারেশন করা হয়েছে, যা ত্রিভুজের সারি নিয়ন্ত্রণ করে। ত্রিভুজে মোট(2*n)-1
সারি থাকবে।{
: প্রধান লুপের ব্লক শুরু।for(int j=1;j<=s;j++)
: এই লাইনে প্রথম ইন্টারনাল লুপের ডিক্লেয়ারেশন করা হয়েছে, যা স্পেসের সংখ্যা নিয়ন্ত্রণ করে। প্রতিটি সারিতে স্পেস প্রিন্ট করা হয়।{
: ইন্টারনাল লুপের ব্লক শুরু।printf(" ");
: এই লাইনে একটি স্পেস প্রিন্ট করা হয়েছে।}
: ইন্টারনাল লুপের ব্লক শেষ।for(int j=1;j<=k;j++)
: এই লাইনে দ্বিতীয় ইন্টারনাল লুপের ডিক্লেয়ারেশন করা হয়েছে, যা স্টার (*) এর সংখ্যা নিয়ন্ত্রণ করে। প্রতিটি সারিতে স্টার (*) প্রিন্ট করা হয়।{
: দ্বিতীয় ইন্টারনাল লুপের ব্লক শুরু।printf("*");
: এই লাইনে একটি স্টার (*) মুদ্রণ করা হয়েছে।}
: দ্বিতীয় ইন্টারনাল লুপের ব্লকের শেষ।if(i<=n-1)
: এই লাইনেi
যদিn-1
এর চেয়ে ছোট অথবা সমান হয়, তাহলে এই শর্ত সত্য হবে।{
: ইফ স্টেটমেন্টের ব্লক শুরু।s--;
: যদি শর্তটি সত্য হয়, তবেs
এর মান 1 কমিয়ে দেওয়া হবে।k = k + 2;
: যদি শর্তটি সত্য হয়, তবেk
এর মান 2 যোগ করা হবে, যাতে পরবর্তী সারিতে স্টার (*) সংখ্যা বাড়ে।}
: ইফ স্টেটমেন্টের ব্লক শেষ।else
: এই লাইনেif
কন্ডিশনের বাইরে অন্য কোন শর্ত সত্য হলে এই ব্লক সম্পাদিত হবে।{
: এই ব্লকের শুরু।s++;
: যদি উপরের শর্ত মিথ্যা হয়, তবেs
এর মান 1 বাড়ানো হবে, যাতে পরবর্তী সারিতে স্পেস (*) সংখ্যা বেড়ে যায়।k = k - 2;
: যদি উপরের শর্ত মিথ্যা হয়, তবেk
এর মান 2 কমিয়ে দেওয়া হবে, যাতে পরবর্তী সারিতে স্টার (*) সংখ্যা কমে যায়।printf("\n");
: এই লাইনে নতুন লাইন প্রিন্ট করা হয়েছে, যাতে প্রতিটি সারি নতুন লাইনে শুরু হয়।}
: ইফ স্টেটমেন্টের ব্লক শেষ।}
: প্রধান লুপের ব্লক শেষ।return 0;
: প্রোগ্রামের সমাপ্তি।}
: মেইন ফাংশনের ব্লক শেষ।
Last updated