«

»

শখের বশে সি প্রোগ্রামিং: গসাগু নির্ণয়ের প্রোগ্রাম তৈরি(৪)

বন্ধুরা, গসাগু নির্ণয়ের প্রোগ্রামের কথা মনে আছে যার কোড নিয়ে সম্প্রতি আলোচনা করেছি এবং করছি। আসুন কোডটি আরেকবার দেখে নিই।


#include<stdio.h>

#include<conio.h>

void main()

{clrscr();

int loop,var1,var2,count=0;

printf("ENTER THE TWO NUMBERS TO GET GCF\n");

scanf("%d %d",&var1,&var2);

for(loop=2;loop<=var1;loop++)

{ if(var1%loop==0 && var2%loop==0)

printf("%d\n",loop);

count++;

break;

}

if(count==0)

printf("1");

getch();

}

এই কোডে for loop ব্যবহার করেছে। এখানে for এর পরে () এর মধ্যে দুইটি “;” দিয়ে তিনটি স্টেটমেন্ট লেখা হয়েছে। প্রথম স্টেটমেন্ট loop=2 এর মাধ্যমে loop ভেরিয়েবলের মান 2 নির্ধারণ করা হয়েছে। দ্বিতীয় স্টেটমেন্ট loop<=var1 এর মাধ্যমে চেক করা হচ্ছে যে, loop ভেরিয়েবলে যে মান আছে তা var1 এ সংরক্ষিত মানের থেক ছোট অথবা সমান কিনা। যদি ছোট অথবা সমান হয় তবে  এর পরে {} এর ভেতরে লেখা কোড কাজ করবে। অর্থাৎ

{ if(var1%loop==0 && var2%loop==0)

{printf(“%d\n”,loop);

count++;

break;}

}

এই অংশটুকু কাজ করবে। এই অংশে if(var1%loop==0 && var2%loop==0)এর মাধ্যমে বলা হচ্ছে যদি var1 কে loop ভেরিয়েবলের সংখ্যা দিয়ে ভাগ করলে ভাগশেষ না থাকে এবং var2 কে ভাগ করলেও ভাগশেষ না থাকে অর্থাৎ উভয় ক্ষেত্রে নিঃশেষে বিভাজ্য হলে এর পরের কোডটুকু কাজকরবে অর্থাৎ loop ভেরিয়েবলের সংরক্ষিত ডাটা তথা সংখ্যাটি এক্সিকিউট হবে printf(“%d\n”,loop); এর মাধ্যমে । count এর মান ১ বাড়বে count++ এর মাধ্যমে এবং লুপ শেষ হয়ে যাবে break কমান্ডের মাধ্যমে।

আর যদি var1 বা var2 নিঃশেষে বিভাজ্য না হয় তবে

printf(“%d\n”,loop);

count++;

break;

কোড তিনটি কাজ করবেনা এবং loop এর মান 1 বাড়বে for লুপের ৩নং স্টেটমেন্ট loop++ এর মাধ্যমে।

এভাবে loop এর প্রথম যে মানের জন্য var1 এবং var2 নিঃশেষে বিভাজ্য হবে সে মানই হবে গসাগু এবং এর পরে যেনো আর for loop কাজ করে আর কোনো মান খুঁজতে না পারে তাই break এর মাধ্যমে লুপ থেকে এক্সিট করা হয়েছে loop এর মানকে গসাগু হিসেবে পাওয়ার পরে।

for loop এর বাইরে লেখা হয়েছে

if(count==0)

printf(“1”);

getch();

যার মাধ্যমে বোঝানো হচ্ছে যদি count এর মান ০ হয় তবে গসাগু হিসেবে ১ প্রদর্শন করা হয়। কারণ count তখনই ০ হবে যখন for loop এর ভেতরের count++ কোড কাজ করবে না আর count++ কোড কাজ করবে না তখনই যখন কোনো মান পাওয়া যাবে না loop ভেরিয়েবলের জন্য যে মান দিয়ে var1 ও var2 নিঃশেষে বিভাজ্য হয়।

getch() ফাংশনের মাধ্যমে প্রোগ্রাম একটি ডাটা ইনপুট হিসেবে পাওয়ার জন্য অপেক্ষা করবে। ডাটাটি ইনপুট হিসেবে দেয়ার সাথে সাথে প্রোগ্রাম শেষ হয়ে যাবে এবং এক্সিট করবে। এই ফাংশনটি ব্যবহার করা হয়েছে পুরো ফাংশনটি স্থির অবস্থায় রাখার জন্য যেনো প্রোগ্রাম শেষে তা স্ক্রীনে দেখতে পাওয়া যায়।

বন্ধুরা আজ এ পর্যন্তই। কেমন লাগলো জানাবেন। সবাইকে ধন্যবাদ।

 



এ সম্পর্কিত আরো কিছু টুইট:

বিনামুল্যে 3ds max ভিডিও টিউটোরিয়াল | বইয়ের পৃষ্ঠা এনিমেশন টিউটোরিয়াল
আসুন শিখি পিএইচপিঃপর্ব-১০
উপহার নিন একটি পরিপূর্ণ “ODESK” টিউটোরিয়াল গাইড এবং সাথে যাবতীয় ফ্রী বই নামানোর ডাউনলোড ঠিকানা!!
চট্টগ্রামের ভাষা শিখুন পর্ব (২)
ফটোশপে দিন রংধনু (Rainbow) ইফেক্ট (স্টেপ বাই স্টেপ টিউটোরিয়াল, ছবিসহ)
ছবির মধ্যে লেখা কপি করুন অনায়াসে
আর কোন কাজ না জানলেও চলবে

মন্তব্য দিনঃ

comments

About the author

MITHU

Permanent link to this article: http://techtweets.com.bd/tutorials/mithublue/11315

মন্তব্য করুন