পৃষ্ঠাসমূহ

সি প্রোগ্রামিং লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
সি প্রোগ্রামিং লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান

বৃহস্পতিবার, ১৯ নভেম্বর, ২০১৫

সি লাইব্রেরী ফাংশন strlen() এর টিউটোরিয়াল

সি প্রোগ্রামিং ভাষায় strlen() লাইব্রেরি ফাংশন ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করা যায় । strlen() প্যারামিটার হিসেবে একটি সি স্ট্রিং ইনপুট নেয় এবং তার দৈর্ঘ্য রিটার্ন করে । strlen() এর রিটার্ন টাইপ ইন্টিজার এবং এর প্যারামিটারের টাইপ স্ট্রিং ।  যেমন: strlen() এই ফাংশনে যদি "Bangladesh" প্যারামিটার হিসেবে দেয়া হয় তাহলে তা "Bangladesh" স্ট্রিংয়ের দৈর্ঘ্য 10  রিটার্ন করবে ।

এখন প্রশ্ন অাসতে পারে স্ট্রিংয়ের দৈর্ঘ্য বলতে কি বুঝায় ? সি স্ট্রিংয়ের শুরু থেকে স্ট্রিংয়ের শেষে নাল ক্যারেক্টার(‌'\0') পর্যন্ত যতগুলো ক্যারেক্টার অাছে সেই সংখ্যাকে  স্ট্রিংয়ের দৈর্ঘ্য বলা হয় (নাল ক্যারেক্টার (‌'\0')বাদ দিয়ে ) ।

strlen() লাইব্রেরি ফাংশন ব্যবহার করার জন্য string.h লাইব্রেরি ফাংশনটি প্রোগ্রামে যুক্ত করতে হবে । এই জন্য প্রোগ্রামের শুরুতে নিচের লাইনটি লিখতে হবে ।

[sourcecode language="c"]

#include <string.h>

[/sourcecode]

অামরা এখন  নিচে একটি প্রোগ্রামে কিভাবে strlen() ব্যবহার করতে হয় তা দেখব ।

নিচের প্রোগ্রামটিতে একটি string নামের স্ট্রিং ভেরিয়েবল ও স্ট্রিংয়ের দৈর্ঘ্য রাখার জন্য stringLength নামের একটি ইন্টিজার ভেরিয়েবল  তৈরি করা হয়েছে । তারপরে বলা হয়েছে একটি স্ট্রিং ইনপুট দিতে । প্রোগ্রামটিতে "Bangladesh" ইনপুট হিসেবে দেয়া হয়েছে । তারপরে string ভেরিয়েবলটি  strlen() লাইব্রেরি ফাংশনে strlen(string) লিখে প্যারামিটার হিসেবে দেয়া হয় ।  এখন এই ফাংশন string এর দৈর্ঘ্য রিটার্ন করবে । "Bangladesh" স্ট্রিং ইনপুট দেয়ার পরে যখন নিচের  লাইনটি চলবে তখন stringLength ভেরিয়েবলের মান হবে 10 ।

[sourcecode language="c"]

stringLength = strlen(string);

[/sourcecode]

এবং শেষে স্ট্রিংটির দৈর্ঘ্য প্রিন্ট করা হয়েছে।

[sourcecode language="c"]

/*****************************
* Author: Md. Rana Mahmud *
* r4n4m4hmud.wordpress.com *
*****************************/

#include <stdio.h>
#include <string.h>// We have to include this for abs() library function

int main()
{

char string[100];
int stringLength;
//Asks for a string input
printf("Enter a string : \n");

scanf("%s",string); //Takes string input

stringLength = strlen(string);//We pass the string to strlen() function
//and store the return value of the function
printf("Length of %s is %d.\n",string,stringLength);
}

[/sourcecode]

[caption id="attachment_96" align="alignnone" width="658"]string স্টিংয়ের দৈর্ঘ্য প্রিন্ট করার প্রোগ্রাম ।[/caption]

শুক্রবার, ১৩ নভেম্বর, ২০১৫

সি লাইব্রেরী ফাংশন abs() এর টিউটোরিয়াল

সি প্রোগ্রামিং ল্যাংগুয়েজে লাইব্রেরী ফাংশন ব্যবহার করে অনেক কাজ খুব সহজে করা যায় । সি প্রোগ্রামিং ল্যাংগুয়েজের স্ট্যান্ডার্ড লাইব্রেরীর ফাংশনগুলো নিয়ে ধারাবাহিকভাবে লেখার চেষ্টা করব । অাজকের বিষয় abs() ফাংশন ।


