1 00:00:00,000 --> 00:00:10,103 2 00:00:10,103 --> 00:00:11,270 >> ZAMYLA चान: बधाई हो परिष्करण पर अपने 3 00:00:11,270 --> 00:00:13,200 सी कार्यक्रम की पहली जोड़ी. 4 00:00:13,200 --> 00:00:16,379 मुझे पता है कि अपनी पहली चढ़ाई में सी वाक्यविन्यास कठिन हो सकता है. 5 00:00:16,379 --> 00:00:20,060 लेकिन मैं के अंत में, आपको विश्वास दिलाता हूं बेशक, आप को देखने में सक्षम हो जाएगा 6 00:00:20,060 --> 00:00:23,870 पहला कार्य की जोड़ी और मिनटों में उन्हें पूरा करें. 7 00:00:23,870 --> 00:00:27,830 >> आप अधिक परिचित हो रही है अब जब कि वाक्य रचना के साथ, के सीजर को मिलता है. 8 00:00:27,830 --> 00:00:31,720 सीज़र में, उपयोगकर्ता एक प्रस्तुत करेंगे एक कमांड लाइन के रूप में पूर्णांक कुंजी 9 00:00:31,720 --> 00:00:35,300 तर्क, तो एक सादे दर्ज प्रॉम्प्ट पर पाठ संदेश. 10 00:00:35,300 --> 00:00:38,050 कार्यक्रम तो कूटलेखन होगा पाठ और प्रिंट 11 00:00:38,050 --> 00:00:40,020 उनके सिफर संदेश. 12 00:00:40,020 --> 00:00:42,980 >> सीज़र के लिए enciphering काफी सरल है. 13 00:00:42,980 --> 00:00:46,455 में, प्रत्येक अक्षर शिफ्ट उनके कुंजी द्वारा सादे पाठ,. 14 00:00:46,455 --> 00:00:49,220 नतीजतन, यह भी है बहुत असुरक्षित. 15 00:00:49,220 --> 00:00:53,850 लेकिन सीजर को लागू करने की पहल करेगा हमें ASCIIMath और सरणी डेटा को 16 00:00:53,850 --> 00:00:54,460 संरचनाओं. 17 00:00:54,460 --> 00:00:57,510 हम और अधिक जटिल को मिलेगा सिफर बाद में. 18 00:00:57,510 --> 00:01:01,680 में 2, एक पत्र के एक सीज़र कुंजी के साथ सादे पाठ द्वारा प्रतिनिधित्व किया जाएगा 19 00:01:01,680 --> 00:01:07,580 सिफर में पत्र सी वजह सी ए बी के बाद दो पत्र होगा 20 00:01:07,580 --> 00:01:12,450 ओर ई. द्वारा डी और सी द्वारा प्रतिनिधित्व वर्णमाला का अंत, डब्ल्यू है 21 00:01:12,450 --> 00:01:18,550 जेड लेकिन y द्वारा वाई द्वारा प्रतिनिधित्व किया, और एक्स इसके बाद दो पत्र है, इसलिए नहीं है 22 00:01:18,550 --> 00:01:21,070 सिफर वर्णमाला के आसपास wraps. 23 00:01:21,070 --> 00:01:27,190 सादे पाठ में वाई इस प्रकार का प्रतिनिधित्व करती है यह हो सकता है बी से एक सिफर में, और जेड 24 00:01:27,190 --> 00:01:32,080 जैसे सीज़र साइफर देखने के लिए मदद एक निरंतर वर्णमाला पहिया. 25 00:01:32,080 --> 00:01:35,760 >> उनके पाठ, उपयोगकर्ता कूटलेखन के लिए दो तर्क में प्रवेश करेंगे 26 00:01:35,760 --> 00:01:37,090 कमांड लाइन में - 27 00:01:37,090 --> 00:01:40,010 एक कुंजी के बाद. / सीज़र. 28 00:01:40,010 --> 00:01:44,710 हमेशा की तरह, हम उपयोगकर्ता भरोसा नहीं कर सकते पूरी तरह से बना है कि इनपुट दर्ज करने के लिए 29 00:01:44,710 --> 00:01:45,800 हमारे कार्यक्रम के लिए भावना. 30 00:01:45,800 --> 00:01:50,670 तो हम करने के लिए मान्य होगा उनके कमांड लाइन इनपुट. 31 00:01:50,670 --> 00:01:57,285 >> इसके बजाय int मुख्य शून्य का उपयोग कर के, हम कर रहे हैं मुख्य int, int argc, स्ट्रिंग argv का उपयोग कर. 32 00:01:57,285 --> 00:02:01,730 पूर्णांक चर argc का प्रतिनिधित्व करता है में पारित तर्क की संख्या 33 00:02:01,730 --> 00:02:02,880 कमांड लाइन. 34 00:02:02,880 --> 00:02:09,070 और argv एक सरणी, या यह सोचने के रूप में है एक सूची, अंदर पारित किया तर्कों की 35 00:02:09,070 --> 00:02:12,000 >> तो सीज़र के लिए, हम कैसे मान्य है उपयोगकर्ता के इनपुट? 36 00:02:12,000 --> 00:02:15,870 खैर, वे ही प्रवेश करने दिया जाना चाहिए दो कमांड लाइन तर्क - 37 00:02:15,870 --> 00:02:18,150 . / सीज़र और एक चाबी. 38 00:02:18,150 --> 00:02:22,340 Argc 2 नहीं है, तो इसका मतलब है कि वे सिर्फ एक चाबी भूल गया है और या तो 39 00:02:22,340 --> 00:02:27,230 दर्ज किया गया. / सीज़र, या वे कई कुंजी में प्रवेश किया. 40 00:02:27,230 --> 00:02:29,770 >> यदि यह मामला है, तो आप हूँ निर्देश मुद्रित करना चाहते हैं 41 00:02:29,770 --> 00:02:30,910 और प्रोग्राम से बाहर निकलें. 42 00:02:30,910 --> 00:02:34,320 वे फिर से कोशिश करने की आवश्यकता होगी कमांड लाइन से. 43 00:02:34,320 --> 00:02:37,430 लेकिन argc 2 है, भले ही आप हूँ जांच की जरूरत है कि क्या वे 44 00:02:37,430 --> 00:02:39,100 आप एक वैध चाबी दे. 45 00:02:39,100 --> 00:02:40,730 सीज़र के लिए, आप एक पूर्णांक की जरूरत है. 46 00:02:40,730 --> 00:02:43,260 लेकिन argv तारों की एक सरणी है. 47 00:02:43,260 --> 00:02:46,490 आप कैसे उस कुंजी का उपयोग करते हैं? 48 00:02:46,490 --> 00:02:47,850 >> सरणियों पर सरसरी नज़र - 49 00:02:47,850 --> 00:02:51,410 कई पकड़ कि डेटा संरचनाओं एक ही डेटा प्रकार के मूल्यों. 50 00:02:51,410 --> 00:02:55,350 प्रविष्टियां, जिसका अर्थ है शून्य अनुक्रमित रहे हैं कि पहला तत्व सूचकांक शून्य है 51 00:02:55,350 --> 00:03:00,260 और पिछले तत्व सूचकांक आकार पर है शून्य से 1, आकार की संख्या है 52 00:03:00,260 --> 00:03:02,850 सरणी में तत्वों. 53 00:03:02,850 --> 00:03:07,380 >> मैं एक नया स्ट्रिंग सरणी मेलबॉक्स घोषित हैं लंबाई 3 की, नेत्रहीन, यह 54 00:03:07,380 --> 00:03:08,570 इस तरह दिखता है. 55 00:03:08,570 --> 00:03:11,520 तार के लिए तीन कंटेनरों कंधे से कंधा मिलाकर. 56 00:03:11,520 --> 00:03:15,445 किसी भी तत्व का उपयोग करने के लिए, आप नाम लिखें तब सरणी और संकेत मिलता है की 57 00:03:15,445 --> 00:03:18,080 वर्ग कोष्ठक में सूचकांक. 58 00:03:18,080 --> 00:03:21,610 यहाँ, मैं प्रत्येक के लिए एक मूल्य निर्दिष्ट कर रहा हूँ मैं किसी के साथ ऐसा होता है बस के रूप में तत्व, 59 00:03:21,610 --> 00:03:24,310 अन्य स्ट्रिंग चर. 60 00:03:24,310 --> 00:03:29,020 >> इसलिए हमारे कमांड लाइन तर्क का उपयोग करने के लिए, हम सब करना है पहुँच है 61 00:03:29,020 --> 00:03:31,690 argv सरणी के अधिकार के तत्व. 62 00:03:31,690 --> 00:03:37,360 उपयोगकर्ता. / चालू टीम में प्रवेश किया तो टर्मिनल में रॉकेट, 0 होता argv 63 00:03:37,360 --> 00:03:38,950 . / चालू हो. 64 00:03:38,950 --> 00:03:45,010 argv टीम होगा, और arg2 रॉकेट होगा. 65 00:03:45,010 --> 00:03:47,670 >> हम अपने प्रमुख उपयोग कर सकते हैं अब कि, हम अभी भी बनाने की जरूरत 66 00:03:47,670 --> 00:03:49,040 यह सही है कि सुनिश्चित करें. 67 00:03:49,040 --> 00:03:51,060 हम एक पूर्णांक में परिवर्तित करने की आवश्यकता है. 68 00:03:51,060 --> 00:03:54,680 लेकिन हम बस की तरह डाली नहीं कर सकता हम पहले से किया है. 69 00:03:54,680 --> 00:03:58,800 सौभाग्य से, वाई समारोह के लिए एक ख्याल रखता है इस के लिए हमारे लिए और भी 0 देता 70 00:03:58,800 --> 00:04:02,110 स्ट्रिंग परिवर्तित नहीं किया जा सकता है अगर एक पूर्णांक में. 71 00:04:02,110 --> 00:04:04,450 यह आप पर निर्भर है, हालांकि, यह बताने के लिए उपयोगकर्ता क्यों आप नहीं होगा 72 00:04:04,450 --> 00:04:06,220 कार्यक्रम आगे बढ़ना. 73 00:04:06,220 --> 00:04:10,710 एक में वाई करने के लिए एक के परिणाम की दुकान पूर्णांक, और वहाँ आप अपने प्रमुख है. 74 00:04:10,710 --> 00:04:12,070 अगले भाग में सरल है. 75 00:04:12,070 --> 00:04:15,940 उनके सादे पाठ के लिए उपयोगकर्ता के लिए प्रेरित करें, जो डेटा प्रकार स्ट्रिंग की होगी. 76 00:04:15,940 --> 00:04:18,339 सौभाग्य से हमारे लिए, सभी उपयोगकर्ता inputted तार मान्य हैं. 77 00:04:18,339 --> 00:04:21,170 78 00:04:21,170 --> 00:04:24,760 >> अब हम सभी आवश्यक इनपुट है कि उपयोगकर्ता से, यह हमारे लिए समय आ गया है 79 00:04:24,760 --> 00:04:26,520 उनके संदेश कूटलेखन. 80 00:04:26,520 --> 00:04:29,200 सीज़र की अवधारणा सरल है समझने के लिए काफी है. 81 00:04:29,200 --> 00:04:33,750 लेकिन यह कैसे अपने कंप्यूटर को पता है जो पत्र एक के बाद एक आते हैं? 82 00:04:33,750 --> 00:04:36,100 >> ASCII तालिका अंदर आता है यहाँ है 83 00:04:36,100 --> 00:04:39,420 हर चरित्र एक पूर्णांक है इसके साथ जुड़े संख्या. 84 00:04:39,420 --> 00:04:41,380 राजधानी में एक 65 है. 85 00:04:41,380 --> 00:04:43,310 पूंजी बी 66 है. 86 00:04:43,310 --> 00:04:45,260 लोअरकेस एक 97 है. 87 00:04:45,260 --> 00:04:47,590 लोअरकेस बी 98 है. 88 00:04:47,590 --> 00:04:50,770 लेकिन पात्रों सीमित नहीं हैं बस वर्णमाला संख्या को. 89 00:04:50,770 --> 00:04:56,020 उदाहरण के लिए, @ प्रतीक ASCII संख्या 64 है. 90 00:04:56,020 --> 00:04:59,690 >> पूरे स्ट्रिंग के साथ काम करने से पहले, ढोंग करते हैं कि हम सिर्फ बदलाव के लिए है 91 00:04:59,690 --> 00:05:01,220 एक चरित्र. 92 00:05:01,220 --> 00:05:04,640 ठीक है, हम केवल वास्तविक बदलाव चाहते हैं सादा पाठ, नहीं में पत्र 93 00:05:04,640 --> 00:05:06,020 अक्षर या संख्या. 94 00:05:06,020 --> 00:05:09,100 हम चाहते हूँ कि तो पहली बात चेक चरित्र में है कि क्या है 95 00:05:09,100 --> 00:05:10,430 वर्णमाला. 96 00:05:10,430 --> 00:05:14,460 >> समारोह isalpha के लिए इस करता है हमें और एक बूलियन देता है - 97 00:05:14,460 --> 00:05:18,570 , वर्ण एक पत्र है अगर सच अन्यथा यदि झूठी. 98 00:05:18,570 --> 00:05:22,270 दो अन्य उपयोगी कार्य कर रहे हैं isupper और islower, साथ 99 00:05:22,270 --> 00:05:23,860 सुगम नामों. 100 00:05:23,860 --> 00:05:27,370 वे सच वापसी अगर दिए गए चरित्र अपरकेस या लोअरकेस है, 101 00:05:27,370 --> 00:05:28,740 क्रमशः. 102 00:05:28,740 --> 00:05:33,770 वे Booleans हैं, वे कर रहे हैं शर्तों के रूप में उपयोग करने के लिए उपयोगी है. 103 00:05:33,770 --> 00:05:38,310 >> Isalpha सत्य देता है, तो आप की आवश्यकता होगी चाबी से उस चरित्र शिफ्ट करने के लिए. 104 00:05:38,310 --> 00:05:43,750 तो चलो ASCIIMath के लिए खुला और कुछ ASCII गणित है. 105 00:05:43,750 --> 00:05:48,700 उपयोग के उपयोग के समान है सीज़र के लिए और पर एक कुंजी में ले जाता है 106 00:05:48,700 --> 00:05:50,870 कमांड लाइन. 107 00:05:50,870 --> 00:05:59,590 >> मैं ASCIIMath 5 चलाते हैं, यह जोड़ने के लिए लगता है 5 एक करने के लिए, मुझे पत्र च दे रही है और 108 00:05:59,590 --> 00:06:01,260 ASCII मान प्रदर्शित. 109 00:06:01,260 --> 00:06:04,090 तो चलो कार्यक्रम पर एक नज़र. 110 00:06:04,090 --> 00:06:11,820 >> तुम यहीं, आश्चर्य हो सकता है क्यों जब यह पत्र, एक पूर्णांक है 111 00:06:11,820 --> 00:06:14,330 जाहिर है, अच्छी तरह से, एक पत्र. 112 00:06:14,330 --> 00:06:17,690 यह पता चला है कि पात्रों और पूर्णांकों विनिमेय हैं. 113 00:06:17,690 --> 00:06:21,730 एकल में एक पत्र डाल करके उद्धरण चिह्न, पूर्णांक स्टोर कर सकते हैं 114 00:06:21,730 --> 00:06:25,390 राजधानी के ASCII मूल्य ए हालांकि, सावधान रहें. 115 00:06:25,390 --> 00:06:27,150 आप एक कपड़े की जरूरत है. 116 00:06:27,150 --> 00:06:31,260 एकल उद्धरण चिह्नों के बिना, संकलक एक चर के लिए लग रही होगी 117 00:06:31,260 --> 00:06:35,510 चरित्र एक नाम है, और नहीं. 118 00:06:35,510 --> 00:06:42,140 >> तब मैं भंडारण, पत्र और एक चाबी जोड़ चर परिणाम int में योग. 119 00:06:42,140 --> 00:06:47,740 परिणाम डेटा प्रकार की है हालांकि पूर्णांक, मेरे printf बयान का उपयोग करता है 120 00:06:47,740 --> 00:06:50,370 पात्रों के लिए% ग प्लेसहोल्डर. 121 00:06:50,370 --> 00:06:54,530 इसलिए कार्यक्रम चरित्र मुद्रित करता है पूर्णांक परिणाम के साथ जुड़े. 122 00:06:54,530 --> 00:07:00,400 और हम पूर्णांक मुद्रित के बाद % डी का उपयोग कर के रूप में अच्छी तरह से फार्म, हम देखते हैं 123 00:07:00,400 --> 00:07:02,110 संख्या के रूप में अच्छी तरह से. 124 00:07:02,110 --> 00:07:04,450 तो अब आप कि हम देख सकते हैं पात्रों के इलाज और 125 00:07:04,450 --> 00:07:06,980 पूर्णांकों, और इसके विपरीत. 126 00:07:06,980 --> 00:07:12,205 >> चलो कुछ ASCIIMath बाहर का परीक्षण करते हैं अधिक बार एक कुंजी के रूप में 25 का उपयोग. 127 00:07:12,205 --> 00:07:15,510 128 00:07:15,510 --> 00:07:17,090 हम पत्र Z मिलता है. 129 00:07:17,090 --> 00:07:19,750 अब हम 26 कोशिश. 130 00:07:19,750 --> 00:07:25,600 हम एक पत्र प्राप्त करना चाहते हैं, लेकिन इसके बजाय हम एक बाईं ब्रैकेट मिलता है. 131 00:07:25,600 --> 00:07:29,490 तो जाहिर है, सिर्फ जोड़ने पत्र की कुंजी नहीं करेंगे. 132 00:07:29,490 --> 00:07:32,780 हम रैप करने के लिए एक फार्मूला यह पता लगाने की जरूरत है वर्णमाला के आसपास, जैसे हमारे 133 00:07:32,780 --> 00:07:34,570 शुरुआत में उदाहरण था. 134 00:07:34,570 --> 00:07:38,520 >> सीज़र के लिए एक फार्मूला इस प्रकार के रूप पारी है. 135 00:07:38,520 --> 00:07:42,750 सी पी प्लस कश्मीर सापेक्ष 26 के बराबर होती है. 136 00:07:42,750 --> 00:07:46,040 सापेक्ष एक उपयोगी है याद रखें हमें शेष देता है कि आपरेशन 137 00:07:46,040 --> 00:07:49,880 अन्य द्वारा एक संख्या में विभाजित. 138 00:07:49,880 --> 00:07:54,870 के सादे करने के लिए इस फार्मूले को लागू करते हैं 2 के एक प्रमुख के साथ पाठ पत्र. 139 00:07:54,870 --> 00:08:01,810 Y के ASCII मूल्य, 89 है जो , हमें 91 सापेक्ष 26 देता है 140 00:08:01,810 --> 00:08:03,690 जो 13 के बराबर होती है - 141 00:08:03,690 --> 00:08:08,740 निश्चित रूप से ASCII मूल्य नहीं एक की, जो 67 है. 142 00:08:08,740 --> 00:08:12,810 >> हास्य अब मुझे और दूर से स्थानांतरित एक वर्णमाला सूचकांक के लिए ASCII मूल्यों 143 00:08:12,810 --> 00:08:18,690 एक शून्य है और जेड 25 है जहां वाई 24 है जिसका अर्थ है कि. 144 00:08:18,690 --> 00:08:25,830 24 प्लस 2, सापेक्ष 6, हमें 26 देता है जो सापेक्ष 26, 0, 145 00:08:25,830 --> 00:08:28,170 एक की वर्णमाला अनुक्रमणिका. 146 00:08:28,170 --> 00:08:32,980 तो इस फार्मूले को लागू करने के लिए लगता है वर्णमाला पत्र के सूचकांक और 147 00:08:32,980 --> 00:08:34,960 नहीं अपने ASCII मूल्य. 148 00:08:34,960 --> 00:08:37,630 >> लेकिन आप ASCII मूल्यों के साथ शुरू करते हैं. 149 00:08:37,630 --> 00:08:41,650 और सिफर चरित्र मुद्रित करने के लिए, आप के रूप में अच्छी तरह से अपने ASCII मूल्य की आवश्यकता होगी. 150 00:08:41,650 --> 00:08:46,400 यह आप पर निर्भर है, फिर, यह पता लगाने के लिए आगे और पीछे स्विच करने के लिए कैसे. 151 00:08:46,400 --> 00:08:49,850 >> आप सही फार्मूला बाहर आंकड़ा एक बार एक चरित्र के लिए, तुम सब करने की ज़रूरत है 152 00:08:49,850 --> 00:08:53,520 हर के लिए एक ही फार्मूला लागू होता है सादे पाठ में पत्र - 153 00:08:53,520 --> 00:08:57,720 उस पत्र, वर्णमाला तभी बेशक. 154 00:08:57,720 --> 00:09:02,360 और आप को संरक्षित करने की जरूरत है कि याद मामले, ऊपरी या निचले, कि जहां है 155 00:09:02,360 --> 00:09:06,890 isUpper और isLower कार्यों उल्लेख पहले काम में आ जाएगा. 156 00:09:06,890 --> 00:09:08,830 आप दो फार्मूले हो सकता है - 157 00:09:08,830 --> 00:09:11,680 अपरकेस पत्र के लिए एक और छोटे के लिए एक. 158 00:09:11,680 --> 00:09:18,420 आपकी मदद करेगा एक isLower isUpper तो लागू करने के लिए जो फार्मूला निर्धारित करते हैं. 159 00:09:18,420 --> 00:09:22,460 >> कैसे आप हर के लिए अपनी फार्मूला लागू करते हैं एक स्ट्रिंग में एकल वर्ण? 160 00:09:22,460 --> 00:09:25,910 खैर, एक स्ट्रिंग सिर्फ एक है पात्रों की सरणी. 161 00:09:25,910 --> 00:09:31,150 तो आपके द्वारा प्रत्येक चरित्र का उपयोग कर सकते हैं में हर चरित्र पर समूहीकरण 162 00:09:31,150 --> 00:09:33,450 पाश के लिए एक में स्ट्रिंग. 163 00:09:33,450 --> 00:09:37,550 पाश के लिए अपने की शर्त के रूप में, स्ट्रिंग के लिए समारोह strlen, 164 00:09:37,550 --> 00:09:39,280 लंबाई, काम में आ जाएगा. 165 00:09:39,280 --> 00:09:44,020 यह निवेश के रूप में एक स्ट्रिंग में लेता है और कि स्ट्रिंग की लंबाई देता है. 166 00:09:44,020 --> 00:09:49,250 सुनिश्चित करें कि सही पुस्तकालय में शामिल करने के लिए सुनिश्चित करें स्ट्रिंग की लंबाई समारोह का उपयोग करने के लिए. 167 00:09:49,250 --> 00:09:51,790 >> और वहाँ आप अपने सिफर है. 168 00:09:51,790 --> 00:09:53,260 मेरा नाम Zamyla है. 169 00:09:53,260 --> 00:09:54,510 और [संहिता बोल रही है]. 170 00:09:54,510 --> 00:10:02,944