Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ . में एक स्ट्रिंग के वर्णों के वर्णानुक्रमिक मानों का योग


इस समस्या में, हमें स्ट्रिंग str[] की एक सरणी दी गई है। हमारा काम सरणी में सभी स्ट्रिंग्स का स्कोर खोजना है। स्कोर को स्ट्रिंग के वर्णों के वर्णानुक्रमिक मानों के योग के साथ स्ट्रिंग की स्थिति के गुणनफल के रूप में परिभाषित किया जाता है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

str[] = {“Learn”, “programming”, “tutorials”, “point” }

स्पष्टीकरण

"सीखें" की स्थिति - 1 →

sum = 12 + 5 + 1 + 18 + 14 = 50. Score = 50

"प्रोग्रामिंग" की स्थिति - 2 →

sum = 16 + 18 + 15 + 7 + 18 + 1 + 13 + 13 + 9 + 14 + 7 = 131
Score = 262

"ट्यूटोरियल" की स्थिति - 1 →

sum = 20 + 21 + 20 + 15 + 18 + 9 + 1 + 12 +
19 = 135
Score = 405

"बिंदु" की स्थिति - 1 →

sum = 16 + 15 + 9 + 14 + 20 = 74
Score = 296

इस समस्या को हल करने के लिए, सरणी के सभी तारों पर एक सरल दृष्टिकोण पुनरावृत्त होगा। प्रत्येक स्ट्रिंग के लिए, स्थिति को संग्रहीत करें और स्ट्रिंग के वर्णानुक्रमिक मानों का योग ज्ञात करें। एकाधिक स्थिति और योग और उत्पाद लौटाएं।

एल्गोरिदम

चरण 1 - स्ट्रिंग पर पुनरावृति करें और स्थिति को स्टोर करें और प्रत्येक स्ट्रिंग के लिए चरण 2 और 3 का पालन करें -

चरण 2 - स्ट्रिंग के अक्षरों के योग की गणना करें।

चरण 3 - स्थिति और योग के उत्पाद को प्रिंट करें।

उदाहरण

उपरोक्त समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int strScore(string str[], string s, int n, int index){
   int score = 0;
   for (int j = 0; j < s.length(); j++)
      score += s[j] - 'a' + 1;
   score *= index;
   return score;
}
int main(){
   string str[] = { "learn", "programming", "tutorials", "point" };
   int n = sizeof(str) / sizeof(str[0]);
   string s = str[0];
   for(int i = 0; i<n; i++){
      s = str[i];
      cout<<"The score of string ' "<<str[i]<<" ' is "<<strScore(str, s, n, i+1)<<endl;
   }
   return 0;
}

आउटपुट

The score of string ' learn ' is 50
The score of string ' programming ' is 262
The score of string ' tutorials ' is 405
The score of string ' point ' is 296

  1. सी ++ में किसी अन्य स्ट्रिंग द्वारा परिभाषित वर्णानुक्रम के अनुसार स्ट्रिंग्स की सरणी को क्रमबद्ध करें

    मान लीजिए कि हमारे पास स्ट्रिंग्स की एक सरणी है, और संदर्भ के लिए एक और स्ट्रिंग है। हमें संदर्भ स्ट्रिंग लेनी है और संदर्भ स्ट्रिंग में वर्णों के क्रम का उपयोग करके हम स्ट्रिंग सरणी को सॉर्ट करेंगे। यहां हम सरणी में स्ट्रिंग्स पर विचार कर रहे हैं, और संदर्भ स्ट्रिंग लोअर केस अक्षरों में है। मान ली

  1. सी++ स्प्रिंटफ के बराबर क्या है?

    स्प्रिंट () फ़ंक्शन C और C ++ के अंदर भी मौजूद है। इस फंक्शन का उपयोग किसी स्ट्रिंग के अंदर कुछ स्टोर करने के लिए किया जाता है। सिंटैक्स प्रिंटफ () फ़ंक्शन की तरह है, केवल अंतर यह है कि हमें इसमें स्ट्रिंग निर्दिष्ट करनी होगी। C++ में भी, हम ostringstream का उपयोग करके ऐसा ही कर सकते हैं। यह ostrin

  1. सी ++ प्रोग्राम एक स्ट्रिंग की लंबाई का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। स्ट्रिंग की लंबाई शून्य वर्ण से पहले स्ट्रिंग में वर्णों की संख्या है। उदाहरण के लिए। char str[] = “The sky is blue”; Number of characters in the above string = 15 एक स्ट्रिंग की लंबाई ज्ञात करने के लिए एक