abs() লাইব্রেরী ফাংশন ব্যবহার করে অামরা ইন্টিজার ডাটা টাইপ  অর্থাৎ পূর্ণসংখ্যার পরমমান বের করতে পারব । abs() লাইব্রেরী ফাংশন একটি ইন্টিজার টাইপের সংখ্যা ইনপুট নিয়ে তার পরমমান রিটার্ন করে । যেমন : অামরা যদি abs() ফাংশনে -3 সংখ্যাটি প্যারামিটার হিসেবে পাস করি  তাহলে তা 3 রিটার্ন করবে ।


abs() লাইব্রেরি ফাংশন ব্যবহার করার জন্য প্রথমে stdlib.h হেডার ফাইলটি প্রোগ্রামে যুক্ত করতে হবে । এই  জন্য #include <stdlib.h> লাইনটি প্রোগ্রামের উপরে লিখতে হবে ।  নিচের প্রোগ্রামটিতে  number ও result নামের দুইটি ইন্টিজার টাইপের  ভেরিয়েবল ডিক্লেয়ার করেছি  । এখন প্রোগ্রাম রান করার পরে একটি সংখ্যা ইনপুট দিতে বলবে । সেই সংখ্যাটি number ভেরিয়েবলে স্টোর করবে । number ভেরিয়েবলটি abs(number) লিখে ফাংশনে প্যারামিটার হিসেবে পাস করা হয়  । ফাংশনটি number এর পরমমান রিটার্ন করবে । তা অামরা result এ স্টোর করবে । শেষে result এর মান প্রিন্ট করবে ।




[sourcecode language="c"]

/*****************************
* Author: Md. Rana Mahmud *
* r4n4m4hmud.wordpress.com *
*****************************/

#include <stdio.h>
#include <stdlib.h>// We have to include this for abs() library function

int main()
{

int number;
int result;
//Asks for a number input
printf("Enter a integer number : \n");
//Takes the intger number input and stores in number variable
scanf("%d",&number);

result = abs(number);//We pass the number variable to abs()
//function and store the return value of the function
printf("Absolute value of %d is %d\n",number,result);
return 0;
}


[/sourcecode]

[caption id="attachment_51" align="aligncenter" width="681"]abs() ফাংশনের প্রোগ্রামটি -9 ইনপুট নিয়ে -9 এর পরমমান 9 প্রিন্ট করছে । abs() ফাংশনের প্রোগ্রামটি -9 ইনপুট নিয়ে -9 এর পরমমান 9 প্রিন্ট করেছে ।[/caption]

উদাহরণ স্বরূপ উপরের প্রোগ্রামটি চালানোর পরে  -9 ইনপুট দেয়া হয় । এই মানটি number ভেরিয়েবলে স্টোর হয় প্রথমে ।  তারপরে  abs() ফাংশনে abs(number) লিখে প্যারামিটার হিসেবে পাস হয় এবং   9 রিটার্ন করে । এই রিটার্ন করা মান তারপরে result ভেরিয়েবলে স্টোর করার পরে result এর মান  প্রিন্ট করে ।

শনিবার, ২৪ অক্টোবর, ২০১৫

সি প্রোগ্রামিং ল্যাংগুয়েজে ইনসার্শন সর্ট অ্যালগরিদমের কোড

[sourcecode language="c"]
//Author: Md. Rana Mahmud
#include <stdio.h>

void insertionSort(int a[],int length)
{
    int key,i,j;


    for(j = 1; j<length; j++)
    {
        key = a[j];
        i = j-1;
        while(i>=0&&a[i]>key)
        {

            a[i+1] = a[i];
            i--;
        }
        a[i+1] = key;

    }

}

int main()
{
    int data[1000],i,num;
    printf("Enter how many numbers are there : \n");
    scanf("%d",&num);
    printf("Enter the numbers: \n");
    for(i = 0; i<num; i++)
        scanf("%d",&data[i]);
    insertionSort(data,num);
    printf("The sorted numbers are : \n");
    for(i = 0; i<num; i++)
        printf("%d ",data[i]);
    printf("\n");
    return 0;

}

[/sourcecode]

মঙ্গলবার, ২৩ জুন, ২০১৫

তৃতীয় ভেরিয়েবল ব্যবহার না করে দুটি ভেরিয়েবলের মান সোয়াপ করা

