1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> आरओबी BOWDEN: हाय, मैं रोब हूँ. 3 00:00:13,750 --> 00:00:17,360 और रोम में, चलो चलो कार्यक्रम जब रोमनों के रूप में. 4 00:00:17,360 --> 00:00:22,280 तो, हम क्या करने की जरूरत है पहली बात की जांच है सुनिश्चित करें कि उपयोगकर्ता वास्तव में प्रवेश किया बनाने के लिए 5 00:00:22,280 --> 00:00:26,670 हम प्रत्येक घुमाना चाहते हैं कि संख्या कमांड लाइन पर से चरित्र. 6 00:00:26,670 --> 00:00:27,740 >> तो, हम जांच ले. 7 00:00:27,740 --> 00:00:30,180 2 को argc बराबर है? 8 00:00:30,180 --> 00:00:34,190 यदि ऐसा नहीं है, कि या तो उपयोगकर्ता का मतलब पर नंबर दर्ज नहीं किया था 9 00:00:34,190 --> 00:00:37,770 आदेश पंक्ति या वे भी कई प्रवेश किया कमांड लाइन पर बातें, जो में 10 00:00:37,770 --> 00:00:40,560 मामले में हम क्या करना है पता नहीं है चीजों के आराम के साथ. 11 00:00:40,560 --> 00:00:45,750 इसलिए, जब तक argc दो के रूप में था, हम कर सकते हैं कार्यक्रम के आराम के साथ जारी है. 12 00:00:45,750 --> 00:00:49,610 >> अब, कि argv याद 1 हमेशा एक स्ट्रिंग है. 13 00:00:49,610 --> 00:00:52,490 लेकिन हम एक पूर्णांक के रूप में व्यवहार करना चाहते हैं. 14 00:00:52,490 --> 00:00:57,550 तो, हम है कि atoi समारोह का उपयोग परिवर्तित करने के लिए उल्लेख पी सेट कल्पना 15 00:00:57,550 --> 00:01:02,330 एक पूर्णांक के लिए स्ट्रिंग argv 1, और हम कुंजी में उस दुकान. 16 00:01:02,330 --> 00:01:06,050 हमें यकीन है कि बनाना चाहते पूर्णांक कि दर्ज किया गया था नकारात्मक नहीं है. 17 00:01:06,050 --> 00:01:09,490 और अगर यह था, हम करने के लिए कि मुद्रित करना चाहते हैं वे अनुमति नहीं कर रहे हैं कि उपयोगकर्ता 18 00:01:09,490 --> 00:01:11,980 कि, और वापस जाने के लिए. 19 00:01:11,980 --> 00:01:15,100 >> तो, अब हम एक मान्य है उपयोगकर्ता से नंबर. 20 00:01:15,100 --> 00:01:19,780 लेकिन हम में से एक स्ट्रिंग प्राप्त करने की आवश्यकता हम एन्क्रिप्ट करना चाहते हैं कि उपयोगकर्ता. 21 00:01:19,780 --> 00:01:25,340 इसलिए हम पाश जबकि करते हैं और मिल इस्तेमाल करते थे से इस स्ट्रिंग पाने के लिए स्ट्रिंग 22 00:01:25,340 --> 00:01:29,190 उपयोगकर्ता, और तार हो रही जारी रखने के लिए वे वास्तव में जब तक 23 00:01:29,190 --> 00:01:31,270 एक मान्य स्ट्रिंग दर्ज करें. 24 00:01:31,270 --> 00:01:34,400 >> हम चाहते हैं कि स्ट्रिंग है एक बार, हम यह एन्क्रिप्ट करने के लिए जा सकते हैं. 25 00:01:34,400 --> 00:01:38,120 तो, इस के लिए लूप कर रही है उस एन्क्रिप्शन. 26 00:01:38,120 --> 00:01:43,250 हम मैं से पुनरावृति रहे हैं कि नोटिस 0 टी सभी तरह मैं बराबरी अप करने के लिए बराबर होती है 27 00:01:43,250 --> 00:01:47,790 n की लंबाई के रूप में परिभाषित किया गया है, जहां एन, संदेश है जहां हमारे संदेश, 28 00:01:47,790 --> 00:01:50,260 उपयोगकर्ता द्वारा दर्ज किए गए स्ट्रिंग. 29 00:01:50,260 --> 00:01:54,330 >> इसलिए हम सभी पर iterating कर रहे हैं स्ट्रिंग में वर्ण. 30 00:01:54,330 --> 00:01:59,740 और एक चरित्र अपरकेस है, तो हम इस का उपयोग करते हुए यह बदलाव करने जा रहे हैं 31 00:01:59,740 --> 00:02:01,860 सूत्र, जो हम करेंगे एक दूसरे में मिलता है. 32 00:02:01,860 --> 00:02:05,260 और यह लोअरकेस था, तो हम यह है का उपयोग करते हुए यह बदलाव करेंगे 33 00:02:05,260 --> 00:02:07,290 बहुत समान सूत्र. 34 00:02:07,290 --> 00:02:10,850 और यह एक अपरकेस और न ही न था अगर एक छोटा अक्षर - उदाहरण के लिए, यह 35 00:02:10,850 --> 00:02:15,370 एक नंबर या एक प्रतीक हो सकता है - तो हम यह करने के लिए कुछ भी करने के लिए नहीं जा रहे हैं. 36 00:02:15,370 --> 00:02:18,220 >> तो, इन सूत्रों को क्या कर रहे हैं? 37 00:02:18,220 --> 00:02:22,090 खैर, हम कैसे चरित्र एक बदलाव करते हैं? 38 00:02:22,090 --> 00:02:27,250 हम चरित्र का इलाज करना चाहते हैं एक नंबर 0 के रूप में. 39 00:02:27,250 --> 00:02:30,710 और हम चरित्र का इलाज करना चाहते हैं इतने पर नंबर 1, और के रूप में बी. 40 00:02:30,710 --> 00:02:35,170 यह zeroth और पहला वर्ण है वर्णमाला के और इतने पर. 41 00:02:35,170 --> 00:02:42,900 >> तो यहाँ, संदेश मैं शून्य से एक माना जाता है हम में से सांख्यिक जगह देने के लिए 42 00:02:42,900 --> 00:02:44,400 वर्णमाला में अक्षर. 43 00:02:44,400 --> 00:02:48,080 तो संदेश अगर मैं एक, यह है हमें 0 देने जा रहा है. 44 00:02:48,080 --> 00:02:52,880 अब, हम उस पर जोड़ना चाहते हैं उपयोगकर्ता चाहता है कि संख्या 45 00:02:52,880 --> 00:02:54,840 द्वारा पत्र घुमाएगी. 46 00:02:54,840 --> 00:03:03,280 तो, वे 3 में प्रवेश किया, तो अगर संदेश मैं एक था, यह हमारे 0 दे और प्लस जाएगा 47 00:03:03,280 --> 00:03:05,400 कुंजी हमें 3 दे देंगे. 48 00:03:05,400 --> 00:03:09,450 >> तो अब, हम विचार कर रहे हैं वर्णमाला में तीसरे स्थान पर. 49 00:03:09,450 --> 00:03:12,810 हम आधुनिक करने की जरूरत क्यों हम देखेंगे एक दूसरे में NUM पत्र द्वारा. 50 00:03:12,810 --> 00:03:18,700 लेकिन अंत में, हम करने के लिए पर जोड़ना चाहते हैं में हमें वापस शिफ्ट करने के लिए फिर से एक अंत 51 00:03:18,700 --> 00:03:22,020 इन पात्रों के लिए ASCII मूल्यों बदले में संख्यात्मक स्थानों की 52 00:03:22,020 --> 00:03:24,260 इन अक्षरों की वर्णमाला. 53 00:03:24,260 --> 00:03:26,580 >> तो, क्यों हम NUM पत्र द्वारा आधुनिक है? 54 00:03:26,580 --> 00:03:29,960 हम चारों ओर लपेट करना चाहते हैं कि याद रखें देखने के लिए अक्षरों के अंत से 55 00:03:29,960 --> 00:03:31,470 वर्णमाला की शुरुआत. 56 00:03:31,470 --> 00:03:38,530 तो उपयोगकर्ता में प्रवेश किया था अगर जेड, तो उस से घटाकर एक करने के लिए जा रहा है 57 00:03:38,530 --> 00:03:40,520 हमें 25 दे. 58 00:03:40,520 --> 00:03:44,800 और चाबी तो, 3 थे हम 28 है जा रहे हैं. 59 00:03:44,800 --> 00:03:53,000 लेकिन जेड तो, एबीसी के आसपास लपेटो चाहिए 28 हैश परिभाषित किया गया है जो माड संख्या पत्र, 60 00:03:53,000 --> 00:04:01,890 26 उम्मीद की जा रही है, के रूप देने जा रहा है सी का दूसरा पत्र है, जहां हमें 2, 61 00:04:01,890 --> 00:04:05,880 वर्णमाला, आप एक याद है कि अगर वर्णमाला के zeroth पत्र. 62 00:04:05,880 --> 00:04:09,210 >> हम क्यों की जरूरत तो है कि NUM पत्र द्वारा आधुनिक. 63 00:04:09,210 --> 00:04:13,540 अब, हम एक ही सटीक बात करने की ज़रूरत है छोटे अक्षरों, सिवाय के लिए 64 00:04:13,540 --> 00:04:17,240 याद है कि हम साथ काम कर रहे हैं छोटे अक्षरों, वे अलग है 65 00:04:17,240 --> 00:04:18,579 ASCII मान. 66 00:04:18,579 --> 00:04:24,550 और इसलिए हम घटाना और एक पर जोड़ने की जरूरत छोटा अक्षर से यह नीचे शिफ्ट करने के लिए 67 00:04:24,550 --> 00:04:30,020 तो ASCII मूल्यों और वापस करने के लिए मूल छोटा अक्षर ASCII मान. 68 00:04:30,020 --> 00:04:33,140 >> और अंत में, कि हमें दे दूँगा हमारे एन्क्रिप्टेड संदेश. 69 00:04:33,140 --> 00:04:37,780 और अंत में, हम सिर्फ बाहर प्रिंट उस संदेश, और यह बात है. 70 00:04:37,780 --> 00:04:39,875 मेरा नाम रोब है, और सीज़र था. 71 00:04:39,875 --> 00:04:49,856