Sunday, 10 September 2017

while লুপের পরিচিতি ( while Loop)

মনেকরো, তোমাকে বলা হলো ১-১০ পর্যন্ত সব গুলা সংখ্যা প্রিন্ট করার জন্য। তুমি নিশ্চয়ই এখন সেটা লুপ দিয়ে করার চেষ্টা করবে। তাহলে প্রোগ্রামটা হতে পারে এরকম:



#include<stdio.h>
int main()
{
    int i;
    for(i=1; i<=10; i++)
    {
        printf("%d ",i);
    }
    return 0;
}


উপরের প্রোগ্রামে প্রতিবার i  এর মান প্রিন্ট হচ্ছে এবং প্রতিবার লুপ ঘুরার সাথে সাথে i এর মান ও বাড়ছে। আশা করি উপরের প্রোগ্রামটিতে তোমাদের কোন অসুবিধা নেই।

এবার আমরা এই প্রোগ্রামটি  while loop দিয়ে করবো।

#include<stdio.h>
int main()
{
    int i=1;
    while(i<=10)
    {
        printf("%d ",i);
        i++;
    }
    return 0;
}

এই প্রোগ্রাম কিভাবে কাজ করছে?
প্রথমে দেখবে i এর মান 1 .এর পর আমরা while এর ভিতর শর্ত দিয়েছি i এর মান 10 থেকে ছোট বা 10 এর সমান কি না?
ঠিক যেমন আমরা for loop এর ব্রেকিং কন্ডিশন এ দিয়েছি সেরকম। while loop এর ( ) এর ভিতরে ব্রেকিং কন্ডিশন দিতে হয়।

তারপর আমরা i এর মান প্রিন্ট করতে বলেছি। কম্পাইলার দেখবে i এর মান 1 এবং সেটা 10 এর ছোট , শর্ত সত্য। তাই  while loop এর বডিতে আসবে। এবার দেখবে i এর মান প্রিন্ট করতে বলা হয়েছে।
যেহেতু i এর মান 1 ,তাই 1 প্রিন্ট হবে। আমরা %d এর পর একটা স্পেস দিয়েছি। তাই আউটপুট এ ও 1 এর পর একটা স্পেস প্রিন্ট হবে। এবার দেখো i++ দেওয়া আছে, এর মানে i এর মান ১ বাড়বে।

এখন i এর মান 2 । কম্পাইলার এখন আবার while লুপের শর্ত চেক করবে। এখন দেখবে i<=10 শর্ত সত্য কারণ ২ এর মান ১০ থেকে ছোট। তাই আবার i এর মান প্রিন্ট করবে এবং তারপর i এর মান ১ বাড়াবে। এখন i এর মান 3 .

এভাবে যখন i এর মান 10 হবে তখন while লপের ভিতরে যাওয়ার পর কম্পাইলার দেখবে i<=10 শর্ত সত্য। কারণ ১০ এর মান ১০ এর সমান। তাই এবার ও i  এর মান প্রিন্ট হবে এবং i++ হয়ে i এর মান 1 বেড়ে 11 হবে।
কম্পাইলার আবারও while আসবে এবং শর্ত চেক করবে । কিন্তু ১১ এর মান ১০ থেকে ছোট নয় বা ১০ এর সমান নয়। তাই while  loop এর ভিতরে দেওয়া কন্ডিশনটা এখন মিথ্যা। তাই কম্পাইলার লুপ থেকে বের হয়ে যাবে। এবং return 0; তে আসবে। তারপর প্রোগ্রাম্ বন্ধ হয়ে যাবে।

আশাকরি তোমরা while loop কিভাবে কাজ করে এখন তা বোঝতে পারছো।  

Saturday, 9 September 2017

লপের ঘুরাঘুরি (Loop in C program) part-3

চলছেই চলবেঃ

