বৃহস্পতিবার, ১৭ সেপ্টেম্বর, ২০১৫

সি প্লাস প্লাস এর টুকিটাকি

কিছুদিন ধরে সি প্লাস প্লাস শিখছি । কিছু জিনিস বেশ ইন্টারেস্টিং মনে হওয়ায় শেয়ার করছি ।

১. "একের ভিতর সব" হেডার ফাইল :D
bits/stdc++.h  এই হেডার ফাইল ব্যবহার করলে অন্য কোনো হেডার ফাইলে ব্যবহার করতে হয়না । competitive programmer দের এটি বিশাল এক সুবিধা বলে মনে হয় আমার । 

......... চলবে ।

বৃহস্পতিবার, ২২ জানুয়ারী, ২০১৫

সি প্রোগ্রাম - ডিজিট নিয়ে কাজ করা

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

1.Find the digit in a certain position
int findDigit(int n)
{
    int no=1;
    int dig;
    while(n)
    {
        n=n/10;
        no++;
        if(no==2){
            dig=n%10;
            break;
        }
    }
    return dig;
}

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

আরেকটা কাজ করার অনেক সময় দরকার পরে সেটা হলো ডিজিটগুলর যোগফল বের করা। উপরের কোডটা সামান্য একটু পরিবর্তন করেই আমরা সেটা করতে পারব।

2.Find the sum of digits

int sumOFdigit(int n)
{
    int sum=0;
    int r;
    while(n)
    {
        r=n%10;
        sum=sum+r;
        n=n/10;
    }
    return sum;
}