বৃহস্পতিবার, ১৯ নভেম্বর, ২০১৫
সি লাইব্রেরী ফাংশন strlen() এর টিউটোরিয়াল
এখন প্রশ্ন অাসতে পারে স্ট্রিংয়ের দৈর্ঘ্য বলতে কি বুঝায় ? সি স্ট্রিংয়ের শুরু থেকে স্ট্রিংয়ের শেষে নাল ক্যারেক্টার('\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"] স্টিংয়ের দৈর্ঘ্য প্রিন্ট করার প্রোগ্রাম ।[/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 প্রিন্ট করেছে ।[/caption]
উদাহরণ স্বরূপ উপরের প্রোগ্রামটি চালানোর পরে -9 ইনপুট দেয়া হয় । এই মানটি number ভেরিয়েবলে স্টোর হয় প্রথমে । তারপরে abs() ফাংশনে abs(number) লিখে প্যারামিটার হিসেবে পাস হয় এবং 9 রিটার্ন করে । এই রিটার্ন করা মান তারপরে result ভেরিয়েবলে স্টোর করার পরে result এর মান প্রিন্ট করে ।