লুপ
লুপ নিয়ে কিছু কাজ ১ লুপ
লুপ দিয়ে একই কাজ বারবার করা যায়। লুপের মধ্যে একটি শর্ত বসিয়ে দিতে হয়, যেটি পূরণ না হওয়া পর্যন্ত প্রোগ্রামটি লুপের ভেতরের কাজ বারবার করতে থাকবে। সি ল্যাঙ্গুয়েজে দুটি
জনপ্রিয় লুপ হচ্ছে while এবং for। আমরা এখন while ব্যবহার করে একটি প্রোগ্রাম লিখবোঃ
#include <stdio.h>
int main()
{
int n = 1;
while(n <= 10) {
printf("%d\n", n);
n++;
}
return 0;
}
এখন আমরা চাইলে 10-এর বদলে যত খুশি বসাতে পারি, যত বসাব 1 থেকে তত পর্যন্ত প্রিন্ট হবে। while লুপে প্রথম বন্ধনীর ভেতর শর্ত লিখে দিতে হয়। প্রোগ্রাম সেই শর্ত পরীক্ষা করে। যতক্ষণ পর্যন্ত শর্তটি সত্য হয় ততক্ষণ পর্যন্ত লুপের ভেতরের কাজগুলো চলতে থাকে। লুপের ভেতরের কাজগুলো থাকবে দ্বিতীয় বন্ধনীর ভেতর। যেমন এখানে লুপের ভেতরে আমরা দুটি কাজ করেছি। n-এর মান প্রিন্ট করেছি আর তারপর n-এর মান 1 বাড়িয়েছি। n-এর মান 1 করে বাড়তে থাকলে একসময় এটি 11 হবে আর তখন n <= 10 এই শর্তটি মিথ্যা হয়ে যাবে (কারণ 11 > 10)। আর প্রোগ্রামটিও লুপ
থেকে বের হয়ে আসবে। অর্থাৎ, শর্তটি যখনই মিথ্যা হবে তখনই লুপ থেকে বের হয়ে যাবে।
লুপ নিয়ে কিছু কাজ ২ লুপ
এবারে চলুন দেখি নিচের প্রোগ্রামটির আউটপুট কি আসে।
#include <stdio.h>
int main()
{
int n = 1;
while(n <= 10) {
printf("%d\n", n);
}
n++;
return 0;
}
দেখা যাবে প্রোগ্রামটি সময়সীমা অতিক্রম করেছে, অর্থাৎ প্রোগ্রামটি বন্ধ হচ্ছে না। চলুন আমরা কারণটি বোঝার চেষ্টা করি।
int
n = 1; প্রথমে প্রোগ্রামটি n-এর মান 1 বসাবে।
তারপর while লুপে গিয়ে শর্ত পরীক্ষা করবে। আমরা শর্ত দিয়েছি n <= 10 মানে n-এর মান 10-এর ছোট বা সমান। এই শর্ত তো সত্য কারণ n-এর মান 1। তারপর প্রোগ্রামটি n-এর মান প্রিন্ট করবে printf("%d\n", n);।
তারপর কি n-এর মান 1 বাড়বে? বাড়বে না, কারণ আমরা দ্বিতীয় বন্ধনী শেষ করে দিয়েছি '}' চিহ্ন দিয়ে (মানে লুপ শেষ)। তার মানে প্রোগ্রামটি আবার শর্ত পরীক্ষা করবে, আবার n-এর মান প্রিন্ট করবে...এভাবে চলতেই থাকবে কারণ n-এর মান যেহেতু বাড়ছে না, n <= 10 শর্তটি সব সময় সত্যই রয়ে যাচ্ছে – কখনো মিথ্যা হচ্ছে না।
লুপ নিয়ে কিছু কাজ ৩ লুপ
এখন আমরা দেখবো কিকরে জোর করে লুপ থেকে বের হয়ে যাওয়া যায়। সেটি হচ্ছে break স্টেটমেন্ট। কথা না বাড়িয়ে একটি প্রোগ্রাম লিখলেই ব্যাপারটি পরিষ্কার হয়ে যাবেঃ
#include <stdio.h>
int
main()
{
int
n
=1;
while(
n
<=100)
{
printf("%d\n",
n
);
n
++;
if(
n
>10)
{
break;
}
}
return
0;
}
এখন এই প্রোগ্রামটি কী করবে? 1 থেকে 10 পর্যন্ত প্রিন্ট করবে। যদিও while-এর ভেতর আমরা বলেছি যে শর্ত হচ্ছে n <= 100, কিন্তু লুপের ভেতরে আবার বলে দিয়েছি যে যদি n > 10 হয়, তবে break; মানে বের হয়ে যাও, বা লুপটি ভেঙে দাও। break সব সময় যেই লুপের ভেতর থাকে সেটির বাইরে প্রোগ্রামটিকে নিয়ে আসে। সুতরাং n-এর মান 10 প্রিন্ট হওয়ার পরে এর মান এক বাড়বে (n++;) অর্থাৎ n-এর মান হবে 11। আর তখন n > 10 সত্য হবে, ফলে প্রোগ্রামটি if কন্ডিশনের ভেতরে ঢুকে যাবে। সেখানে গিয়ে সে দেখবে তাকে break করতে বলা হয়েছে তাই সে লুপের বাইরে চলে যাবে।
লুপ নিয়ে কিছু কাজ ৪ লুপ
break-এর উল্টা কাজ করে, এমন একটি স্টেটমেন্ট হচ্ছে continue;। কোনো জায়গায় continue ব্যবহার করলে লুপের ভেতরে continue-এর পরের অংশের কাজ আর হয় না।
#include <stdio.h>
int
main()
{
int
n
=0;
while
(
n
<10)
{
n
=n
+1;
if
(
n
%2
==
0)
{
continue;
}
printf("%d\n",
n
);
}
return
0;
}
এই প্রোগ্রামটি 1 থেকে 10-এর মধ্যে কেবল বেজোড় সংখ্যাগুলো প্রিন্ট করবে। জোড় সংখ্যার বেলায় continue ব্যবহার করার কারণে প্রোগ্রামটি printf("%d\n", n); স্টেটমেন্ট
এক্সিকিউট
না
করে
লুপের
পরবর্তী
ধাপের
কাজ
শুরু
করবে।
লুপ নিয়ে কিছু কাজ ৫ লুপ
এবারে আমরা আরেকটি প্রোগ্রাম লিখব। ছোটবেলায় যে নামতাগুলো আমরা শিখেছি সেগুলো এখন আমরা প্রোগ্রাম লিখে আউটপুটে দেখব। চলুন 5-এর নামতা দিয়ে শুরু করা যাক। আমাদের প্রোগ্রামের আউটপুট হবে এরকমঃ
5X
1=
5
5X
2=
10
5X
3=
15
5X
4=
20
5X
5=
25
5X
6=
30
5X
7=
35
5X
8=
40
5X
9=
45
5X
10=
50
নিশ্চয়ই এখন আমরা অনেকগুলো printf ফাংশন লেখা শুরু করবো না। লুপের সাহায্যে প্রোগ্রামটি লিখে ফেলবোঃ
#include <stdio.h>
int
main()
{
int
n
=5;
int
i
=1;
while
(
i
<=10)
{
printf("%d X %d = %d\n",
n
,i
,n
*i
);
i
=i
+1;
}
return
0;
}
লুপ নিয়ে কিছু কাজ ৬ লুপ
এতক্ষণ আমরা while লুপ ব্যবহার করলাম। এবার চলুন for লুপ ব্যবহার করতে শিখি। 5-এর নামতার প্রোগ্রামটি যদি আমরা for লুপ ব্যবহার করে লিখি তাহলে সেটির চেহারা দাঁড়াবেঃ
#include <stdio.h>
int main()
{
int n = 5;
int i;
for(i = 1; i <= 10; i = i + 1) {
printf("%d X %d =
%d\n", n, i, n*i);
}
return 0;
}
for লুপের প্রথম বন্ধনীর ভেতর তিনটি অংশ লক্ষ করুন। প্রতিটি অংশ সেমিকোলন (;) দিয়ে আলাদা করা হয়েছে। প্রোগ্রামটি যখন লুপের ভেতর ঢুকে তখন প্রথম সেমিকোলনের আগে আমরা যে কাজগুলো করতে বলব, সেগুলো একবার করবে। যেমন এখানে i-এর মান 1 বসাবে। তারপর দ্বিতীয় অংশের কাজ করবে। দ্বিতীয় অংশে সাধারণত শর্ত ব্যবহার করা হয় (while লুপে প্রথম বন্ধনীর ভেতর আমরা যে কাজটি করি সেরকম)। ওপরের প্রোগ্রামে আমরা দ্বিতীয় অংশে i <= 10 শর্তটি ব্যবহার করেছি। এই শর্ত যদি মিথ্যা হয় তবে প্রোগ্রামটি লুপ থেকে বেরিয়ে আসবে। আর যদি সত্য হয় তবে লুপের ভেতরের কাজগুলো করবে এবং তার পর for লুপের সেই প্রথম বন্ধনীর ভেতর তৃতীয় অংশে যে কাজগুলো করতে বলা হয়েছে সেগুলো করবে। তারপর আবার দ্বিতীয় অংশে এসে শর্ত পরীক্ষা করবে। প্রথম অংশের কাজ কিন্তু আর হবে না। তো আমাদের প্রোগ্রামটি আবার লক্ষ করুন। i <= 10 সত্য, কারণ i-এর মান 1। তারপর printf() ফাংশনের কাজ হবে। তারপর i = i + 1 স্টেটমেন্ট এক্সিকিউট হবে (i-এর মান এক বেড়ে যাবে)। তারপর আবার i <= 10 সত্য না মিথ্যা সেটি পরীক্ষা করা হবে (i-এর মান এখন 2)। তারপর আবার লুপের ভেতরের কাজ হবে (printf())। এভাবে যতক্ষণ না i <= 10 শর্তটি মিথ্যা হচ্ছে ততক্ষণ লুপের ভেতরের কাজ চলতে থাকবে। i-এর মান এক এক করে বেড়ে বেড়ে যখন 11 হবে তখন শর্তটি মিথ্যা হবে আর প্রোগ্রামটি লুপ থেকে বের হয়ে আসবে।
লুপ নিয়ে কিছু কাজ ৭ লুপ
for লুপের প্রথম বন্ধনীর ভেতরের তিনটি অংশই যে ব্যবহার করতে হবে এমন কোন কথা নেই। কোন অংশ ব্যবহার করতে না চাইলে আমরা সেটি ফাঁকা রেখে দিতে পারি, তবে সেমিকোলন কিন্তু অবশ্যই দিতে হবে। যেমন আমরা যদি i-এর মান আগেই নির্ধারণ করে দেই তবে সেটি লুপের ভেতর না করলেও চলে।
int i = 1;
for(; i<= 10; i = i + 1) {
printf("%d X %d =
%d\n", n, i, n*i);
}
যদি তিনটি অংশের কোনোটিই লিখতে না চাই, তবে পুরো প্রোগ্রামটি এভাবে লেখা যায়:
#include <stdio.h>
int main()
{
int n = 5;
int i = 1;
for( ; ; ) {
printf("%d X %d =
%d\n", n, i, n*i);
i = i + 1;
if (i > 10) {
break;
}
}
return 0;
}
লুপ নিয়ে কিছু কাজ ৮ লুপ
এখন আমরা আরেকটি কাজ করব। for লুপ ব্যবহার করে 5-এর নামতায় যে গুণ করেছি (n*i) সেটি না করে কেবল যোগ করে প্রোগ্রামটি লিখব। আমরা কিন্তু 5 x 3-কে লিখতে পারি 5 + 5 + 5। চলুন প্রোগ্রামটি লিখে ফেলি:
#include <stdio.h>
int
main()
{
int
m
,n
=5;
int
i
;
m
=0;
for(
i
=1;
i
<=10;
i
=i
+1)
{
m
=m
+n
;
printf("%d X %d = %d\n",
n
,i
,m
);
}
return
0;
}
এখন আমরা চেষ্টা করব শুধু নির্দিষ্ট একটি সংখ্যার নামতা না লিখে 1 থেকে 20 পর্যন্ত সবগুলো সংখ্যার নামতা একবারে লিখে ফেলতে। অর্থাৎ n-এর মান 5 নির্দিষ্ট না করে 1 থেকে 20 পর্যন্ত হবে। আমরা এটি করব লুপের ভেতর লুপ ব্যবহার করে। একটি লুপের সাহায্যে n-এর মান 1 থেকে 20 পর্যন্ত এক করে বাড়াব। আর তার ভেতর n-এর একটি নির্দিষ্ট মানের জন্য নামতাটা লিখব।
#include <stdio.h>
int
main()
{
int
n
,i
;
for(
n
=1;
n
<=20;
n
=n
+1)
{
for(
i
=1;
i
<=10;
i
=i
+1)
{
printf("%d X %d = %d\n",
n
,i
,n
*i
);
}
}
return
0;
}
আমরা এখানে একটি for লুপের ভেতর আরেকটি for লুপ, যাকে নেস্টেড লুপও (nested loop) বলে, সেটি ব্যবহার করলাম। তো আমরা চাইলে for লুপের ভেতর for বা while অথবা while লুপের ভেতর for বা while লুপ একাধিকবার ব্যবহার করতে পারি।
অনুশীলনী
লুপ নিয়ে কিছু কাজ - ৯ লুপ
আমরা আরেকটি লুপের প্রকারভেদ দেখেছি। তা হল do-while লুপ। এতে কন্ডিশন টি লেখা হয় পরে। এর মানে হল যেই কন্ডিশন দেয়া হক না কেন, do-while এর ভেতরের কাজ একবার কমপক্ষে হবেই। আর প্রতিবার কাজ করার পরে সে দেখবে যে কন্ডিশন কি এখনো মেনে চলা হচ্ছে কিনা। do-while এর কাজ অন্য লুপ ও কন্ডিশন দিয়ে যদিও করা যায়, কিন্তু এটা ব্যাবহার অনেক সময় কোড লেখাকে সোজা করে দেয়। নিচে do-while এর একটি উদাহরণ দেখবো আমরা এবারে।
#include<stdio.h>
int main(){
int x = 0;
do {
printf("%d\n", x);
x++;
} while(x < 5);
return 0;
}
এই প্রোগ্রামের আউটপুট হবেঃ
0
1
2
3
4
5
অনুশীলনী
লুপ নিয়ে কিছু কাজ - ১০ লুপ
এবারে আমরা দেখবো goto ব্যাবহার করে লুপ তৈরি করা। নিচে একটি উদাহরণ দিয়ে ১ থেকে ১০ পর্যন্ত আউটপুট দেয়া হল।
#include <stdio.h>
int main(){
int i = 1;
goto_mark:
printf("%d\n", i);
i++;
if(i <= 10) goto goto_mark;
return 0;
}
int main(){
int i = 1;
goto_mark:
printf("%d\n", i);
i++;
if(i <= 10) goto goto_mark;
return 0;
}
লুপ নিয়ে কিছু কাজ - ১১ লুপ
আমরা এতক্ষন লুপ এর বিভিন্ন উদাহরণ দেখলাম। এখন বিভিন্ন কন্ডিশনে আপনার হঠাৎ লুপ কে বন্ধ করা দরকার হতে পারে। যেমন আপনাকে বলা হল যতক্ষণ পর্যন্ত -১ না পান ততক্ষণ ইনপুট নিতে থাকুন। আপনি যদি -১ পাওয়ার পরে লুপ বন্ধ না করেন তাহলে আপনার কোড বিভিন্ন সমস্যায় পরবে। এজন্য break ব্যাবহার করা হয়। এটি যে লুপের মধ্যে আছে তাকে বন্ধ করে দেয়। নিচে দেয়া হল এর একটি উদাহরণ। এটি -১ না পাওয়া পর্যন্ত কোন সংখ্যা ইনপুট নিবে ও আউটপুট দিবে।
#include<stdio.h>
int main(){
int x;
for( ; ; ){
scanf("%d", &x);
if(x == -1) break;
printf("%d\n", x);
}
return 0;
}
int main(){
int x;
for( ; ; ){
scanf("%d", &x);
if(x == -1) break;
printf("%d\n", x);
}
return 0;
}
লুপ নিয়ে কিছু কাজ - ১২ লুপ
ধরুন আপনাকে বলা হল একটি কন্ডিশনে আপনার হঠাৎ লুপ কে ব্যাবহার করবেন না, কিন্তু বন্ধও করবেন না, শুধু ঐ বারের জন্য ছেড়ে দিবেন। যেমন আপনাকে বলা হল যদি ঋণাত্মক পান তাহলে কিছু করবেন না। কিন্তু অন্যথায় সংখ্যাটি আউটপুট দিন। এজন্য continue ব্যাবহার করা হয়। এটি যে লুপের মধ্যে আছে তাকে ঐ কন্ডিশন এর জন্য ওইবারে ছেড়ে দিবে। নিচে দেয়া হল এর একটি উদাহরণ।
#include<stdio.h>
int main(){
int x, i;
for(i = 0; i < 10; i++){
scanf("%d", &x);
if(x < 0) continue;
printf("%d\n", x);
}
return 0;
}
int main(){
int x, i;
for(i = 0; i < 10; i++){
scanf("%d", &x);
if(x < 0) continue;
printf("%d\n", x);
}
return 0;
}
এটাতে আপনি ১০ টি সংখ্যা ইনপুট দিতে হবে। কিন্তু এরমধ্যে শুধু ০ বা তার চেয়ে বড় হলেই সংখ্যাটি আউটপুট দেয়া হবে।
লুপ নিয়ে কিছু কাজ - ১৩ লুপ
এবারে আমরা for ও while লুপ দিয়ে অ্যারে ব্যাবহার করা দেখবো। নিচের উদাহরণে ২ উপায়েই অ্যারে ব্যাবহার করা দেখান হয়েছে।
#include<stdio.h>
int main(){
int ar[5] = { 1, 4, 2, 3 4 };
int i;
for(i = 0; i < 5; i++) printf("%d\n", ar[i]);
return 0;
}
int main(){
int ar[5] = { 1, 4, 2, 3 4 };
int i;
for(i = 0; i < 5; i++) printf("%d\n", ar[i]);
return 0;
}
#include<stdio.h>
int main(){
int ar[5] = { 1, 4, 2, 3 4 };
int i = 0;
while(i < 5) printf("%d\n", ar[i++]);
return 0;
}
int main(){
int ar[5] = { 1, 4, 2, 3 4 };
int i = 0;
while(i < 5) printf("%d\n", ar[i++]);
return 0;
}
নেস্টেড লুপ ১ লুপ
নিচের কোডটি খেয়াল করুন
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
printf("First loop = %d,
Second loop = %d\n",i,j);
}
printf("\n");
}
return 0;
}
কোডটি রান করলে নিম্নোক্ত আউটপুট আসবে
First loop = 1, Second loop = 1
First loop = 1, Second loop = 2
First loop = 1, Second loop = 3
First loop = 2, Second loop = 1
First loop = 2, Second loop = 2
First loop = 2, Second loop = 3
First loop = 3, Second loop = 1
First loop = 3, Second loop = 2
First loop = 3, Second loop = 3
উপরোক্ত আউটপুট থেকে আমারা দেখি যে প্রথম লুপ একবার ঘুরলে দ্বিতীয় লুপ তিন বার ঘুরে। প্রথম লুপ নতুন করে ঘুরলে দ্বিতীয় লুপ আবার ও তিনবার ঘুরে। এভাবে প্রথম লুপ যাতবার ঘুরে দ্বিতীয়লুপ ততবার তিনবার করে ঘুরে। প্রথম লুপ ঘুরা শেষ হলে দ্বিতীয় লুপ আর ঘুরে না। কারন, দ্বিতীয় লুপ প্রথম লুপের ভিতরে অবস্থিত। এভাবে এক লুপ বডির ভিতর আর এক লুপ থাকলে তাকে নেস্টেড লুপ বলে।
নেস্টেড লুপ ২ লুপ
আপনারা এতক্ষন ফর লুপ দিয়ে নেস্টেড লুপ দেখেছেন। আগের উদাহরণগুলো এবার while লুপ দিয়ে দেখানো হবে। নিচের উদাহরণটি দেখুনঃ
#include <stdio.h>
int main()
{
int i=1;
while(i<=3)
{
int j=1;
while(j<=3)
{
printf("First loop = %d,
Second loop = %d\n",i,j);
j++;
}
i++;
printf("\n");
}
return 0;
}
এই কোডটির আউটপুট ও ফর লুপের আউটপুটের মতই আসবে। নিচে আউটপুট দেওয়া হলঃ
First loop = 1, Second loop = 1
First loop = 1, Second loop = 2
First loop = 1, Second loop = 3
First loop = 2, Second loop = 1
First loop = 2, Second loop = 2
First loop = 2, Second loop = 3
First loop = 3, Second loop = 1
First loop = 3, Second loop = 2
First loop = 3, Second loop = 3
নেস্টেড লুপ ৩ লুপ
এবার do.....while লুপ দিয়ে নেস্টেড লুপের উদাহরণ দেখানো হলঃ
#include <stdio.h>
int main()
{
int i=1;
do
{
int j=1;
do
{
printf("First loop = %d,
Second loop = %d\n",i,j);
j++;
}while(j<=3);
i++;
printf("\n");
}while(i<=3);
return 0;
}
উপরের কোডের আউটপুট নিচে দেওয়া হলঃ
First loop = 1, Second loop = 1
First loop = 1, Second loop = 2
First loop = 1, Second loop = 3
First loop = 2, Second loop = 1
First loop = 2, Second loop = 2
First loop = 2, Second loop = 3
First loop = 3, Second loop = 1
First loop = 3, Second loop = 2
First loop = 3, Second loop = 3
নেস্টেড লুপ ৪ লুপ
এতক্ষন আপনারা দেখেছেন নেস্টেড লুপ এক ই ধরনের লুপ দিয়ে গঠিত হয়। অর্থ্যাৎ, হয় শুধু ফর লুপ দিয়ে অথবা হোয়াইল লুপ দিয়ে অথবা ডু...হোয়াইল লুপ দিয়ে। এখন আপনারা দেখবেন দুইটি ভিন্ন রকমের লুপ দিয়েও নেস্টেড লুপ গঠিত হতে পারে। নিচে ফর লুপ এবং হোয়াইল লুপ দিয়ে গঠিত নেস্টেড লুপের উদাহরণ দেওয়া হল। এখানেও আমরা আগের উদাহরণটি এ দিলাম যেন আপনাদের বুঝতে সবিধা হয়।
#include <stdio.h>
int main()
{
int i;
for(i=1; i<=3; i++)
{
int j=1;
while(j<=3)
{
printf("First loop = %d,
Second loop = %d\n",i,j);
j++;
}
printf("\n");
}
return 0;
}
উপরোক্ত কোডের আউটপুট নিচে দেওয়া হলঃ
First loop = 1, Second loop = 1
First loop = 1, Second loop = 2
First loop = 1, Second loop = 3
First loop = 2, Second loop = 1
First loop = 2, Second loop = 2
First loop = 2, Second loop = 3
First loop = 3, Second loop = 1
First loop = 3, Second loop = 2
First loop = 3, Second loop = 3
নেস্টেড লুপ লুপ
আপনারা জানেন যে এক লুপের ভিতর আরেক লুপ থাকলে তাকে নেস্টেড লুপ বলে। নেস্টেড লুপ গঠন শুধু দুইটি লুপ দিয়ে সীমাবদ্ব না। দুইয়ের অধিক লুপ নিয়েও নেস্টেড লুপ গঠিত হয়। নিচের উদাহরণটিতে দুইয়ের অধিক লুপ দেখানো হয়েছে।
#include <stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=2;i++)
{
for(j=1;j<=2;j++)
{
for(k=1;k<=2;k++)
{
printf("First loop: %d ,
Second loop: %d , Third loop: %d\n",i,j,k);
}
}
printf("\n");
}
return 0;
}
উপরোক্ত কোডে প্রথম লুপটি একবার ঘুরলে দ্বিতীয় লুপটি দুইবার ঘুরবে। আবার দ্বিতীয় লুপটি একবার ঘুরলে তৃতীয় লুপটি দুইবার ঘুরবে।
এভাবে নেস্টেড লুপ "N" টি লুপ নিয়েও গঠিত হতে পারে।
নেস্টেড লুপ ৫ লুপ
আমরা এভাবে ৪ টি নেস্টেড লুপ ও তৈরি করতে পারি। নিচের কোডটি এটার উদাহরণ দেখাবে।
#include<stdio.h>
int main(){
int i, j, k, l;
for(i = 0; i < 5; i++)
for(j = 0; j < 6; j++)
for(k = 0; k < 3; k++)
for(l = 0; l < 8; l++)
printf("i is: %d, j is: %d, k is %d, l is %d\n", i, j, k, l);
return 0;
}
int main(){
int i, j, k, l;
for(i = 0; i < 5; i++)
for(j = 0; j < 6; j++)
for(k = 0; k < 3; k++)
for(l = 0; l < 8; l++)
printf("i is: %d, j is: %d, k is %d, l is %d\n", i, j, k, l);
return 0;
}
নেস্টেড লুপ ৬ লুপ
নিচের কোডটি for লুপ, while লুপ ও do-while লুপ কে একসাথে ব্যাবহার করে দেখাবে।
#include<stdio.h>
int main(){
int i, j, k;
for(i = 0; i < 5; i++){
j = 0;
while(j <= 5){
j++;
k = 0;
do{
printf("i:%d j:%d k:%d\n", i, j, k);
}
while(k < 5);
}
}
return 0;
}
int main(){
int i, j, k;
for(i = 0; i < 5; i++){
j = 0;
while(j <= 5){
j++;
k = 0;
do{
printf("i:%d j:%d k:%d\n", i, j, k);
}
while(k < 5);
}
}
return 0;
}
নেস্টেড লুপ ৭ লুপ
এবারে আমরা নেস্টেড লুপ দিয়ে ব্রেক ব্যাবহার করা দেখবো।
#include<stdio.h>
int main(){
int i, j;
for(i = 0; i < 10; i++){
for(j = 0; j < 10; j++){
if(j == 8) break;
printf("%d\n", i*j);
}
}
return 0;
}
int main(){
int i, j;
for(i = 0; i < 10; i++){
for(j = 0; j < 10; j++){
if(j == 8) break;
printf("%d\n", i*j);
}
}
return 0;
}
এতে ভিতরের লুপটি যখন ৮ হবে তখন তা ব্রেক করবে। কিন্তু প্রথম লুপটি চলতে থাকবে। ফলে ২য় লুপটি আবার শুরু থেকে কাজ করবে।
নেস্টেড লুপ ৮ লুপ
নেস্টেড লুপ এ কোন মানের জন্য continue করতে হলে নিচের কোডের মত করে করতে হবে।
#include<stdio.h>
int main(){
int i, j;
for(i = 0; i < 10; i++){
if(i % 2 == 0) continue;
for(j = 0; j < 10; j++){
printf("%d\n", i*j);
}
}
return 0;
}
int main(){
int i, j;
for(i = 0; i < 10; i++){
if(i % 2 == 0) continue;
for(j = 0; j < 10; j++){
printf("%d\n", i*j);
}
}
return 0;
}
এই কোডে ২য় লুপটি ঠিকমত চলবে কিন্তু প্রথম লুপটি তখন চলবে যখন i এর মান বিজোড় হবে।
Shuvo Kumar Saha
cse,uap
contact
mobile:+8801748882715
email:shuvosaha764@gmail.com
facebook:https://www.facebook.com/kingkor.saha.94
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন