«

»

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

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


#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() ফাংশনের মাধ্যমে প্রোগ্রাম একটি ডাটা ইনপুট হিসেবে পাওয়ার জন্য অপেক্ষা করবে। ডাটাটি ইনপুট হিসেবে দেয়ার সাথে সাথে প্রোগ্রাম শেষ হয়ে যাবে এবং এক্সিট করবে। এই ফাংশনটি ব্যবহার করা হয়েছে পুরো ফাংশনটি স্থির অবস্থায় রাখার জন্য যেনো প্রোগ্রাম শেষে তা স্ক্রীনে দেখতে পাওয়া যায়।

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

 



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

মজার টিপস (৪).......
আপনি কি জানেন আপনার মোবাইল Chinese(中国的) নাকি Xinxiran (জিঞ্জিরান) 😀
ফটোশপ Effect এর দুনিয়া [পর্ব-০৫] ::Bricks wall Text Effect
আপনার BLOGGER ব্লগে যুক্ত করুন একটি আকর্ষনীয় SUBSCRIBE BOX
নিয়ে নিন ফ্রী পেয়নিয়ার মাস্টারকার্ড(Payoneer Mastercard) সাথে $25 বোনাস
অনলাইনে গ্রাফিক ডিজাইন শিখুন – টি শার্ট মকাপ ডিজাইন উইথ রেয়ালস্তিক এফেক্ট কি ভাবে অ্যাপ্লাই করবেন।
Windows 8 Pro ISO লাইসেন্স Key সহ ডাউনলোড করে Pendrive এর মাধ্যমে Setup দিবেন যেভাবে।

মন্তব্য দিনঃ

comments

About the author

MITHU

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

মন্তব্য করুন