শিরোনাম দেখে কি কিছুটা ঘাবড়ে গেছো ?  ঘাবড়ানোর কিছু নেই।
আমরা লুপের কথাই বলছি।  আমরা চাইলেই একতি লুপকে অবিরাম ঘুরাতে পারি। আবার নিজের অজান্তে প্রোগ্রামে দেখা যায়, কখনো কখনো প্রোগ্রাম চলতেই থাকে বন্ধ হয় না। এ ধরণের লুপকে বলা ইনফিনিট লুপ। মানে যে লুপের কোন শেষ নেই।


নিচের প্রোগ্রামটি রান করে দেখোঃ


#include<stdio.h>
int main()
{
    int i=0,j=0;
    for(i=0; i==j; i++,j++)
    {
        printf("%d %d\n",i,j);
    }
    return 0;
}
প্রোগ্রামটি শুরু হয়ে আর বন্ধ হয় নি তাই না। নিজে থেকে বন্ধ করলে তবেই বন্ধ হবে। এবার আরেকটি প্রগ্রাম দেখিঃ

#include<stdio.h>
int main()
{
    
    for( ; ; )
    {
        printf("hello\n");
    }
    return 0;
}

এই প্রোগ্রামে আমরা কোন শর্ত দেই নি। তাই কোন ব্রেকিং কন্ডিশন না থাকায় প্রোগ্রাম বন্ধ হবে না। অনির্দিষ্ট সময় পর্যন্ত চলবে।

এরকম মাঝে মাঝে প্রোগ্রাম করার পর যদি দেখো তা আর বন্ধ হচ্ছে না তাহলে খুজে দেখবে তোমার ব্রেকিং কন্ডিশন ঠিক আছে কি না?

Thursday, 7 September 2017

লুপের ঘুরাঘুরি (Loop in C program) part-2



আমরা গত পর্বে একটা প্রোগ্রাম লিখেছিলাম,

যেখানে for(i=1; i<=5; i=i+1) লুপটা এই রকম ছিলো।
আমরা আজকে করবো সামান্য কিছু পরিবর্তন করে।


 
#include<stdio.h >
int main()
{
    int i=0;
    for(i=0; i<5; i=i+1)
    {
        printf("Hello world\n");
    }
    return 0;
}

আমরা আগের প্রোগ্রামে i এর মান নিয়েছিলাম 1. কিন্তু এবার i এর মান 0.
তাই শর্তটি ও সামান্য বদলেছে। i<=5 এর পরিবর্তে আমরা i<5 বসিয়েছি। এর মানে i এর মান 0 থেকে শুরু হবে এবং
5 এর আগে অর্থাৎ 4 গিয়ে শেষ হবে।
তোমার যতথেকে ইচ্ছা i এর মান নিতে পারো, তবে সচারচর i=0 থেকেই নেওয়া হয়। এবার নিচের প্রোগ্রামটা দেখোঃ
 
#include<stdio.h >
int main()
{
    int i=0;
    for(i=0; i<5; i++)
    {
        printf("Hello world\n");
    }
    return 0;
}

এবার কি কোন পার্থক্য দেখতে পারছো? i=i+1 এর জায়গায় আমরা i++  বসিয়ে দিয়েছি।
i+1 কে i++ লেখা হয় সংক্ষেপে।

এবার নিচের প্রোগ্রামটা দেখোঃ
 
#include<stdio.h >
int main()
{
    int i;
    for(i=0; i<5; i++)
    {
        printf("Hello world\n");
    }
    return 0;
}

এই প্রোগ্রামেও শধু একটা জিনিস বদলেছি, আমরা int i=0 ; এই অংশটুকুটায় শধু int i; লেখেছি। এর কারণ হলো,
for(i=0;........) এইখানে আমরা i এর মান নির্ধারণ করে দিয়েছি। তাই আর উপরে না দিলেও চলবে।
নিচের প্রোগ্রামটা রান করে দেখোঃ

#include <stdio.h>
int main()
{
    int i=50;

    for(i=0; i<5; i++)
{
printf("%d\n",i);
}
return 0;
}

