ইউজারকে নামের সংখ্যা ইনপুট দিতে হবে, এবং সেগুলো strcpy() ফাংশন ব্যবহার করে অ্যালফাবেটিক্যাল অর্ডারে সোর্ট করতে হবে।
ক্যারেক্টার অ্যারে (বা) ক্যারেক্টার সংগ্রহকে স্ট্রিং বলা হয়।
ডিক্লেরেশন
অ্যারে ডিক্লেরেশন:
char stringname [size];
উদাহরণস্বরূপ, char string[50]; ৫০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং।
ইনিশিয়ালাইজেশন
- সিঙ্গেল ক্যারেক্টার কনস্ট্যান্ট ব্যবহার করে
char string[10] = { 'H', 'e', 'l', 'l', 'o' ,'\0'}
- স্ট্রিং কনস্ট্যান্ট ব্যবহার করে
char string[10] = "Hello";
অ্যাক্সেসিং
কন্ট্রোল স্ট্রিং "%s" ব্যবহার করা হয় স্ট্রিং অ্যাক্সেস করার জন্য যতক্ষণ না '\0' পাওয়া যায়।
strcpy ( )
এই ফাংশন সোর্স স্ট্রিংকে ডেস্টিনেশন স্ট্রিংয়ে কপি করতে ব্যবহৃত হয়।
ডেস্টিনেশন স্ট্রিংর দৈর্ঘ্য সোর্স স্ট্রিংর চেয়ে বড় বা সমান হতে হবে।
strcpy() ফাংশনের সিনট্যাক্স:
strcpy (Destination string, Source String);
উদাহরণস্বরূপ,
char a[50]; char a[50]; strcpy ("Hello",a); strcpy ( a,"hello"); output: error output: a= "Hello"
নামগুলো অ্যালফাবেটিক্যাল অর্ডারে সোর্ট করার লজিক:
for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(strcmp(str[i],str[j])>0){ strcpy(s,str[i]); strcpy(str[i],str[j]); strcpy(str[j],s); } } }
প্রোগ্রাম
নামগুলো অ্যালফাবেটিক্যাল অর্ডারে সোর্ট করার সি প্রোগ্রাম:
#include<stdio.h> #include<string.h> main(){ int i,j,n; char str[100][100],s[100]; printf("Enter number of names :\n"); scanf("%d",&n); printf("Enter names in any order:\n"); for(i=0;i<n;i++){ scanf("%s",str[i]); } for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(strcmp(str[i],str[j])>0){ strcpy(s,str[i]); strcpy(str[i],str[j]); strcpy(str[j],s); } } } printf("\nThe sorted order of names are:\n"); for(i=0;i<n;i++){ printf("%s\n",str[i]); } }
আউটপুট
Enter number of names: 5 Enter names in any order: Pinky Lucky Ram Appu Bob The sorted order of names is: Appu Bob Lucky Pinky Ram