उपयोगकर्ता को नामों की संख्या दर्ज करनी होती है, और उन नामों को strcpy() फ़ंक्शन की सहायता से वर्णानुक्रम में क्रमबद्ध करने की आवश्यकता होती है।
वर्णों की एक सरणी (या) वर्णों के संग्रह को स्ट्रिंग कहा जाता है।
घोषणा
एक सरणी के लिए घोषणा निम्नलिखित है -
char stringname [size];
उदाहरण के लिए, चार स्ट्रिंग [50]; लंबाई 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