বলো তো আউটপুট কি? এর আউটপুট হলো 0,1,2,3,4
উপরে i এর মান 50 হলেও , for(i=0.. এই লাইনে এসে i er ,man ekon ০ হয়ে গেছে। তাই কাইন্ট 0 থেকেই শুরু হবে, এনং প্রতিবার i এর মান প্রিন্ট করবে।

এবার মনেকরো আমাদের বলা হলো ১-১০ পর্যন্ত  সংখ্যা প্রিন্ট করতে , নিশ্চয় ১০ বার printf(.........)
লেখা শুরু করবে না। তাহলে চলো লুপ দিয়ে প্রোগ্রামটা লিখিঃ

#include<stdio.h>

int main()

{

    int i;



    for(i=1; i<=10; i++)

    {

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

    }

    return 0;

}


আমরা একই  প্রোগ্রামটা for(i=1; i<11; i++) এভাবেও লিখতে পারতাম। এই স্টেটমেন্টটার লজিক তুমি নিজে বের করার চেস্টা করো।

এখন মনেকরো বলা হলো ০-১০ পর্যন্ত প্রিন্ট করতে হবে। তাহলে আমাদের প্রোগ্রামটা হবে এরকমঃ

#include<stdio.h>

int main()

{

    int i;



    for(i=0; i<=10; i++)

    {

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

    }

    return 0;

}

একই প্রোগ্রামটা আমরা for(i=0; i<11; i++) দিয়ে লিখতে পারি।

আশাকরি i এর মান ইনিশিয়ালাইজড এবং ব্রেকিং কন্ডিশন নিয়ে তোমাদের আর কোন অসুবিধা নেই। তবু কোন কিছু না বোঝলে অবশ্যই কমেন্টে জানাবে।

Tuesday, 5 September 2017

লুপের ঘুরাঘুরি (Loop in C program)

যারা লুপ শব্দের অর্থ জানো তারা নিশ্চয়ই এর কাজ সমন্ধেও কিছুটা ধারণা করতে পারছো।

লুপ শব্দের আবিধানিক ( loop ) অর্থ চক্র।



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


মনেকরো তোমাকে  "Hello World" এই লেখাটা ৫ বার স্ক্রিনে দেখাতে বলা হলো। তাহলে তুমি কি করবে?

নিশ্চয়ই 
printf("Hello World\n");
printf("Hello World\n");
printf("Hello World\n");
printf("Hello World\n");
printf("Hello World\n");

এভাবে করতে পারবে।  কিন্তু যদি বলা হয় ১০০ বার বা ১০০০ বার করতে ? না এভাবে ১০০০ বার এক লাইন লিখে আর যা হোক , প্রোগামিং এর মতো মজার একটা জিনিসকে বিরক্তিকর করার মানে হয় না। আর এ বিরক্তিটা থেকে মুক্তি পাওয়ার জন্যই লুপের অবতারণা।

এবার নিচের প্রোগ্রামটা দেখোঃ

 
#include<stdio.h >
int main()
{
    int i=1;
    for(i=1; i<=5; i=i+1)
    {
        printf("Hello world\n");
    }
    return 0;
}



কি চমৎকার তাই না। মাত্র কয়টা লাইন লিখেই আমরা ৫ বার  Hello World  প্রিন্ট করে দিলাম।
শুধু ৫ বার নয় আমরা চাইলে এই সমান প্রোগ্রামে সামান্য একটু পরিবর্তন করেই ১০০ বার Hello World প্রিন্ট করতে পারবো। শুধু নিচের মতো একটু পরিবর্তন করে কোড টা রান করে দেখো।

for( i=1; i<=100; i= i+1)

হ্যা, 5 এর জায়গায় 100  বসিয়ে দিলেই আমাদের কাজ শেষ।

উপরের প্রোগ্রামটা আমরা for লুপ দিয়ে করেছি। সি তে সাধারণত ৩ ধরণের লুপ আছে, for , while এবং do-while loop.

ধীরে ধীরে আমরা সব গুলা লুপের সাথে পরিচিত হবো। 



প্রথমে আমরা একটা ইন্টিজার ভেরিয়েবল ডেক্লিয়ার করেছি, যার নাম দিয়েছি i. তুমি চাইলে a,b,c,d...... যেকোন নাম দিতে পারো। তবে সাধারণত প্রায় সব প্রোগ্রামে  i, j, k এভাবে নাম করণ দেখবে।  i কে এইখানে বলা হয় counter variable । কারণ লুপটি কতবার ঘুরছে  তা নির্ণয়ের জন্য এখানে i ব্যবহার করা হয়েছে।
আমরা i এর মান দিয়েছি 1.
তারপর
for( i=1 ;  i<=5;  i = i+1)
এই লাইনে i=1 এর পর একটা সেমিকোলন আছে, প্রথম অবস্থায় সবার ই এই সেমিকোলন নিয়ে একটু আধটু সমস্যা হয়। তবে একটু মাথা ঠান্ডা রেখে প্রোগ্রামিং করলে এসব সমস্যা সহযেই এড়ানো যায়।

তারপর আমরা দিয়েছি i<=5.
একে বলা হয় ব্রেকিং কন্ডিশন। যতক্ষণ পর্যন্ত এই কন্ডিশন সত্য থাকবে ততোক্ষণ পর্যন্ত লুপ চলবে।
এই শর্ত মিথ্যা হয়ে গেলে লুপ বন্ধ হয়ে যাবে। ।

তারপর আরেকটি সেমিকোলন (;) । এই সেমিকোলনের পর i=i+1 লেখা হয়েছে।
অর্থাৎ , প্রতিবার Hello World  প্রিন্ট করার পর i এর মান এক করে বাড়বে।


এবার চলো দেখে নেই উপরের প্রোগ্রামটি কিভাবে কাজ করছে।

প্রথমে  কম্পাইলার for লুপে আসার পর দেখবে for(i=1; ........)

একে বলা হয় "ইনিশিয়ালাইজড" (initialized) করা। সহজ কথায় i এর মান (কাউন্টার ভেরিয়েবল এর শুরুর মান) ঠিক করে দেওয়া।

তারপর কম্পাইলার i<=5 এইখানে আসবে, এবার চেক করবে i এর মান 5 এর চেয়ে ছোট বা সমান কি না?
যেহেতু i এর মান 1 এবং 1<=5 শর্তটি সত্য তাই for loop এর বডিতে আসবে।
{

     দুইটা দ্বিতীয় বন্ধনীর মধ্যবর্তী এই অংশকে বডি বলা হয়।
}

প্রথম অবস্থায় হয়তো মনে হতে পারে, i<=5 এর পর কম্পাইলার i=i+1 এই অংশে যাবে। কিন্তু না!
শর্ত সত্য হলে বডিতে আসবে এবং { } এর ভিতরের নির্দেশ অনু্যায়ী কাজ করবে।
বডির ভিতরে কমান্ড হলো printf("Hello World\n");

তাই একবার Hello World এই লেখাটা প্রিন্ট হবে।
 তারপর i=i+1 এ যাবে, এবং i  এর মান এক বেড়ে  1 থেকে 2  হবে।
এবার কম্পাইলার আর i=1 এই অংশে যাবে না। সরাসরি i<=5 এই অংশে চলে আসবে।
i=1  এই অংশটা শুধু মাত্র প্রোগ্রাম শুরুর পর প্রথম বার গ্রহণ হবে এবং i এর মান সেট হবে।


একবার লুপ ঘুরার পর যখন i=2 হবে তখন কম্পাইলার সরাসরি i<=5 এ আসবে , এবং পরীক্ষা করবে i এর মান 5 থেকে ছোট বা 5 এর সমান কি না ?


এখন i = 2 ; তাই i<=5 শর্তটি সত্য,   

তাই কম্পাইলার আবার for লুপের বডিতে আসবে এবং আবার প্রিন্ট হবে  Hello World. তারপর, i=i+1 হবে, এখন i এর মান 3. কম্পাইলার আবার কন্ডিশনে আসবে , এবং পরীক্ষা করবে  i<=5 কি না? যেহেতু i = 3 , এবং তা 5 এর চেয়ে ছোট তাই আবার প্রিন্ট হবে Hello World.

আবার, i=i+1 হবে, এখন i এর মান 4. কম্পাইলার আবার কন্ডিশনে আসবে , এবং পরীক্ষা করবে  i<=5 কি না? যেহেতু i = 4 , এবং তা 5 এর চেয়ে ছোট তাই আবার প্রিন্ট হবে Hello World.

এখন আবার, i=i+1 হবে, এখন i এর মান 5. কম্পাইলার আবার কন্ডিশনে আসবে , এবং পরীক্ষা করবে  i<=5 কি না? যেহেতু i = 5 , এবং তা 5 এর চেয়ে ছোট নয়, কিন্তু পাঁচ তো পাঁচ এর সমান, তাই এবার ও শর্ত সত্য এবং কম্পাইলার বডিতে যাবে,  এবন প্রিন্ট হবে Hello World.

এখন,  আবার, i =i+1 হবে, এখন i এর মান 6. কম্পাইলার আবার কন্ডিশনে আসবে , এবং পরীক্ষা করবে  i<=5 কি না?
যেহেতু,  i = 6 , এবং i এর মান 5 থেকে বড়, তাই এবার  i<=5 শর্তটি মিথ্যা। শর্তটি মিথ্যা হও্যার সাথে সাথে লুপ বন্ধ হয়ে যাবে।
কম্পাইলার return 0;  তে চলে আসবে এবনহ প্রোগ্রাম শেষ হয়ে যাবে।

Solution of If-else problem (part-2)




7.একটি অ্যালফাবেট VOWEL নাকি CONSONENT ? তা নির্ণয়ের প্রোগ্রাম লিখো।

#include <stdio.h>

int main()
{
    char ch;

    /* Input character from user */
    printf("Enter any character: ");
    scanf("%c", &ch);


    /* Condition for vowel */
    if(ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u' || 
       ch=='A' || ch=='E' || ch=='I' || ch=='O' || ch=='U')
    {
        printf("'%c' is Vowel.", ch);
    }
    else if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        /* Condition for consonant */
        printf("'%c' is Consonant.", ch);
    }
    else 
    {
        /*
         * If it is neither vowel nor consonant
         * then it is not an alphabet.
         */
        printf("'%c' is not an alphabet.", ch);
    }

    return 0;
}

