C++ এ নেস্টেড লুপ

C E Nesteda Lupa



C++ এ, যখন আমাদের কোডের ব্লক পুনরাবৃত্তি করতে হয়, তখন আমরা সেই জায়গায় 'লুপস' ব্যবহার করি। এটি একই কোড বারবার টাইপ করার জন্য আমাদের সময় কমিয়ে দেয়। আমরা একটি কোড বিভাগ পুনরাবৃত্তি করতে C++ এ 'লুপ' ব্যবহার করি। C++ প্রোগ্রামিং-এ 'লুপস' পদ্ধতি একটি অত্যন্ত দক্ষ এবং সময় সাশ্রয়ী প্রক্রিয়া। C++ ল্যাঙ্গুয়েজ দ্বারা প্রদত্ত বিভিন্ন ধরনের লুপ রয়েছে যেমন 'ফর লুপ', 'হোয়াইল লুপ', 'ডু-হাইল লুপ', এবং 'নেস্টেড লুপ'। 'নেস্টেড লুপ' মানে আমরা একে অপরের ভিতরে দুটি লুপ রাখি বা আমরা এটাও বলতে পারি যে একটি লুপের ভিতরে আরেকটি লুপ রয়েছে।

এখানে, আমরা এই নির্দেশিকায় শুধুমাত্র C++-এ 'নেস্টেড' লুপগুলি অন্বেষণ করব। যে কোডগুলিতে আমরা এই 'নেস্টেড' লুপগুলি ব্যবহার করি তা নিম্নরূপ:







উদাহরণ 1:



C++ এ কাজ করার সময় আমাদের অবশ্যই হেডার ফাইল অন্তর্ভুক্ত করতে হবে, তাই আমরা এখানে “iostream” হেডার ফাইল অন্তর্ভুক্ত করি। শিরোনাম ফাইলগুলি অন্তর্ভুক্ত করা হয়েছে যাতে আমরা আমাদের কোডের পদ্ধতি বা ফাংশনগুলি ব্যবহার করতে পারি যা তাদের মধ্যে ঘোষণা করা হয়েছে। এর নীচে, আমরা 'std' নামস্থান যোগ করি এবং সেই স্থানে 'main()' পদ্ধতিতে কল করি।



তারপর, আমরা 'ফর' লুপটি ব্যবহার করি যেখানে আমরা আরেকটি 'ফর' লুপ রাখি; একে বলা হয় 'নেস্টেড ফর লুপ'। প্রথম 'for' লুপে, আমরা '1' দিয়ে 'int' ডাটা টাইপের 'a' ভেরিয়েবল শুরু করি। শর্তটি এখানেও রাখা হয়েছে যা বলে “a <= 3” এবং তারপরে “a” এর মানতে “++a” বৃদ্ধি করে। আমরা এখানে কিছু টেক্সট প্রিন্ট করার জন্য এই 'for' লুপের নিচে 'cout' রাখি। পরবর্তী 'for' লুপে, আমরা '1' এর মান সহ 'int' ডাটা টাইপের একটি 'b' ভেরিয়েবল শুরু করি। আমরা এখানে যে শর্তটি যোগ করি তা হল “b <= 4” এবং এটিও বৃদ্ধি পেয়েছে। আমরা এই 'নেস্টেড ফর' এর নিচে আরেকটি 'cout' রাখি।





কোড 1:

# অন্তর্ভুক্ত করুন
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
জন্য ( int a = 1 ; ক < = 3 ; ++ক ) {
cout << 'আমার জন্য লুপ:' << << endl;
জন্য ( int b = 1 ; খ < = 4 ; ++খ ) {
cout << '     আমার নেস্টেড লুপ: ' << << endl;
}
}
ফিরে 0 ;
}



আউটপুট:

প্রদত্ত 'নেস্টেড লুপ' এর ফলাফল এখন এখানে রেন্ডার করা হয়েছে। প্রথম 'cout' বিবৃতিটি তিনবার প্রদর্শিত হয় যখন আমরা এটির শর্তকে '3' এ সামঞ্জস্য করেছি, এবং দ্বিতীয় 'cout' বিবৃতিটি চারবার প্রদর্শিত হবে যখন আমরা কোডে এটির শর্তকে '4' এ সামঞ্জস্য করেছি।

উদাহরণ 2:

'main()' ফাংশন বলা হয়। তারপর, আমরা যথাক্রমে '2' এবং '7' এর মান সহ 'myNewWeek' এবং 'weekDays' ভেরিয়েবল শুরু করি। আমরা নিচে যে 'নেস্টেড ফর লুপ' ব্যবহার করি তা দুটি 'ফর' লুপের সমন্বয়ে গঠিত যা আমরা একে অপরের ভিতরে অবস্থান করি। “i <= myNewWeek” কন্ডিশন এবং “i”-এর মানের “++i” ইনক্রিমেন্ট এখানে প্রথম “for” লুপে রাখা হয়েছে যেখানে আমরা “int” ডাটা টাইপের “i” ভেরিয়েবল শুরু করি। '1'। আমরা এখানে কিছু টেক্সট প্রিন্ট করার জন্য এই 'for' লুপের নিচে 'cout' স্থাপন করি। আমরা নিম্নলিখিত 'for' লুপে '1' এর মান সহ 'int' ডেটা টাইপের 'j' নামক একটি ভেরিয়েবল শুরু করি।

এখানে, আমরা 'j <= সপ্তাহের দিন' শর্ত যোগ করি এবং এটি বৃদ্ধি করি। আরেকটি 'cout' এই 'নেস্টেড ফর' লুপের নিচে অবস্থিত।

কোড 2:

# অন্তর্ভুক্ত করুন
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
int myNewWeek = 2 , সপ্তাহের দিন = 7 ;

জন্য ( int i = 1 ; i < = myNewWeek; ++আমি ) {
cout << 'সপ্তাহ হল:' << i << endl;
জন্য ( int j = 1 ; j < = সপ্তাহের দিন; ++জ ) {
cout << ' সপ্তাহের দিন হল: ' << j << endl;
}
}
ফিরে 0 ;
}

আউটপুট:

এইভাবে 'নেস্টেড লুপ' যা আগে উল্লেখ করা হয়েছিল তা এখন প্রদর্শিত হয়। কোডটি এখন প্রথম 'cout' স্টেটমেন্টের তিনটি দৃষ্টান্ত দেখায় (যার শর্ত '2' এ স্থির করা হয়েছে) এবং দ্বিতীয় 'cout' স্টেটমেন্টের চারটি উদাহরণ (যার শর্ত '7' এ স্থির করা হয়েছে)।

উদাহরণ 3:

এখানে, আমরা '@' চিহ্নটিকে একটি ত্রিভুজাকার প্যাটার্নে 'নেস্টেড ফর' লুপের সাথে প্রদর্শন করতে চাই। এর জন্য, আমরা প্রথম 'for' লুপটি রাখি এবং '1' এর মান দিয়ে 'int i' ভেরিয়েবল শুরু করার পরে 'i <= 6' এর অবস্থা সামঞ্জস্য করি।

তারপর, আমরা “i”-এর মান বৃদ্ধিতেও প্রয়োগ করি। এর নীচে, আমাদের আরেকটি 'for' আছে যেখানে আমরা 'j <= i' বলে আরেকটি শর্ত রাখি যা 'j' ভেরিয়েবলটিকে '1' এর মান সহ 'int' হিসাবে আরম্ভ করার পরে। এই 'j' ভেরিয়েবলের মানও এখানে বৃদ্ধি করা হয়েছে। এখন, আমরা 'cout' যোগ করি যেখানে '@' চিহ্নটি স্থাপন করা হয়েছে। এখন, এটি '@' চিহ্নটিকে ত্রিভুজাকারভাবে রেন্ডার করে।

কোড 3:

# অন্তর্ভুক্ত করুন
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
জন্য ( int i = 1 ; i < = 6 ; i++ ) {
জন্য ( int j = 1 ; j < = আমি; j++ ) {
cout << '@' ;
}
cout << endl;
}

ফিরে 0 ;
}

আউটপুট:

আমরা এই ফলাফলটি 'নেস্টেড লুপ' এর কারণে পেয়েছি যা আমরা প্রদত্ত কোডে ব্যবহার করেছি। এখানে, আমরা দেখতে পাচ্ছি যে “@” চিহ্নটি একটি ত্রিভুজাকার প্যাটার্নে প্রদর্শিত হচ্ছে।

উদাহরণ 4:

