सवाल जटिल है लेकिन मैं इसे विवरण में समझाऊंगा।स्ट्रिंग का अगला चरण कैसे बनाएं। सी #
लक्ष्य एक ऐसा फ़ंक्शन बनाना है जो दिए गए स्ट्रिंग के अगले "चरण" को वापस कर देगा।
उदाहरणString.Step("a"); // = "b"
String.Step("b"); // = "c"
String.Step("g"); // = "h"
String.Step("z"); // = "A"
String.Step("A"); // = "B"
String.Step("B"); // = "C"
String.Step("G"); // = "H"
यहाँ अपने काफी आसान तक के लिए
, लेकिन ध्यान ले जा रहा है कि इनपुट स्ट्रिंग है यह 1 से अधिक वर्ण हो सकते हैं और समारोह इस तरह व्यवहार करना चाहिए।
String.Step("Z"); // = "aa";
String.Step("aa"); // = "ab";
String.Step("ag"); // = "ah";
String.Step("az"); // = "aA";
String.Step("aA"); // = "aB";
String.Step("aZ"); // = "ba";
String.Step("ZZ"); // = "aaa";
और इतने पर ...
यही आधार स्ट्रिंग वर्ग का विस्तार करने की जरूरत नहीं है।
मैंने प्रत्येक अक्षर ASCII मानों से इसे काम करने की कोशिश की लेकिन स्ट्रिंग्स के साथ 2 अक्षर युक्त अटक गए।
यदि कोई व्यक्ति फ़ंक्शन का पूरा कोड प्रदान कर सकता है तो मैं वास्तव में सराहना करता हूं।
अग्रिम धन्यवाद।
संपादित * मैं माफी चाहता कि मैंने पहले कि समारोह "रीपार्स" आत्म उत्पन्न स्ट्रिंग जब इसकी लंबाई n तक पहुँच जाता है उल्लेख करना भूल गया हूँ।
continuation of this function will be smth like this. for example n = 3
String.Step("aaa"); // = "aab";
String.Step("aaZ"); // = "aba";
String.Step("aba"); // = "abb";
String.Step("abb"); // = "abc";
String.Step("abZ"); // = "aca";
.....
String.Step("zzZ"); // = "zAa";
String.Step("zAa"); // = "zAb";
........
मुझे खेद है कि मैंने पहले इसका उल्लेख नहीं किया था, कुछ उत्तरों पढ़ने के बाद मुझे एहसास हुआ कि समस्या प्रश्न में थी।
इसके बिना यह कार्य हमेशा चरण के अंत के बाद चरित्र "ए" एन बार उत्पन्न करेगा।
आपने जो भी प्रयास किया है उसे पोस्ट न करें? –
इनपुट हमेशा एक-जेए-जेड – George
मुझे खेद है कि मैं मुख्य प्रश्न जोड़ना भूल गया: एस। प्रश्न संपादित किया गया। – George