वर्णों की एक सरणी को स्ट्रिंग कहा जाता है।
घोषणा
एक सरणी घोषित करने वाली घोषणा इस प्रकार है -
char stringname [size];
उदाहरण के लिए:चार स्ट्रिंग [50]; लंबाई 50 वर्णों की स्ट्रिंग
आरंभीकरण
- एकल वर्ण स्थिरांक का उपयोग करना -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- स्ट्रिंग स्थिरांक का उपयोग करना -
char string[10] = "Hello":;
एक्सेस करना - एक नियंत्रण स्ट्रिंग "%s" है जिसका उपयोग स्ट्रिंग को तब तक एक्सेस करने के लिए किया जाता है जब तक कि उसका सामना '\0' से नहीं हो जाता।
अधिकतम बारंबारता ढूँढना
वर्ण की अधिकतम आवृत्ति ज्ञात करने का तर्क है -
- सबसे पहले, निम्न प्रोग्राम का उपयोग करके वर्णों की आवृत्ति ज्ञात करें।
while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; }
- इसके आधार पर, हम अधिकतम आवृत्ति वर्ण ढूंढ रहे हैं।
maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; }
उदाहरण
एक स्ट्रिंग में अधिकतम होने वाले वर्ण को खोजने के लिए सी प्रोग्राम नीचे दिया गया है -
#include <stdio.h> #define SIZE 100 // Maximum string size #define CHARS 255 // Maximum characters allowed int main(){ char string[SIZE]; int frequency[CHARS]; int i = 0, maximum; int value; printf("Enter the string:\n "); gets(string); for(i=0; i<CHARS; i++){ frequency[i] = 0; // initialize freq of all characters to zero } /* Finds frequency of each characters */ i=0; while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; } /* Finds maximum frequency */ maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; } printf("Maximum occurrence character is '%c' = %d times.", maximum, frequency[maximum]); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter the string: tutorials point Maximum occurrence character is 't' = 3 times.