কিছু প্রোগ্রামিংexample হিসেবে দেওয়া হল ।
EXample 1;
STring এ Input হিসেবে scanf বা %s ব্যবহারের একটি সমস্যা হচ্ছে স্ট্রিংয়ে কোনো হোয়াইটস্পেস ক্যারেক্টার (যেমন: স্পেস, ট্যাব ইত্যাদি) থাকা যাবে না, এমন কিছু পেলে scanf ওই ক্যারেক্টার পর্যন্ত একটি স্ট্রিং ধরে নেয়। যেমন, ইনপুট যদি হয় this is তবে scanf প্রথমে thisকেই স্ট্রিং হিসেবে নেবে, তারপরে যদি আবার scanf ফাংশন কল করা হয়, তবে isকে সে স্ট্রিং হিসেবে ইনপুট নিয়ে নেবে।
এই সমস্যা এড়ানোর জন্য আমরা gets ফাংশন ব্যবহার করতে পারি। নিচের উদাহরণটি দেখো:
#include<stdio.h>
int main()
{
char str[30];
// gets(str);
// puts(str);
scanf("%s",str);
printf("%s",str);
return 0;
}
#include<stdio.h>
int main()
{
char str[30];
gets(str);
puts(str);
// scanf("%s",str);
// printf("%s",str);
return 0;
}
যদি scanf দিয়ে লিখতে চাও তবে নিচের নিয়মে লিখতে হবে ।
#include<stdio.h>
int main()
{
char str[30];
scanf("%[^\n]",str);
printf("%s\n",str);
return 0;
}
EXample :2
কোন string এর length বাহির করার জন্য strlen() function use করতে হয় ।
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
scanf("%s",a);
int len=strlen(a);
printf("Length = %d\n",len);
return 0;
}
function ছাড়া ও তুমি নিচের way তে বের করতে পার .
#include<stdio.h>
int main()
{
char str[30];
int i,length=0;
gets(str);
for(i=0;str[i]!='\0';i++)
{
length=length+1;
}
printf("length of %s is %d\n",str,length);
}
Example 3 :
এখানে আমরা তিনটা ক্যারেক্টার এর ARRAY (2D array) রাখছি , যেখানে প্রত্যেকটা character এর length হচ্ছে ১০.
#include<stdio.h>
#include<string.h>
int main()
{
char name[3][10] = {"shadhin","jahid",{'p' , 'e', 'r', 'v', 'e', 'z'}};
int i;
for(i=0;i<3;i++)
{
printf("%s\n",name[i]);
}
}
Example 4: এই problem টা তে তুমি কোন word টা কে reverse করতে চাও এবংতার length বলে দিলে, program টি reverse করে দেখবে ।
#include<stdio.h>
int main()
{
char str[30];
int n,i;
gets(str);
scanf("%d",&n);
for(i=n;i>=0;i--)
{
printf("%c",str[i]);
}
printf("\n");
return 0;
}
No comments:
Post a Comment