প্রোগ্রামিং করতে গিয়ে বিভিন্ন সময় অামাদের দুটি ভেরিয়েবলের মান সোয়াপ করতে হয় । দুটি ভেরিয়েবলের মান সোয়াপ করার অর্থ হল প্রথম ভেরিয়েবলের মান দ্বিতীয় ভেরিয়েবলে রাখা এবং দ্বিতীয় ভেরিয়েবলের মান প্রথম ভেরিয়েবলে রাখা । মনে করি   num1 = 80 , num2 = 34  দুইটি ভেরিয়েবল। দুইটি ভেরিয়েবলের মান সোয়াপ করার অর্থ num1 এর মান num2 তে এবং num2 এর মান num1 এ রাখা । অামরা বিভিন্নভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারি ।  অাজ অামরা  কোন ভেরিয়েবলের সাহায্য না নিয়ে কিভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারিন তা দেখব । প্রথমে বিস্তারিত অালোচনা করা হবে এবং তার পাশাপাশি সি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে দেখানো হবে ।

  1. প্রথম ভেরিয়েবল  ও দ্বিতীয় ভেরিয়েবল যোগ করে যোগফল দ্বিতীয় ভেরিয়েবলে রাখব। যেমন: num2 = num1 + num2 । এখন num2 = num1 + num2 = 80 + 34 = 114 হবে । এই ধাপ শেষে num2 এর মান হয়ে গেল 114 ।
  2. দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়েোগ করে বিয়োগফল প্রথম ভেরিয়েবলে রাখব । যেমন : num1 = num2 - num1। এখন num1 = num2 - num1 = 114 - 80 = 34 হবে । এই ধাপ শেষে num1 এর মান হয়ে গেল 34 ।
  3. দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়োগ করে বিয়োগফল দ্বিতীয় ভেরিয়েবলে রাখব । যেমন: num2 = num2 - num1 । এখন num2 = num2 - num1 =   114 - 34 = 80 হবে।  এই ধাপ শেষে num2 এর মান হয়ে গেল 80 । 
 অামরা দেখতে পেলাম যে সোয়াপ করার অাগে num1 ও num2 এর মান ছিল 80 ও 34 কিন্তু সোয়াপ করার পরে num1 ও num2 এর মান 34 ও 80 । যে কোন প্রোগ্রামিং ল্যাংগুয়েজে এইভাবে দুইটি ভেরিয়েবলের মান সোয়াপ করা যাবে । অনেক প্রোগ্রামিং ল্যাংগুয়েজে ভেরিয়েবলের মান সোয়াপ করার জন্য ফাংশন থাকে  । অামরা সেদিকে যাব না । নিচে সি প্রোগ্রামিং ল্যাংগুয়েজে দুটি ভেরিয়েবলের মান সোয়াপ করা একটি প্রোগ্রাম দেওয়া হল ।

প্রোগ্রামটির রান করার পরে কনসোলে:
সোয়াপ করার অাগে ও পরে ভেরিয়েবলের মান
 ডাউনলোড
     

     
     

শুক্রবার, ৩১ অক্টোবর, ২০১৪

কোডব্লকস(CodeBlocks) এর কি-বোর্ড শর্টকাট

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


কাজশর্টকাট কি
শেষ কাজটি পূর্বাবস্থায় নিয়ে যাওCtrl + Z
শেষ কাজটি আবার করCtrl + Shift + Z
সিলেক্ট করা টেক্টট কাট করCtrl + X
সিলেক্ট করা টেক্সট কপি করCtrl + C
ক্লিপবোর্ড থেকে টেক্সট পেস্ট করCtrl + V
সকল টেক্সট সিলেক্ট করCtrl + A
হেডার / সোর্সের মধ্যে পরিবর্তন করF11
হাইলাইট করা কোড কমেন্ট করCtrl + Shift + C
 হাইলাইট করা কোড আনকমেন্ট করCtrl + Shift + X
যে লাইনে লাইন ক্যারেট অাছে সে লাইন ডুপ্লিকেট করCtrl + D
অটোকমপ্লিট / সংক্ষিপ্ত রূপ Ctrl + Space / Ctrl + J
কল টিপ প্রদর্শন করCtrl + Shift + Space
লাইন ক্যারেট যে লাইনে অাছে তার সাথে উপরের লাইনটি অদল বদল করCtrl + T
বুকমার্ক পরিবর্তন করCtrl + B
অাগের বুকমার্কে যাওAlt + PgUp
পরের বুকমার্কে যাওAlt + PgDown
বর্তমান ব্লকের ফোল্ডিং পরিবর্তন করF12
সকল ফোল্ড পরিবর্তন করShift + F12