8.যেকোন ক্যারেক্টার ইউজারের কাছ থেকে ইনপুট নাও। এবার ক্যারেক্টার টি  ALPHABET বা DIGIT বা Special Character  কিনা? তা নির্ণয়ের প্রোগ্রাম লিখো।
 
#include <stdio.h>

int main()
{
    char ch;

    /* Input character from user */
    printf("Enter any character: ");
    scanf("%c", &ch);


    /* Alphabet check */
    if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        printf("'%c' is alphabet.", ch);
    }
    else if(ch >= '0' && ch <= '9')
    {
        printf("'%c' is digit.", ch);
    }
    else 
    {
        printf("'%c' is special character.", ch);
    }

    return 0;
}


9.একটি অক্ষর বড় হাতের অক্ষর নাকি ছোট হাতের তা নির্ণয়ের প্রোগ্রাম লিখো।
#include <stdio.h>

int main()
{
    char ch;

    /* Input character from user */
    printf("Enter any character: ");
    scanf("%c", &ch);


    if(ch >= 'A' && ch <= 'Z')
    {
        printf("'%c' is uppercase alphabet.", ch);
    }
    else if(ch >= 'a' && ch <= 'z')
    {
        printf("'%c' is lowercase alphabet.", ch);
    }
    else
    {
        printf("'%c' is not an alphabet.", ch);
    }

    return 0;
}
10.ইউজারের কাছ থেকে ডলার ইনপুট নাও এবং টাকায় কনভার্ট করার প্রোগ্রাম লিখ। যদি ডলারের পরিমাণ $10 এর কম হয় তবে প্রতি ডলার ৮০ টাকা। আর যদি ডলারের পরিমাণ $5 এর বেশি হয় তবে প্রতি ডলার ৮৫ টাকা ধরে।

