[संगीत खेल] ZAMYLA चान: के लागू करते हैं Vigenere, एक से थोड़ा अधिक सीज़र से सुरक्षित सिफर. सादे पाठ का उपयोग enciphered है बजाय एक पूर्णांक के एक स्ट्रिंग. प्रत्येक अक्षर में सादा पाठ एक से स्थानांतरित कर दिया गया है कीवर्ड में पत्र. इस उदाहरण में, कीवर्ड, हे ohai 14 साल की एक पारी से मेल खाती है, एक करने के लिए एच 7 की पारी, के एक, पाली 0; और मैं 8 की एक पारी. आप सफलतापूर्वक लागू किया है, तो आपके सीज़र सिफर, यह एक अच्छा होगा ढांचा तुम जहाँ से Vigenere लागू कर सकते हैं. आप देख सकते हैं, एक Vigenere चल एक के रूप में एक ही चरित्र के साथ सिफर कीवर्ड एक ही बात है एक कैसर सांकेतिक शब्दों के रूप में. एक ही कदम Vigenere को लागू वे सीज़र में किया था. कीवर्ड दूसरा आदेश पंक्ति है तर्क है, तो आप argv1 के साथ उपयोग. फिर आप को सत्यापित करना होगा कि कुंजी शब्द वास्तव में सभी वर्णमाला है. यहाँ जहां अल्फा है काम में आ सकता है. आप एक वैध कीवर्ड है, तो आप प्राप्त तो उपयोगकर्ता से शक्ति, और आप कूटलेखन के लिए तैयार हैं. Vigenere सिफर सूत्र समान है सीज़र सूत्र के लिए, अब सिवाय k यह दर्शाता है, कश्मीर सबस्क्रिप्ट जे हो जाता है कीवर्ड की जम्मू वें पत्र. चलो इस प्रक्रिया के माध्यम से कदम. आप के लिए एक संदेश भेजना चाहते थे कहो अपने दुर्घटना, मैं तुम्हें पसंद है, लेकिन आप नहीं करते हर कोई जानना चाहता हूँ. तो आप के साथ एक Vigenere सिफर का उपयोग कीवर्ड पांडा, क्योंकि, ठीक है, तुम भी पंडों की तरह. पहले अक्षर, मैं स्थानांतरित कर दिया जाएगा पी द्वारा, दे एक्स, 15 अक्षरों के बाद मैं, 15 पी 16 है क्योंकि वर्णमाला के अक्षर. सादे पाठ में अगले पत्र है एक अंतरिक्ष, इसलिए कि स्थानांतरित नहीं किया जाएगा. और कीवर्ड के सूचकांक नहीं बदलेगा. फिर सादे पाठ में अगले पत्र है एल, एक से स्थानांतरित कर दिया, जो बदलाव नहीं करता सब पर सादे पाठ पत्र, क्योंकि एक वर्णमाला के 0 पत्र है. प्रक्रिया को आगे बढ़ाने के लिए जारी है, कीवर्ड चरित्र हर बार एक नहीं है सादे पाठ में पत्र. कीवर्ड में आखिरी खत है एक बार पर पहुंच गया, कीवर्ड आसपास wraps और अगले सादे बदलाव पी द्वारा पाठ पत्र. एक्स lvne नोह. कैसे रोमांटिक. तो एक चरित्र, तुम कैसे कन्वर्ट कर दिया कि इसी में सिफर पारी? ASCII तुलना आज़माएँ बदलाव को मान. हो सकता है कि आप एक रिश्ते में पा सकते हैं पत्र और बीच उनके ASCII गणित का उपयोग सूचकांक वर्णानुक्रम. आप एक चरित्र जोड़ या घटा सकते है पाने के लिए एक से आप इच्छित परिणाम? याद रखें कि अपरकेस के लिए पाली और छोटे अक्षरों में ही हैं. तो शायद आप दो की पहचान करने की आवश्यकता होगी प्रतिनिधित्व करने के लिए इसी तरह के फार्मूले एक अपरकेस के लिए, एक पारी कीवर्ड चरित्र, और एक एक छोटे से एक के लिए. अगला, याद है कि कीवर्ड अग्रिम केवल अगर चरित्र में सादा पाठ एक पत्र है और कहा कि सादा के मामले पाठ संरक्षित किया जाना चाहिए. इसलिए हम के लिए सूत्र पर नजर डालें तो Vigenere पारी, दो सूचकांक रहे हैं चर, मैं और जम्मू. एक सादे में स्थिति का ट्रैक रखता है पाठ, और अन्य स्थिति कीवर्ड में. लेकिन अपने सादे पाठ बहुत लंबे समय तक हो सकता है आपके कीवर्ड से, जो मामले में अपनी कीवर्ड सूचकांक वापस आसपास लपेटो करने की जरूरत है कीवर्ड की शुरुआत करने के लिए. आप यह कैसे करते हो? के पर वापस देखो modulo ऑपरेटर. शेष सापेक्ष परिभाषित किया गया है है के दो नंबर विभाजित. लेकिन एक वास्तविक व्यावहारिक क्या है सापेक्ष का उपयोग करें? खैर, आप का एक बड़ा समूह है कहना लोगों को, और तुम में विभाजित करने की आवश्यकता तीन समूहों. समूहों में लोगों को विभाजित करने के लिए एक ही रास्ता है उन्हें दूर गिनती के लिए है. आप समूहों समूह संख्या नंबर 1, 2, और 3. पहले व्यक्ति, 1 कहेंगे अगले 2, अगले 3. उसके बाद व्यक्ति, 1 कहेंगे वहाँ एक समूह 4 नहीं है, और क्योंकि गिनती वहाँ से अधिक शुरू होता है. आप के लिए सापेक्ष उपयोग कर सकते हैं एक ही बात करते हैं. इस बार, समूहों होगा समूह 0, 1, और 2 हो. पहले व्यक्ति, संख्या 1 सापेक्ष 3, 1 है. व्यक्ति 2 सापेक्ष 3 2 है. व्यक्ति 3 सापेक्ष 3 0 है. व्यक्ति 4 सापेक्ष 3 तो 1 देता है, और समूहों के आसपास लपेट कर सकते हैं. तो आप एक सूचकांक और सापेक्ष ले अधिकतम आकार, द्वारा कि सूचकांक परिणाम या अधिक से अधिक कभी नहीं होगा जिसका अर्थ है, आकार के बराबर आपको लगता है कि के रूप में सूचकांक में वृद्धि कर सकते हैं आप चाहें तो के रूप में ज्यादा. और जब तक आप द्वारा सूचकांक सापेक्ष रूप कुछ संख्या है, तो आप एक नंबर नहीं मिलेगा उस से भी बड़ा. इसलिए हम 10 लोगों के बजाय 5 है, और वे सभी समूहों को सौंपा जायेगा संख्या 0, 1, या 2. अधिक रैपिंग के लिए इस लागू करने की कोशिश बजाय छँटाई के सिवाय कीवर्ड, समूह संख्या में लोगों को आप चाहते हैं कीवर्ड का सूचकांक आप कर सकते हैं कि इतना के लिए सही चरित्र मिलता है से अधिक के बिना बदलाव स्ट्रिंग की लंबाई. उस के साथ, आपके पास अपने Vigenere सिफर. मेरा नाम Zamyla है, और इस CS50 है.