কাজ শর্টকাট কি
লেখার অাকার বৃদ্ধি করCtrl + Keypad "+"
লেখার অাকার হ্রাস করCtrl + Keypad "-"
লেখার অাকার স্বাভাবিক করCtrl + Keypad "/"
সাম্প্রতিক ফাইলগুলোর মাঝে  চক্রাকারে অাবর্তন করCtrl + Tab
ব্লক ইনডেন্ট কর Tab
ব্লক ডিডেন্ট করShift + Tab
শব্দের শুরু পর্যন্ত মুছে দাওCtrl + BackSpace
শব্দের শেষ পর্যন্ত মুছে দাওCtrl + Delete
লাইনের শুরু পর্যন্ত মুছে দাওCtrl + Shift + BackSpace
লাইনের শেষ পর্যন্ত মুছে দাওCtrl + Shift + Delete
একটি ডকুমেন্টের প্রথমে যাওCtrl + Home
নথির শুরু পর্যন্ত নির্বাচন ভাড়াওCtrl + Shift + Home
প্রদর্শনের লাইনের শুরুতে যাওAlt + Home
প্রদর্শনের লাইনের শুরু পর্যন্ত নির্বাচন বাড়াওAlt + Shift + Home
ডকুমেন্টের শেষে যাওCtrl + End
ডকুমেন্টের শেষ পর্যন্ত সিলেকশন বাড়াওCtrl + Shift + End
প্রদর্শনের লাইনের শেষ পর্যন্ত যাওAlt + End
প্রদর্শনের লাইনের শেষ পর্যন্ত সিলেকশন বাড়াওAlt + Shift + End
একটি ফোল্ড পয়েন্ট প্রসারিত বা  সঙ্কোচন করCtrl + Keypad "*"
তৈরি করুন অথবা একটি বুকমার্ক মুছে দাওCtrl + F2
পরবর্তী বুকমার্কে যাওF2
পরবর্তী বুকমার্ক করতে নির্বাচন করAlt + F2
নির্বাচিত লেখাটি খুঁজে বের কর ।Ctrl + F3
পিছন দিকে নির্বাচিত লেখা খুঁজে বের কর । Ctrl + Shift + F3
উপরের দিকে স্ক্রল করCtrl + Up
নিচের দিকে স্ক্রল করCtrl + Down
লাইন কাট করCtrl + L
লাইন কপি কর ।Ctrl + Shift + T
লাইন ডিলেট কর ।Ctrl + Shift + L
লাইনটি পূর্ববর্তী লাইনের সঙ্গে পরিবর্তন করCtrl + T
লাইন নকল কর ।Ctrl + D
 নেস্টেড টিকে বাদ দিয়ে, মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল খুঁজে বের কর । Ctrl + K
মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল সিলেক্ট কর ।Ctrl + Shift + K
 নেস্টেড টিকে বাদ দিয়ে, মিলে যাওয়া উল্টোদিকে প্রিপ্রসেসর  কন্ডিশনাল খুঁজে বের কর । Ctrl + J
মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল উল্টোদিকে সিলেক্ট করCtrl + Shift + J
পূর্বের প্যারাগ্রাফ । শিফট নির্বাচন প্রসারিত কর ।Ctrl + [
পরের প্যারাগ্রাফ । শিফট নির্বাচন প্রসারিত কর ।Ctrl + ]
পূর্ববর্তী শব্দশিফট নির্বাচন প্রসারিত কর ।Ctrl + Left
পরবর্তী শব্দশিফট নির্বাচন প্রসারিত কর ।Ctrl + Right
শব্দের পূর্ববর্তী অংশ। শিফট সিলেকশন প্রসারিত কর । Ctrl + /
শব্দের পরবর্তী অংশ। শিফট সিলেকশন প্রসারিত কর।Ctrl + \

ফাইল

কাজ শর্টকাট কি
নতুল ফাইল বা প্রজেক্টCtrl + N
পূর্বের ফাইল অথবা প্রজেক্ট খুল Ctrl + O
বর্তমান ফাইলটি সংরক্ষণ করCtrl + S
সব ফাইং সংরক্ষণ করCtrl + Shift + S
বর্তমানে খোলা ফাইলটি বন্ধ করCtrl + F4 / Ctrl + W
সব ফাইল বন্ধ করCtrl + Shift + F4 / Ctrl + Shift + W