#include<stdio.h>
int main()
{
    int dollar;

    scanf("%d",&dollar);

    if (dollar<5)
    {
        printf("Taka = %d",dollar*80);
    }
    else
    {
        printf("Taka = %d",dollar*85);
    }
    return 0;
}


11. একটি ত্রিভুজ এর তিনটি কোণের মান ইনপুট নাও। এবং ত্রিভুজটি সবগুলা বাহু সমান কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।



#include<stdio.h>

int main()

{

    int side1,side2,side3;



    scanf("%d %d %d",&side1,&side2,&side3);



    if((side1==side2) &&(side1==side3))

    {

        printf("All Sides are equal\n");

    }

    else

    {

        printf("Not equal\n");

    }

    return 0;

}
12. একজন ছাত্রের ৫ বিষয়ের পরীক্ষার নম্বর ইনপুট নাও।


  • যদি ৫ বিষয়ের নম্বরের গড় ৮০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A+.
  • যদি ৫ বিষয়ের নম্বরের গড় ৭০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A.
  • যদি ৫ বিষয়ের নম্বরের গড় ৬০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A-.
  • যদি ৫ বিষয়ের নম্বরের গড় ৫০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও B.
  • যদি ৫ বিষয়ের নম্বরের গড় ৫০%  এর কম থাকে  তাহলে আউটপুট দেখাও    F .