আমরা একটি ত্রিভুজ প্যাটার্নে '@' চিহ্ন দেখানোর জন্য 'নেস্টেড ফর' লুপ ব্যবহার করতে চাই। এটি করার জন্য, আমরা প্রথম 'ফর' লুপের অবস্থান করি। তারপর, আমরা '1' এর মান দিয়ে 'int a' ভেরিয়েবল শুরু করি এবং এর শর্ত 'a <= 8' এ সেট করি। এর পরে, আমরা এই উদাহরণে 'a' এর মানও বাড়াই। তারপর, আমাদের আরেকটি 'for' আছে যেখানে আমরা 'b' ভেরিয়েবলটিকে 'int' হিসাবে শুরু করি '1' এর মান সহ আরেকটি শর্ত যা 'b <= a' নির্দেশ করে। 'a' এর মানও একইভাবে বৃদ্ধি পেয়েছে। যেখানে আমরা “*” চিহ্ন রাখি সেখানে এখন “cout” যোগ করা হয়েছে। এটি এখন কনসোলটিকে একটি ত্রিভুজ প্যাটার্নে '*' চিহ্ন প্রদর্শনের কারণ করে।

কোড 4:

# অন্তর্ভুক্ত করুন
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
জন্য ( int a = 1 ; ক < = 8 ; a++ ) {
জন্য ( int b = 1 ; খ < = a; b++ ) {
cout << '*  ' ;
}
cout << endl;
}
ফিরে 0 ;
}

আউটপুট:

আমরা পূর্বোক্ত কোডে একটি 'নেস্টেড লুপ' ব্যবহার করে এই ফলাফলটি পেয়েছি। এখানে, আমরা লক্ষ্য করতে পারি যে “@” চিহ্নটি ত্রিভুজে সাজানো হয়েছে।

উদাহরণ 5:

এখন, আমরা শুধুমাত্র মৌলিক সংখ্যা রেন্ডার করতে চাই। সুতরাং, আমরা “x” এবং “y” ভেরিয়েবলকে “int” ভেরিয়েবল হিসাবে ঘোষণা করি। তারপর, আমরা একটির পর একটি দুটি 'ফর' লুপ রাখি, যেটিকে 'নেস্টেড ফর' লুপ বলা হয়। প্রথম লুপে '2' দিয়ে 'x' ভেরিয়েবল আরম্ভ করার পরে 'x <= 50' শর্ত থাকে। আমরা এই লুপে 'x' এর মান বৃদ্ধির কাজও করি।

তারপর, আমাদের আরেকটি লুপ আছে যেখানে আমরা 'y' ভেরিয়েবলে একটি '2' মান নির্ধারণ করার পরে 'y <= (x/y)' বলে আরেকটি শর্ত যোগ করি। আমরা এই লুপের মধ্যে 'y' এর মানও বৃদ্ধি করি। এর নীচে, আমরা 'if' ব্যবহার করি যা '!(x%y)' শর্তটি পরীক্ষা করে। যদি ফ্যাক্টরটি এখানে পাওয়া না যায়, তাহলে এটি সেই মানটি প্রিন্ট করবে না কারণ আমরা 'ব্রেক' স্টেটমেন্ট যোগ করি এবং দ্বিতীয় 'if' এর দিকে চলে যা আমরা নিম্নলিখিতটিতে যোগ করি। এখানে, এটি আবার শর্তটি পরীক্ষা করে যা 'y > (x/y)'। যদি এটি সত্য হয়, এটি সেই মানটি প্রিন্ট করে এবং 'একটি মৌলিক সংখ্যা'ও প্রিন্ট করে।

কোড 5:

# অন্তর্ভুক্ত করুন
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
int x, y;
জন্য ( x = 2 ; এক্স < = পঞ্চাশ ; x++ ) {
জন্য ( y = 2 ; এবং ( এক্স / এবং ) ) cout << এক্স << 'একটি মৌলিক সংখ্যা।' << endl;
}
ফিরে 0 ;
}

আউটপুট:

এখন, সমস্ত মৌলিক সংখ্যা এখানে রেন্ডার করা হয়েছে যা আমরা আমাদের কোডে 'নেস্টেড ফর' লুপ প্রয়োগ করার পরে পাই।

উপসংহার

এই নির্দেশিকাটি C++-এ নেস্টেড লুপগুলি সম্পর্কে এবং ব্যাখ্যা করেছে যে আমরা যখনই কোডের বিভাগের পুনরাবৃত্তি চাই তখনই আমরা 'নেস্টেড লুপ' ব্যবহার করি। আমরা এই ধারণাটি পুঙ্খানুপুঙ্খভাবে অন্বেষণ করেছি এবং আমাদের কোডগুলিতে 'নেস্টেড লুপগুলি' কীভাবে ব্যবহার করতে হয় তা শিখেছি। আমরা বেশ কয়েকটি উদাহরণ প্রদর্শন করেছি যেখানে আমরা তাদের ব্যাখ্যা সহ 'নেস্টেড লুপ' ব্যবহার করেছি এবং এই নির্দেশিকায় এখানে এই সমস্ত কোডের ফলাফল রেন্ডার করেছি।