কাজ শর্টকাট কি
পরবর্তী খোলা ফাইল সক্রিয় করCtrl + Tab
পূর্ববর্তী খোলা ফাইল সক্রিয় কর Ctrl + Shift + Tab


দৃশ্য

কাজ শর্টকাট কি
মেসেজ পেন দেখাও/অাড়াল করF2
ম্যানেজম্যান্ট পেন দেখাও/অাড়াল করShift + F2
প্রজেক্ট উপরে সরাও(প্রজেক্ট ট্রির) Ctrl + Shift + Up
প্রজেক্ট নিচে সরাও(প্রজেক্ট ট্রির) Ctrl + Shift + Down
পূর্বেরটি সক্রিয় করুন (প্রজেক্ট ট্রির)Alt + F5
পরেরটি সক্রিয় কর (প্রজেক্ট ট্রির)Alt + F6
জুম ইন/অাউটCtrl + Roll Mouse Wheel
এডিটরে ফোকাস কর CTRL + Alt + E


সার্চ

কাজ শর্টকাট কি
খোঁজCtrl + F
পরবর্তীটি খোঁজে বের করF3
অাগেরটি খোঁজShift + F3
ফাইলে খোঁজCrtl + Shift + F
প্রতিস্থাপনCtrl + R
ফাইলে প্রতিস্থাপন করCtrl + Shift + R
লাইনটিতে যাওCtrl + G
পরের পরিবর্তিত লাইনে যাওCtrl + F3
অাগে পরিবর্তন করা লাইনে যাও Ctrl + Shift + F3
ফাইলটিতে যাওAlt + G
ফাংশনে যাওCtrl + Alt + G
অাগের ফাংশনে যাওCtrl + PgUp
পরের ফাংশনে যাওCtrl + PgDn
ডিক্ল্যারেশনে যাওCtrl + Shift + .
বাস্তবায়নে যাও Ctrl + .
ইনক্লুড(include) ফাইং খোলCtrl + Alt + .

বিল্ড

কাজশর্টকাট কি
বিল্ডCtrl + F9

এই ফাইলটি কম্পাইল কর
Ctrl + Shift + F9
রান Ctrl + F10
বিল্ড কর এবং চালাওF9
পুনরায় বিল্ড করCtrl + F11

ডিবাগ

কাজ শর্টকাট কি
ডিবাগF8

ডিবাগিং চালিয়ে যান
Ctrl + F7
পরের কোড ব্লকে চলে যাওF7
কোড ব্লকের ভিতর যাওShift + F7

কোড ব্লকের ভিতর থেকে বাইরে যাও
Ctrl + Shift + F7
ব্রেকপয়েন্ট পরির্তন করF5
কার্সরে যাওF4
পূর্বের ভুলAlt + F1
পরবর্তী ভুলAlt + F2

রবিবার, ২৭ অক্টোবর, ২০১৩

হেড ফার্স্ট সি

হেড ফার্স্ট সি
বইয়ের বিবরণ:
আপনি কি কখনো একটি বই থেকে সি প্রোগ্রামিং শিখার আশা করেছেন ? হেড ফার্স্ট সি সম্পূর্ণ সি প্রোগ্রামিংয় এবং স্টাকচারড প্রোগ্রামিংয়ের অবিজ্ঞতা পাওয়া যাবে । এই বইটি সি প্রোগ্রামিংয়ের পাশাপাশি কিভাবে একজন ভাল প্রোগামার হবেন তাও শিখতে সাহায্য করবে । এই বইটির সাহায্যে আপনি সি ল্যাংগুয়েজের বেসিক, পয়েন্টার এবং পয়েন্টার এরিথমেটিক এবং ডাইনামিক মেমোরি ম্যানেজম্যান্ট শিখবেন । এডভান্সড টপিকের মধ্যে রয়েছে মাল্টি থ্রেডেড এবং নেটওয়ার্ক প্রোগ্রামিং । হেড ফার্স্ট সি কলেজ লেভেলের সি কোর্সের মত করে আপনাকে সি প্রোগ্রামিং শিখতে সাহায্য করবে।
বইয়ের বিবরণ:
সাইজ: ৫৬.৩এমবি
ভাষা:   ইংরেজি
ফরম্যাট: পিডিএফ