#include
int main()
{
    int sub1,sub2,sub3,sub4,sub5;

    int sum,average;

    scanf("%d %d %d %d %d",&sub1,&sub2,&sub3,&sub4,&sub5);

    sum = sub1+sub2+sub3+sub4+sub5;
    average = sum/5;
    if(average>=80)
    {
        printf("A+\n");
    }
   else if(average>=70)
    {
        printf("A\n");
    }
   else if(average>=60)
    {
        printf("A-\n");
    }
   else if(average>=50)
    {
        printf("B\n");
    }
    else
    {
        printf("Fail\n");
    }
    return 0;
}



Solution of If-else problem (part-1)





Problem-1:
তিনটি সংখ্যার মধ্যে বড় সংখ্যা নির্ণয়ের প্রোগ্রাম লিখো।
Solution:

#include <stdio.h>

int main()
{
    int num1, num2, num3, max;

    /* Input three numbers from user */
    printf("Enter three numbers: ");
    scanf("%d%d%d", &num1, &num2, &num3);
    

    if(num1 > num2)
    {
        if(num1 > num3)
        {
            /* If num1 > num2 and num1 > num3 */
            max = num1;
        }
        else
        {
            /* If num1 > num2 but num1 > num3 is not true */
            max = num3;
        }
    }
    else
    {
        if(num2 > num3)
        {
            /* If num1 is not > num2 and num2 > num3 */
            max = num2;
        }
        else
        {
            /* If num1 is not > num2 and num2 > num3 */
            max = num3;
        }
    }
    
    /* Print maximum value */
    printf("Maximum among all three numbers = %d", max);

    return 0;
}

2.একটি সংখ্যা পজেটিভ , নেগেটিভ নাকি জিরো তা নির্ণয় করো।

#include <stdio.h>

int main()
{
    int num;
    
    /* Input number from user */
    printf("Enter any number: ");
    scanf("%d", &num);
    

    if(num > 0)
    {
        printf("Number is POSITIVE");
    }
    if(num < 0)
    {
        printf("Number is NEGATIVE");
    }
    if(num == 0)
    {
        printf("Number is ZERO");
    }

    return 0;
}
 
3.কোন সংখ্যাকে ৫ ও ১১ দিয়ে ভাগ করা যাবে কি না? তা নির্ণয়ের প্রোগ্রাম লেখো।

#include <stdio.h>

int main()
{
    int num;

    /* Input number from user */
    printf("Enter any number: ");
    scanf("%d", &num);


    /*
     * If  num modulo division 5 is 0 
     * and num modulo division 11 is 0 then
     * the number is divisible by 5 and 11 both
     */
    if((num % 5 == 0) && (num % 11 == 0))
    {
        printf("Number is divisible by 5 and 11");
    }
    else
    {
        printf("Number is not divisible by 5 and 11");
    }

    return 0;
}

4.কোন সংখ্যা জোড় কি বেজোড় তা নির্ণয়ের প্রোগ্রাম লিখো।



