हमें वर्णों की एक स्ट्रिंग दी गई है और कार्य वर्ण युग्मों की संख्या की गणना करना है जो समान दूरी पर जोड़े हैं जैसा कि हमारे पास अंग्रेजी वर्णमाला में है।
इनपुट - स्ट्रिंग स्ट्र ='ट्यूटोरियल पॉइंट'
आउटपुट − अंग्रेजी वर्णमाला के समान दूरी पर वर्ण युग्मों की संख्या है:5
स्पष्टीकरण - अंग्रेजी वर्णमाला में समान दूरी वाले वर्ण जोड़े हैं (u, t), (u, r), (t, r), (i, o) और (s, n)। तो कुल मिलाकर 5 जोड़े हैं।
इनपुट − स्ट्रिंग str ='सीखना सबसे अच्छी आदत है'
आउटपुट − अंग्रेजी वर्णमाला के समान दूरी पर वर्ण युग्मों की संख्या है:12
स्पष्टीकरण - अंग्रेजी वर्णमाला में समान दूरी वाले वर्ण जोड़े हैं (r, i), (r, h), (n, i), (n, b), (i, g), (n, t), (g) , i), (i, b), (s, h), (h, t), (s, t) और (a, b)। तो कुल मिलाकर 12 जोड़े हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
वर्णों की स्ट्रिंग इनपुट करें और डेटा को फ़ंक्शन में पास करें
-
बनाए जा सकने वाले कुल युग्मों को संग्रहीत करने के लिए एक अस्थायी चर गणना लें
-
लंबाई () फ़ंक्शन का उपयोग करके स्ट्रिंग की लंबाई की गणना करें
-
एक स्ट्रिंग की लंबाई तक i से 0 तक के लिए लूप प्रारंभ करें
-
लूप के अंदर, j से i+1 तक स्ट्रिंग की लंबाई तक एक और लूप प्रारंभ करें
-
लूप के अंदर, temp को abs(str[i] - str[j])
. के रूप में सेट करें -
IF temp =abs(i-j) चेक करें और फिर काउंट को 1 से बढ़ा दें
-
वापसी की संख्या
-
परिणाम प्रिंट करें।
उदाहरण
#include <bits/stdc++.h> using namespace std; int pairs_distance(string str){ int count = 0; int len = str.length(); for (int i = 0; i < len; i++){ for (int j = i + 1; j < len; j++){ int temp = abs(str[i] - str[j]); if (temp == abs(i - j)){ count++; } } } return count; } int main(){ string str = "Tutorials Point"; cout<<"Count of character pairs at same distance as in English alphabets are: "<<pairs_distance(str); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of character pairs at same distance as in English alphabets are: 5