#include <stdio.h>

int main()
{
    int num;

    /* Input number from user */
    printf("Enter any number to check even or odd: ");
    scanf("%d", &num);
    
    /* Check if the number is divisible by 2 then it is even */
    if(num % 2 == 0)
    {
        /* num % 2 is 0 */
        printf("Number is Even.");
    }
    else
    {
        /* num % 2 is 1 */
        printf("Number is Odd.");
    }

    return 0;
}

5.একটি বছর লিপ ইয়ার কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।





#include <stdio.h>

int main()
{
    int year;

    
    printf("Enter a year: ");
    scanf("%d", &year);
    
    
    if((year % 4 == 0)&&(year%200 !=0) ||(year%400==0))
    {
       
        printf("%d is a Leap Year.",year);
    }
    else
    {
        
        printf("%d is not a leap year",year);
    }

    return 0;
}
 
 
6.একটি ক্যারেক্টার অ্যালফাবেট কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।

#include <stdio.h>

int main()
{
    char ch;
    
    /* Input a character from user */
    printf("Enter any character: ");
    scanf("%c", &ch);
    

    if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        printf("Character is an ALPHABET.");
    }
    else
    {
        printf("Character is NOT ALPHABET.");
    }

    return 0;
}


Monday, 4 September 2017

ইফ এলস নিয়ে কিছু সহজ সমস্যা!! (IF ELSE Exercise)





  1.  তিনটি সংখ্যার মধ্যে বড় সংখ্যা নির্ণয়ের প্রোগ্রাম লিখো।
  2. একটি সংখ্যা পজেটিভ , নেগেটিভ নাকি জিরো তা নির্ণয় করো।
  3.  কোন সংখ্যাকে ৫ ও ১১ দিয়ে ভাগ করা যাবে কি না? তা নির্ণয়ের প্রোগ্রাম লেখো।
  4. কোন সংখ্যা জোড় কি বেজোড় তা নির্ণয়ের প্রোগ্রাম লিখো। 
  5. একটি বছর লিপ ইয়ার কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।
  6.  একটি ক্যারেক্টার অ্যালফাবেট কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।
  7. একটি অ্যালফাবেট VOWEL নাকি CONSONENT ? তা নির্ণয়ের প্রোগ্রাম লিখো।
  8. যেকোন ক্যারেক্টার ইউজারের কাছ থেকে ইনপুট নাও। এবার ক্যারেক্টার টি  ALPHABET বা DIGIT বা Special Character  কিনা? তা নির্ণয়ের প্রোগ্রাম লিখো।
  9. একটি অক্ষর বড় হাতের অক্ষর নাকি ছোট হাতের তা নির্ণয়ের প্রোগ্রাম লিখো।
  10. ইউজারের কাছ থেকে টাকা ইনপুট নাও এবং ডলারে কনভার্ট করার প্রোগ্রাম লিখ। যদি ডলারের পরিমাণ $10 এর কম হয় তবে প্রতি ডলার ৮০ টাকা। আর যদি ডলারের পরিমাণ $5 এর বেশি হয় তবে প্রতি ডলার ৮৫ টাকা ধরে। 
  11. একটি ত্রিভুজ এর তিনটি কোণের মান ইনপুট নাও। এবং ত্রিভুজটি সবগুলা বাহু সমান কি না? তা নির্ণয়ের প্রোগ্রাম লিখো।
12. একজন ছাত্রের ৫ বিষয়ের পরীক্ষার নম্বর ইনপুট নাও।


  • যদি ৫ বিষয়ের নম্বরের গড় ৮০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A+.
  • যদি ৫ বিষয়ের নম্বরের গড় ৭০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A.
  • যদি ৫ বিষয়ের নম্বরের গড় ৬০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও A-.
  • যদি ৫ বিষয়ের নম্বরের গড় ৫০%  এর সামান বা  উপরে থাকে  তাহলে আউটপুট দেখাও B.
  • যদি ৫ বিষয়ের নম্বরের গড় ৫০%  এর কম থাকে  তাহলে আউটপুট দেখাও    F .