जेसन Hirschhorn: आपका स्वागत है CS50 अनुभाग, सब लोग. मेरा नाम जेसन Hirschhorn है. मैं तुम्हारा TFS का एक बहुत कुछ कर रहा हूँ, लेकिन का एक बहुत लोगों को उम्मीद है कि हमें में शामिल किया जाएगा ऑनलाइन, एक्सटेंशन छात्रों या छात्रों खंड के माध्यम से देखने की कोशिश अगर वे कि सप्ताह अपने अनुभाग या चूक वे चाहते थे कि अगर बस पकड़ने कुछ सामग्री की समीक्षा करने के लिए. तो सिलेबस के अनुसार, जो सभी के तुम, सही पढ़ा है? मैं सिर सिर हिलाते का एक बहुत कुछ देखा. धारा के अवसरों के साथ प्रदान पता लगाने के लिए पाठ्यक्रम की एक अधिक घनिष्ठ वातावरण में सामग्री, साथ ही साथ में गोता हाथों पर गतिविधियों. तो यह है कि हम क्या कर रहे हैं मूल रूप से है हर हफ्ते कर रही हो जा. हम हम क्या है के माध्यम से जाने के लिए जा रहे हैं सबसे महत्वपूर्ण होना निर्धारित व्याख्यान में शामिल विषयों, और लोगों को शायद यह भी एक सबसे उपयोगी और समस्या सेट पर आने के लिए सबसे अधिक संभावना और परीक्षाएँ में, और अपने कोडिंग में CS50 के बाहर जीवन. इसलिए हम उन विषयों में जाने के लिए जा रहे हैं, उन पर चलते हैं, उन पर चर्चा, तुम लोग किसी भी प्रश्न का जवाब है, और तो हम में से एक बहुत कुछ करने जा रहे हैं कोडिंग में समस्याओं का अभ्यास करेंगे. आप सभी लैपटॉप लाया, जो शानदार है. यह एक कंप्यूटर विज्ञान वर्ग है. हालांकि, हम क्या कर अभ्यास का एक बहुत, आप के लिए अपने लैपटॉप की जरूरत नहीं होगी. आप कागज के एक पत्रक पर उन्हें कर सकते हैं. यही कारण है कि आप कैसे जा रहे है परीक्षाएँ पर उन्हें नहीं है. और वास्तव में, कि एक शानदार तरीका है वास्तव में आप कैसे करना है कि पता आप नहीं है तो कुछ से 50 की जाँच करें पर भरोसा करते हैं या कह रही है, पर भरोसा करने के लिए सुनिश्चित करें आप किसी भी गलतियां कीं. तो आप पर कोड के लिए स्वागत है उपकरण या run.cs50.net, जो है आप कोड की अनुमति देता है कि एक और उपकरण ऑनलाइन, लेकिन मैं भी अगर, सिफारिश करेंगे आप एक पत्रक का उपयोग कर, यह कोशिश नहीं की है कागज और इन अभ्यास का प्रयास करने का कागज के एक पत्रक पर समस्या. फिर, कि अंततः है क्योंकि तुम हो जा रहे हैं क्या परीक्षाएँ पर करने के लिए कहा. तो चलो साथ शुरू करते हैं हमारे आज का एजेंडा. हम के लिए कुछ मानदंडों पर जाने के लिए जा रहे हैं हमारे अनुभाग, तो हम गोता करने के लिए जा रहे हैं सरणियों, काम करता है, और कमांड लाइन में तर्क, जो है क्या तुम लोग व्याख्यान में यह पिछले सप्ताह कवर किया और फिर सोमवार, और क्या आप को कवर करेंगे कल से अधिक. और फिर अंत में, हम जा रहे हैं pset2 के बारे में बात करने के लिए. आप अगर मैं हाथ की एक शो मिल सकता है दो सेट समस्या पर गौर नहीं किया है विनिर्देश. हम हर किसी से कहूँगा. बढ़िया. हम एक बिट में समस्या सेट के बारे में बात करेंगे लेकिन आप सेट समस्या पढ़ें विनिर्देश, कि तुम सब करने की ज़रूरत. आप करने के लिए आने से पहले आप पढ़ा है कि अगर वर्ग और मंगलवार को खंड, तुम जाएगा एक महान स्थिति हो. हम समस्या सेट के माध्यम से जा सकते हैं, हम जा रहे हैं क्या है जो अंत में करना. हम के माध्यम से जाने के लिए जा रहे हैं तर्क, बनाना हर कोई एक ही पृष्ठ पर है. मैं आप मंगलवार को छोड़ने के लिए सक्षम होना चाहता हूँ क्या आप के साथ बहुत सहज महसूस कर रही है इस हफ्ते की समस्या सेट के लिए क्या करने की जरूरत है, यदि आप नहीं करते हैं, तो मैं खुशी से होगा के बाद रहने के लिए और आप के साथ काम करते हैं. लेकिन यह है कि आप के लिए है कि एक बात है , लेकिन मैं वास्तव में स्मार्ट हो जाएगा लगता है सिर्फ सेट समस्या को पढ़ने के लिए मंगलवार को कक्षा से विनिर्देश, यह एक तरह लगता है जो आप लोगों में से बहुत कुछ किया. मैं प्रत्येक वर्ग एक एजेंडे के साथ शुरू करेंगे तो आप हम कहाँ जा रहे हैं पता है. यह भी देख रहे लोगों के लिए उपयोगी है ऑनलाइन क्योंकि प्रत्येक अनुभाग रंग कोडित है, इसलिए आप आने के लिए चाहते हैं पीठ और सिर्फ बल्कि 10 मिनट घड़ी पूरे 90 मिनट अनुभाग, आप से बस रंग कोडित अनुभाग के लिए जा सकते हैं और उस भाग पर दिखेगा. तो मैं अच्छा में उन्हें तोड़ने की कोशिश की है आप करने की अनुमति देगा कि मॉड्यूल - आप वापस आ गए और समीक्षा करना चाहते हैं, अभी जो कर रहे हैं या अन्य छात्रों समीक्षा करने के लिए एक अनुभाग देख - विशेष बात खोजने के लिए वे पर ध्यान देना चाहते हैं और के बारे में और अधिक जानने के. मीठा. मानदंड. मैं परिसर में एक बांका नेता हूँ. किसी को भी बांका था कि अगर मैं नहीं जानता. किसी को भी बांका नहीं किया था? एक व्यक्ति बांका किया. दो लोगों को बांका किया. बहुत बढ़िया. तो बांका प्रथम वर्ष आउटडोर है उन्मुखीकरण कार्यक्रम. हम जंगल में नए लेने और बनाने के सबसे जादुई अनुभवों उनके जीवन, सही? हाँ. के बारे में सही लगता है. इसलिए मैं सिर्फ हमारे बहुत पहले शुरू करना चाहता था कुछ मानदंडों पर चर्चा से अनुभाग वर्ग और हमारे रिश्ते के लिए मुझे लगता है कि क्योंकि वे बहुत महत्वपूर्ण हैं. और सबसे पहले, आप उन लोगों के रूप में जो मेरे अनुभाग प्राप्त किया है और कर रहे हैं उस में चर्चा की गई है ईमेल, मैं इस प्यार करता हूँ. इस वर्ष की मेरी सबसे पसंदीदा हिस्सा है. मैं बहुत उत्साहित किया गया है. मैं घंटों के लिए आज यहां किया गया है. मैं करने के अलावा इस इमारत नहीं छोड़ा है , मैं CS50 अनुभाग पसंद है क्योंकि खाते चलते मैं प्रेम शिक्षण, मैं काम से प्यार है तुम लोगों के साथ. मेरी सर्वोच्च प्राथमिकताओं में से एक है, नहीं तो मेरी नंबर एक प्राथमिकता है, न केवल के लिए लेकिन मेरे अन्य सहित इस वर्ग वर्गों और extracurriculars, करने के लिए है आप लोगों का समर्थन है, और तुम लोगों की मदद, और सुनिश्चित करें कि आप सुनिश्चित करने के लिए अपनी पूरी कोशिश दोस्तों, एक अद्भुत, मज़ा, उत्पादक है आकर्षक, रोमांचक इस वर्ग में अनुभव. यही कारण है कि मैं करने के लिए प्रतिबद्ध हूँ. मैं यह करने के लिए प्यार करता हूँ. यही कारण है कि मेरा नंबर एक बात है, तुम लोगों को समर्थन. आप व्याख्यान के बारे में कोई प्रश्न हैं, समस्या सेट, अनुभाग, जीवन, आप के बारे में बात करना चाहते हैं, भले ही जीवन, बाहर तक पहुँचने के लिए स्वतंत्र महसूस कृपया. आप अपने सेल फोन नंबर है, आप मेरे ईमेल है पता है, तुम मेरे Gchat है. आप किसी एक या सभी पर मुझसे संपर्क कर सकते हैं उन जब भी, लेकिन शायद नहीं मिलेगा एक प्रतिक्रिया जब भी. मैं कोशिश करते हैं और 24 घंटे के भीतर वापस मिलता है. आमतौर पर यह के भीतर हो जाएगा 20 मिनट या 24 मिनट. मुझे लगता है कि कहना चाहिए यह समानांतर बनाने के लिए. लेकिन अगर आप एक प्रतिक्रिया मिल जाएगा बहुत जल्दी. इससे पहले कि आप मुझे एक घंटे के पाठ हैं समस्या सेट की वजह से, मैं आप शांत हो जाएगी नीचे और गहरी साँस लेने के व्यायाम करते हैं आप के साथ है, लेकिन आप शुरू नहीं किया है, आप शायद खत्म करने के लिए जा रहा है, और नहीं कर रहे हैं मैं वास्तव में वहाँ तुम्हारी मदद नहीं कर सकते मैं अपनी पूरी कोशिश करेंगे, भले ही. तो मैं सब कुछ करना होगा मैं आप का समर्थन करने के लिए कर सकते हैं. चाहे पहुंचने के लिए स्वतंत्र महसूस कृपया यह ऑफिस का समय पर, फिर खंड में है आप मुझे देखते हैं, या यहां तक ​​कि बाहर. अगर मैं पूरा करने के लिए एक समय निर्धारित करने के लिए खुश हूँ और समस्याओं के माध्यम से काम साथ या सामग्री पर चलते हैं. इसलिए कि नंबर एक, समर्थन है. मैं सब कुछ करना होगा मैं आप का समर्थन करने के लिए कर सकते हैं. नंबर दो, बीच में बैठक. जितना मैं होना चाहते हैं, जैसा कि मैं कर रहा हूँ सर्वशक्तिमान या सभी शक्तिशाली है या नहीं सभी की जानकारी है, तो मैं नहीं जानता कि सब समय मैं क्या कर रहा हूँ अगर हो रही है भर में, अगर मैं अध्यापन कर रहा हूँ रास्ता विषय आप यह जानने में मदद करता है, या आप अगर नहीं है एक विषय पर उलझन में रहे हैं लेकिन, अपना हाथ बढ़ा या मुझसे पूछें या मुझे एक ईमेल भेजें. या फिर आप फिर से, भ्रमित कर रहे हैं, भले ही समस्या सेट पर कुछ के बारे में. आप मुझे बाहर तक पहुँच नहीं है, मुझे यकीन है कि के लिए पता नहीं कर सकते. मैं पर में जाँच करने के लिए अपना सर्वश्रेष्ठ करने के लिए जा रहा हूँ तुम लोग, यकीन है कि सब कुछ है बनाने अच्छी तरह से चल रहा है, एक तरह से बातें सिखाने की कोशिश इस बात का सबसे करने के लिए अनुकूल हो जाएगा वहाँ अपनी शिक्षण शैली, लेकिन अगर मैं कुछ भी कर सकता, मुझे पता है. उन पंक्तियों के साथ, आप कुछ मदद चाहते हैं समस्या सेट के साथ, मैं अधिक रहा हूँ आप मदद के लिए खुश से समस्या सेट के साथ. हम में से एक बहुत कुछ करने जा रहे हैं कि दूसरे की ओर इस खंड के आधा. लेकिन आप समस्या सेट नहीं पढ़ा है अगर पीठ और पैदल दूरी पर देखा नहीं है के माध्यम से और शॉर्ट्स देखा नहीं है और मुझे तुम्हें सिखाने के लिए की उम्मीद वीडियो टेप किया गया है कि सब कुछ ऑनलाइन या आप CS50 पर पा सकते हैं कि अध्ययन, कि करने के लिए वास्तव में उचित नहीं है मुझे या अपने अन्य साथियों को. तो, मैं मदद करने के लिए खुश से अधिक रहा हूँ कृपया तुम, लेकिन तुम लोगों में मुझसे मिलने के लिए मिला मध्य. हम के लिए संसाधनों के टन है CS50 पर आपको उपलब्ध. मैं उनमें से कुछ का उल्लेख किया. उन का लाभ लेने के लिए धन्यवाद. आप भ्रमित कर रहे हैं, मैं खुश हूँ से अधिक आप में उन्हें समझाने में मदद करने के लिए एक और तरीका है, लेकिन यह उचित नहीं है अगर छात्रों कार्यालय समय पर दिखाने के लिए, कुछ भी शुरू कर दिया है, और यह है नहीं है गुरुवार की रात और वे उम्मीद कर रहे हैं हर एक के माध्यम से उन्हें चलने के लिए TF कारण सेट समस्या के लिए बात दोपहर अगले दिन पर. भावना करें? फिर, बीच में हमसे मिलने धन्यवाद. और अंत में, उच्च उम्मीदों. मैं सब लोग जो ग्रेडिंग करने जा रहा हूँ मेरे अनुभाग, या स्कोरिंग में अपनी समस्या खेलें. आप इस समस्या को वापस नहीं गए अभी तक शून्य या एक सेट. हम उस बारे में खेद है. यह अंत करने के लिए थोड़ी देर के लिए हमें ले लिया अब वर्गों व्यवस्थित, और हम ग्रेडिंग शुरू कर सकते हैं. मैं तुम्हें करने के लिए उन्हें वापस मिल जाएगा जितनी जल्दी हो सके. उन में से कुछ हैं मेरे वहाँ बाहर advisees. मैं तुम्हें करने के लिए उन्हें वापस मिल जाएगा जितनी जल्दी हो सके. और दो सेट समस्या के लिए, हम पर हो जाएगा शेड्यूल और हम उन्हें हो रही शुरू करेंगे आप के लिए बहुत जल्दी के बाद आप उन्हें अंदर बारी आप अपनी समस्या, तुम वापस सेट मिल रहा आप से जानते हैं, स्कोर प्राप्त होगा शुद्धता, - सिलेबस पढ़ने डिजाइन, गुंजाइश, और शैली स्कोर. तुम भी टिप्पणियां प्राप्त करेंगे. टिप्पणियाँ अधिक महत्वपूर्ण हैं स्कोर्स की तुलना में. मैं यह कहने के लिए सुरक्षित है. स्कोर सिर्फ एक संख्या हैं 1-5. यह उन में पढ़ने के लिए मुश्किल है. यह उन लोगों से बेहतर बनाने के लिए मुश्किल है. लेकिन टिप्पणियों विशिष्ट बात करेंगे आप अच्छी तरह से किया चीजें या क्षेत्रों आप को सुधार और आप कुछ दे सकते हैं भविष्य या विकल्प के लिए विचारों बातें करने के तरीके. तो, कृपया पढ़ें कृपया टिप्पणियों के माध्यम से. मैं में समय की एक बहुत डाल उन टिप्पणियों. उन के माध्यम से पढ़ा है और कृपया नहीं बस की तह तक नीचे स्क्रॉल पीडीएफ, अपने स्कोर देखने के लिए, या ऑनलाइन जाने और उपेक्षा तो अपने स्कोर लगता है, और टिप्पणियाँ. यही कारण है कि आप कर रहे हैं कैसे नहीं है बेहतर हो रहा. यही कारण है कि आप को बढ़ाने के लिए जा रहे हैं नहीं है अपने स्कोर अंततः, बस बीसियों को देखकर. उन टिप्पणियों को देखने के लिए धन्यवाद. और उच्च उम्मीदों की रेखा के साथ, फिर, जैसा मैंने आपको कहा, पांच के माध्यम से एक से रन बनाए जा सकते हैं. Twos, threes, और चौके हैं स्कोर के विशाल बहुमत तुम हो रही हो जा रहे हैं. पुरुषों और fives दोनों वास्तव में दुर्लभ हैं. चीजें हमेशा नहीं है हम बेहतर कर सकते हैं. मैं एक प्रोग्राम कोड जब भी वहाँ है हमेशा कुछ मैं बेहतर कर सकता था. तो बजाय कह से आप एक पाँच मिल सब कुछ पर था और सभी समय सब कुछ सही है, मैं किसी भी नहीं लगता वास्तव में हमें विश्वास है कि हम - या उम्मीद है, हम सब कुछ नहीं है समय के सभी सही. तो चिंता मत करो तुम अगर एक पाँच नहीं मिला. एक पाँच, एक एक पर एक चार मैप नहीं एक बी पर मैप नहीं है, एक तीन करता है नहीं है एक सी. पर मैप नहीं स्कोर में कैसे काम करते हैं. दाऊद की तरह कई बार, पर कहा गया है सेमेस्टर के अंत में अपने स्कोर के सभी और मुझ से इनपुट, अपने TF, एक साथ आते हैं और आप के लिए एक अंतिम ग्रेड का निर्धारण. लेकिन फिर, यह पाँच नहीं है एक, चार, बी, वगैरह. तो मैं उच्च उम्मीदों किया जा रहा हूँ आप लोगों के लिए. मैं अच्छा समस्या उम्मीद करने के लिए जा रहा हूँ सेट और मैं देने जा रहा हूँ जैसे आप प्रतिक्रिया. और यह आप कर रहे हैं इसका मतलब यह नहीं जा रहा है एक बुरा ग्रेड प्राप्त करने के लिए जा रहा है. आप के मामले में वर्गीकृत कर रहे हैं सप्ताह से अपनी प्रगति कोर्स के अंत तक शून्य. और अंत में, उच्च के संदर्भ में वर्ग में उम्मीदों, मैं जब प्यार लोग भाग लेते हैं. मैं कुछ लोगों को और अधिक या महसूस समझने कम आराम से भाग ले. अन्य लोग भाग ले रहे हैं नहीं उनके हाथ उठाने और से सभी समय में बात कर. लेकिन इस वर्ग में हम होने जा रहे हैं छोटी समस्याओं का एक बहुत कुछ है, एक बहुत कुछ कर रही मिनी सवालों का, और फिर कुछ बड़ा कोडिंग समस्याओं. तो निश्चित रूप से इन अभ्यासों के बाहर काम हम अपने कंप्यूटर पर या पर उन्हें क्या जब कागज के एक पत्रक. लेकिन मैं भी इससे पहले कि आप कुछ समय दे देंगे किसी को कभी भी कुछ जवाब देने के लिए है सवालों का मैं पूछना. मैं करने के लिए आपको कुछ समय देना होगा इसलिए क्योंकि हम जा रहे हैं, क्योंकि इसके बारे में सोचो कभी कभी भागीदारों में बातें करते हैं, मैं उम्मीद करेंगे कि हर कोई कुछ हद तक लगे हो. और एक बेहतर शब्द की कमी के लिए, वहाँ शायद ठंड बुला, जो होगा सबको मौका दिया जाएगा, जहां है तो जवाब के बारे में सोचने के लिए, और मैं तो आप पर कॉल कर देंगे, और आप जवाब कहूँगा. चिंता या उस के बारे में डरो मत. मैं अतीत में किया है और हमने पाया है यह बहुत अधिक सफल है कि इस पर भी पढ़ शैक्षिक अनुसंधान करने के लिए यह एक था या नहीं, यह निर्धारित अच्छी रणनीति. यह विशेष रूप से आप अगर बहुत उपयोगी है, छात्रों के बारे में सोचने का समय दे जवाब है और उन्हें अभी आया नहीं बनाते हैं बाहर और बल्ले से यह कहते हैं. लेकिन आप सहज महसूस नहीं करते हैं जवाब दे, मैं भी बहुत अच्छा कर रहा हूँ कि बाहर संवेदन, और हम नहीं जा रहे हैं आप विशेष रूप से पर, मौके पर ही डाल कैमरा, भले की कोई नहीं तुम सही अब कैमरे के सामने हैं. तो उन मेरे पास मानदंडों हैं. पंक्तियों के साथ एक और बात बीच में बैठक की. मैं तुम लोगों को देने के लिए जा रहा हूँ प्रतिक्रिया का एक बहुत. साथ ही मुझे प्रतिक्रिया देने के लिए धन्यवाद. एक वेबसाइट, sayat.me/cs50 है. तो यह एक ईमानदार प्रतिक्रिया है. आप अनुभाग के दौरान इसे देने के लिए चाहते हैं, यह तब होता है जब भी मैं एक ईमेल मिलता है. हम कुछ देर में एक ब्रेक ले लेंगे, तो मैं हूँ तो प्रतिक्रिया के माध्यम से देखो. आप कभी भी किसी भी प्रतिक्रिया हो, तो वहाँ मुझे दे दीजिये. आप क्यू पर मुझे प्रतिक्रिया दे, तो वह है अद्भुत, लेकिन यह है कि गाइड है तुम अंत में करना है. लेकिन यह है कि सेमेस्टर के अंत में किया जाएगा ताकि मैं उस के किसी भी लेने में सक्षम नहीं होगा राय और शिक्षण में बारी तुम लोगों को बेहतर. तो, आप किसी भी है तो कृपया प्रतिक्रिया, मुझे दे. मैं प्रतिक्रिया से प्यार है. वापस बांका के लिए, हम प्रतिक्रिया मिल सभी समय. तुम मुझे पूरा करता है, अच्छी बातें दे सकते हैं, डेल्टा, मैं इस पर सुधार कर सकते हैं बातें. तुम मेरे संगठनों पर टिप्पणी कर सकते हैं. उस के रूप में मददगार नहीं होगा, लेकिन आप कर रहे हैं किसी पर टिप्पणी करने के लिए स्वागत करते हैं और सब कुछ. , मुझे प्रतिक्रिया दे कृपया. मैं यह एक बहुत महत्व देते हैं और यह मेरे लिए बहुत मायने रखता है. एक और आदर्श, मज़ा. हम बहुत मज़ा किया जा रहे हैं. उम्मीद है कि इस कोर्स में, तुम हूँ बहुत मज़ा है. हम अनुभाग में कैंडी होगा. हम संगीत के लिए होगा. हमें उम्मीद है कि किसी को पता करने के लिए हो रही होगी एक और कुछ हद तक ठीक है, इसलिए मैं चाहता हूँ यह एक मजेदार, दिलचस्प अनुभव हो. मैं आप में से कुछ में सो गए पता आप पहले आज था व्याख्यान, इसलिए उम्मीद है कि नहीं होगा अब मामला हो. और यह सिर्फ, अब मामला है खर्राटे नहीं है कि हो सकता है कैमरे में कैद किया. मीठा. कोई प्रश्न, टिप्पणियाँ, या चिंताओं मैं हम है कुछ के बारे में पर ले जाने से पहले के बारे में बात की थी? ग्रेट. तो हम जाने के लिए जा रहे हैं पहले सरणियों में. यह आपको एक सरणी बनाने के लिए है. हम पहले यह देखा है. आप एक डेटा प्रकार है, तो आप एक है नाम है, और फिर आप एक आकार दिया है. यहीं पर, मैं दो सरणियों बना. पहले एक अक्षर की एक सरणी है, और यह 26 रिक्त स्थान है. एक दूसरे की एक सरणी है स्कोर, और यह तीन है तीन पूर्णांकों के लिए रिक्त स्थान. हाँ? छात्र: इन स्लाइड्स के सभी कर रहे हैं हमारे लिए उपलब्ध कहीं? जेसन Hirschhorn: बड़ा सवाल है. सवाल था, के सभी कर रहे हैं उपलब्ध इन स्लाइड? हां. इन सभी स्लाइडों को उपलब्ध हो जाएगा, और भविष्य में, मैं उन्हें ईमेल कर देंगे अनुभाग से पहले आप. लेकिन आज यह पहली बार है, क्योंकि हफ्ते, हम एक देर से शुरू किया था. तो आम तौर पर, आप इन स्लाइड्स मिलता है, लेकिन हूँ वे ऑनलाइन उपलब्ध हो जाएगा मैं तुम्हें करने के लिए उन्हें ईमेल कर देंगे सही कक्षा के बाद. अन्य प्रश्न? तो फिर, सरणियों की कमी के लिए, बक्से हैं कई पकड़ कि एक बेहतर शब्द, एक डेटा प्रकार के तत्वों, और वे कर रहे हैं एक स्मृति में एक और करने के लिए अगले. और तो फिर, यह है कि कैसे आप कर सकते हैं सरणियों के दो प्रकार के कर. आप अपने सरणी के साथ बनाया है तो बाद कि पहली पंक्ति - INT स्कोर, ब्रैकेट तीन, बंद कोष्ठक - आप आरंभ करना चाहते हैं. तुम वहाँ में कुछ मूल्यों को रखना चाहते हैं. और यह आपको कुछ मूल्यों में डाल कैसे है वहाँ, बस indice चुनने और नंबर लिख. की बोर्ड पर इस आकर्षित करते हैं. हर कोई देख सकता है? हर कोई देख सकता है. मीठा. इसलिए कि होने जा रहा है मेरा स्कोर बुलाया सरणी. आप देख सकते हैं, यह आकार तीन है. तीन बक्से में कर रहे हैं. हर एक को क्या फिट कर सकते हैं प्रकार डेटा प्रकार का? छात्र: पूर्णांक. जेसन Hirschhorn: एक पूर्णांक इस एक में. हम पहले शब्द के स्कोर INT लिखा है, और जा रहा है कि डेटा प्रकार है उस सरणी में बक्से में जाना. तो मैं तीन फिट कर सकते हैं. क्यों मैं शून्य ऊपर की क्या ज़रूरत है वहाँ बोर्ड पर? क्यों यह स्कोर शून्य से 1 के बराबर होती है कहता है? अपने नाम की याद दिलाने. छात्र: कर्ट. जेसन Hirschhorn: कर्ट. छात्र: हाँ. जेसन Hirschhorn: क्यों? छात्र: पहला सूचकांक है क्योंकि शून्य, हम शून्य पर गिनती शुरू. जेसन Hirschhorn: तो हम शुरू शून्य पर गिनती. यह बिल्कुल सही है. यह भ्रामक हिस्सा है और यात्रा करेंगे आप कर रहे हैं, खासकर जब आप ऊपर, सरणियों के माध्यम से पुनरावृति करने की कोशिश कर, हम कुछ देर में करूँगा जो. हम शून्य पर गिनती शुरू. तो मैं पहले उल्लेख करने के लिए करना चाहते हैं बॉक्स, यह एक बॉक्स नहीं है. दुर्भाग्य से, यह बॉक्स शून्य है. दूसरा एक बॉक्स से एक है, और इस में मामला, तीसरे एक बॉक्स दो है. क्या बॉक्स तीन के बारे में? कहां बॉक्स तीन है? या मैं स्कोर, ब्रैकेट करना चाहते हैं तीन, बंद कोष्ठक, वह क्या है? तो तुम अशक्त चरित्र कहा. किसी अन्य विचार? स्कोर ब्रैकेट तीन ब्रैकेट क्या है? छात्र: यह वास्तव में मौजूद नहीं है क्योंकि आप केवल स्कोर के रूप में परिभाषित, ब्रैकेट तीन. जेसन Hirschhorn: तो तुम कहते हो यह वास्तव में मौजूद नहीं है. कुछ मामलों में, हम साथ काम कर रहे हैं तार, आम तौर पर हम एक अशक्त डाल देता हूँ अंत में चरित्र. हम एक दूसरे में मिल जाएगा. लेकिन इस मामले में, वहाँ कोई तीसरा बॉक्स यहाँ है. इसलिए किसी सरणी में पिछले बॉक्स आकार शून्य से 1 है. इसलिए हम आकार n की एक सरणी है, अगर पहले बॉक्स शून्य पर, पिछले एक है n पर शून्य से 1. और इस मामले में, यह अस्तित्व में नहीं है. कुछ में यहाँ है लेकिन यह हमारा स्मृति नहीं है. हम यह ही नहीं है. हम इसके लिए नहीं पूछा था. इसलिए हम इसे उपयोग करने की कोशिश करते हैं, तो जो हम करेंगे एक बिट में, हम शायद करने के लिए जा रहे है मुसीबत में मिलता है. इस मामले में, मैं आरंभ कर रहा हूँ मेरी तीन चर के साथ सरणी. हम एक दो, बॉक्स शून्य में एक एक डाल रहे हैं बॉक्स एक, और बॉक्स दो में एक तीन में. किसी को भी किसी भी सवाल है एक सरणी आरंभ के बारे में? इसलिए हम अभी इस पर चला गया. स्कोर, वर्ग तीन, बंद कोष्ठक, कि अस्तित्व में नहीं है. हम कंप्यूटर विज्ञान में शून्य अनुक्रमित रहे हैं इसलिए हम शून्य पर गिनती शुरू. हमारे पास उपलब्ध पिछले बॉक्स, यह है तीसरे बॉक्स, लेकिन यह बॉक्स कहा जाता है नंबर दो. नीचे नीचे, यह एक विकल्प है सरणियों आरंभ के रास्ते. तो बजाय एक पर सरणी बनाने की रेखा, पहले बॉक्स भरने, तो दूसरे बॉक्स, फिर तीसरे बॉक्स, आप एक पंक्ति में यह सब कर सकते हैं. तो यह है कि लाइन में, दोनों सरणियों. यह एक ही सटीक सरणी के रूप में बनाता है क्या हम यहीं बनाया, लेकिन यह सिर्फ एक लाइन में यह होता है. अब हम अपने सरणी बनाया है. आप एक सरणी, जो आप बनाते हैं आमतौर पर एक बार चाहे इसके साथ कुछ करना चाहते हैं कि इसे भरने या इससे बाहर चीजें मिल रहा है और स्क्रीन पर उन्हें बाहर प्रिंट. इस मामले में, हम के माध्यम से जा रहे हैं हमारे हम पर initialized स्कोर जो सरणी, यहाँ ग्रे में पहली पंक्ति. और फिर दूसरी लाइन पर, हम शुरू सरणी के माध्यम से पुनरावृति. किसी के बारे में किसी भी सवाल है पाश के लिए एक की संरचना? तो इस पाश के लिए है. हम तो हमारी प्रारंभिक स्थिति है, और तब हमारे अंतिम शर्त, और हम ,, प्रत्येक पाश मैं पुनरावृति. और इस में घुंघराले ब्रेसिज़ में मैं चलाने के लिए गए थे पाश, क्या होता है इस कार्यक्रम? किसी को हम क्या मिलेगा मुझे बता सकते हैं? [? Matu? ?] Matu: सभी स्कोर प्रिंट प्रत्येक लाइन पर. यह प्रत्येक स्कोर प्रिंट होगा एक अलग लाइन पर. जेसन Hirschhorn: क्या वास्तव में यह प्रिंट होगा? छात्र: यह एक मुद्रित होगा, फिर दो, फिर तीन. जेसन Hirschhorn: बिल्कुल. यह तो दो तो, एक प्रिंट होगा तीन अलग लाइनों पर प्रत्येक, क्योंकि हम सरणी के माध्यम से जा रहे हैं और तुम हूँ कि दूसरा, printf देखना बयान, स्कोर मैं. इसलिए हमारे लिए के माध्यम से पहले दौर पर पाश, मैं हम कर रहे हैं, जिसका मतलब है, शून्य के बराबर होती है स्कोर शून्य पर मूल्य मिल रहा है - जो, हम वापस जाने के लिए अगर हमारे आरेख, एक है - और भरने में - ओह, यह सी कहते हैं. यही% d होना चाहिए. मैं एक बिट में तय होगा जब मैं तुम लोगों के लिए है कि बाहर हाथ. लेकिन हम एक पूर्णांक पेश कर रहे हैं यह तो यहीं% डी होना चाहिए, न% ग. के लिए% सी क्या है? छात्र: चरित्र. जेसन Hirschhorn: चरित्र, बिल्कुल. अन्य एक क्या है? आप एक के लिए% d क्या करना नहीं चाहते हैं पूर्णांक, आप और क्या कर सकते हैं? छात्र: मैं. जेसन Hirschhorn:% मैं, वास्तव में. पुनरावृति के बारे में तो कोई प्रश्न सरणी के माध्यम से? हम ऐसा करते हैं तो क्या होता है? इसके बजाय कर के मैं तुलना में कम है तीन, हम मैं कम है है अधिक या तीन के बराबर. हम इस कोड चलाते समय क्या होता है? हाँ, एनी? छात्र: वे बाहर मुद्रित करने के लिए जा रहे हैं चौथी लाइन पर अजीब चीज है. जेसन Hirschhorn: तो तुम ने कहा, यह है पर अजीब चीजें बाहर मुद्रित करने के लिए जा रहा चौथी लाइन? किसी को भी एक जवाब है उसके सवाल का? तो बाधाओं रहे हैं कि जब हम करने के लिए मिल - इसलिए हमारे लिए के माध्यम से चौथे दौर पर पाश, तुम बस सोचा था की तरह, एनी, यह स्कोर के ब्रैकेट में तीन, हो जाएगा जो हम पहले से ही पता लगा लिया करता नहीं मौजूद हैं, और हम कोशिश करने जा रहे हैं और पहुँच कि इसे प्रिंट बाहर, यह किसी तरह का उपयोग करें. तो कंप्यूटर शायद होगा हम पर गुस्सा हो. आप बिल्कुल सही कह रहे हैं. यह पूरी तरह से प्रोग्राम से बाहर आ सकते हैं. यह कुछ बाहर प्रिंट सकता है वास्तव में अजीब है. आप यकीन के साथ नहीं कह सकते हैं. बाधाओं यह शायद पर गुस्सा मिलेगा हैं तुम और सिर्फ सही दूर छोड़ दिया. लेकिन यह आप के लिए होगा एक आम गलती है आप में से एक ने बस रवाना हो रहे हैं जहां अंत में, और यह कि करेंगे एक बग है अपने कोडिंग के लिए आप के प्लेग. मुझे क्या करना एक तरह से सिर्फ एक पर है व्हाइटबोर्ड, प्रत्येक यात्रा के माध्यम से जाना देखने के लिए हाथ पर या कागज पर पाश की आप तब क्या हो रहा है, और आम तौर पर मैं नहीं करना चाहिए, ओह रुको, एहसास से भी कम या करने के लिए चले गए हैं तीन के बराबर. मैं है, जो दो में बंद कर दिया जाना चाहिए था अपनी हालत भी कम है तो क्या होता तीन से अधिक है. कोई प्रश्न अब तक? मीठा. तो आप अपने सभी कंप्यूटरों खुला है. हम तीन को आप दो देने के लिए जा रहे हैं एक प्रोग्राम लिखने के लिए मिनट है कि पूर्णांक के साथ एक सरणी बनाता है एक पांच और फिर प्रत्येक बाहर प्रिंट के माध्यम से एक नई लाइन पर पूर्णांक. और आप कोई प्रश्न हैं, अपना हाथ बढ़ा. मैं से आने के लिए खुश हूँ. जैसे मैंने कहा, चलो चलो ले तीन मिनट यह लिखने के लिए. मैं एक के लिए जाना अगर हर कोई ठीक है नई खिड़की और इस बंद? मैं माफी चाहता हूँ तुम एक मौका नहीं मिला है अगर समाप्त करने के लिए, लेकिन हम ऐसा करने जा रहे हैं एक साथ अभी. तो स्क्रीन पर, मैं # include है cs50.h, # stdio.h शामिल हैं. कोई मुझे बता सकते हैं कि क्या उन दो पंक्तियों करते हैं? माइकल? छात्र: वे पुस्तकालयों में शामिल कि CS50 बनाया और स्टीव है कि आप के लिए उपयोग करने के लिए बचाया अपने जीवन को आसान बनाते हैं. जेसन Hirschhorn: तो तुम वे कहा पुस्तकालयों, एक भी शामिल है कि CS50 कर दिया है कि, cs50.h, और एक सिर्फ मानक के साथ आता है सी पैकेज, stdio.h. आप शामिल क्या मतलब है पुस्तकालयों, हालांकि? आप थोड़ा और अधिक विशिष्ट हो सकता है? छात्र: यह बनाता है यह आप कर सकते हैं कि इतना पास करने के लिए कुछ कोड शब्दों का प्रयोग एक समारोह जाने के लिए बिना हो और अपने आप को सी समारोह बना. जेसन Hirschhorn आप कर सकते हैं मुझे एक उदाहरण दे? छात्र: जैसा printf आप उपयोग कर सकते है. जेसन Hirschhorn: printf. तो आप printf उन में से एक है कहा करने के लिए होने के बजाय जहां कार्यों अपनी खुद की, printf पर लिखने printf है stdio.h में वास्तव में शामिल है, तो आप बस इसे इस्तेमाल करते हैं और यह मान सकते हैं यह काम करेगा. Stdio.h में, आप उस फ़ाइल को खोल दिया हैं, यह भी शामिल होगा कि कैसे printf निर्माण, printf के लिए कोड के सभी? क्यों आप अपने सिर हिला रहे हैं? छात्र: क्योंकि हेडर फाइल सिर्फ समारोह घोषणा भी शामिल है. जेसन Hirschhorn: बिल्कुल सही. हेडर फाइल अभी भी शामिल है समारोह घोषणा. तो बुनियादी तौर पर, अगर आप इस संकलन करते हैं, हम एक में करूँगा जो मेक गणना, मारा दूसरा, संकलक जानता है कि अगर आप printf का उपयोग, printf मौजूद है. यह कहीं न कहीं परिभाषित किया जा रहा है. यह आप इसे इस्तेमाल करने के लिए एक समस्या नहीं है. और फिर बाद में, शामिल कर लेंगे वास्तव में होते हैं कि लोगों को और शून्य printf के कार्यान्वयन और अपने कोड के साथ विलय. कैसे आप यकीन है कि यह भी शामिल कर सकता हूँ , कहते हैं, के लिए लोगों को और शून्य स्ट्रिंग मिलता है? छात्र: जाओ स्ट्रिंग cs50.h. में है जेसन Hirschhorn: ठीक है. ताकि, स्ट्रिंग मौजूद पाने का कहना है समारोह घोषणा. लेकिन फिर लोगों को और शून्य, बाइनरी वास्तव में शामिल है कि फाइल मिल स्ट्रिंग के कार्यान्वयन? आप कैसे सुनिश्चित करें कि है अपने कार्यक्रम के साथ चला जाता है? छात्र: linker में पारित कमांड लाइन तर्क. जेसन Hirschhorn: लिंकर दर्रा कमांड लाइन तर्क में. आप यह कैसे करते हो? छात्र: यह बजना में एल रेखा है जेसन Hirschhorn: बिल्कुल सही. तुम सही, CS50-L कहते हो? यही कारण है कि लोगों को और शून्य भी शामिल है. छात्र: लेकिन पड़ता है आप के लिए है कि, है ना? जेसन Hirschhorn: बिल्कुल. अंत में आप के लिए है कि करता है, लेकिन, यदि आपको या नहीं होगा आप एक बनाने के लिए होगा अपने दम पर, इसलिए कि एक है याद करने के लिए अच्छी बात है. आप इनमें से किसी एक का उपयोग करने के लिए जा रहे थे अन्य पुस्तकालयों, तुम्हारे पास है ही नहीं लिखने के लिए # शामिल और फिर पुस्तकालय. आप भी इसे अंदर लिंक करने की आवश्यकता और उन दो बातें अलग हैं. एल CS50 अलग है # cs50.h. शामिल की तुलना तो फिर हम int मुख्य शून्य घुंघराले ब्रेसिज़ है, और अब हम कोड के लिए जा रहे हैं मुख्य अंदर. मैं यहाँ पहली पंक्ति एक टिप्पणी है कि एक सरणी बनाने, कहते हैं ints पाँच के माध्यम से एक साथ. क्या मैं वर्णन करने के लिए एक अच्छा शब्द क्या है बस, स्क्रीन पर अभी है मुख्य अंदर टिप्पणी? क्या हम कि कहते हैं? छात्र: pseudocode. जेसन Hirschhorn: pseudocode. जेफरी धन्यवाद. यह बिल्कुल सही है. Pseudocode. तुम लोग पहले pseudocode देखा है? आप का उपयोग किया है, तो अपने हाथ उठाओ समस्या से पहले pseudocode एक सेट. आप में से आधे के बारे में. मैं अत्यधिक उपयोग करना होगा समस्याओं में नीचे तोड़ने के लिए pseudocode छोटे टुकड़े काट लेना अधिक आसान. इसके अलावा, आप, आप pseudocode करते हैं अपनी टिप्पणी है पहले से ही बड़े पैमाने पर में बनाया गया है, तो आप के लिए नहीं है वापस जाने के लिए और यह पता लगाने की कोशिश आप क्या कर रहे थे. तो किसी ने मुझे इस पहली लाइन दे सकते हैं ints एक साथ एक सरणी बनाने के लिए पांच के माध्यम से? आप? छात्र: इंटरनैशनल और फिर आप फोन कर सकते हैं जो भी संख्या, और तब वर्ग ब्रैकेट पाँच. जेसन Hirschhorn: तो INT संख्या, वर्ग कोष्ठक पाँच. छात्र: बराबर होती है, और फिर घुंघराले ब्रेसिज़. जेसन Hirschhorn: बराबर होती है, घुंघराले ब्रेसिज़. छात्र: एक, दो, तीन, चार. जेसन Hirschhorn: एक, दो, तीन, चार, पांच. छात्र: और फिर घुंघराले ब्रेसिज़ और फिर अर्धविराम. जेसन Hirschhorn: और घुंघराले ब्रेसिज़ और अर्धविराम. बहुत बढ़िया. एक नई लाइन पर प्रत्येक INT बाहर प्रिंट. किसी और को दे सकते हैं मुझे लगता है कि कोड, कृपया? [? Matu? ?] आगे बढ़ो. छात्र: के लिए ( जेसन Hirschhorn: के लिए ( छात्र: int i = 0 जेसन Hirschhorn: int i = 0 छात्र: अर्द्धविराम मैं कम से कम पाँच. जेसन Hirschhorn: अर्धविराम, 5 से मैं कम. छात्र: अर्धविराम, मैं + +. जेसन Hirschhorn: अर्धविराम, मैं + +. छात्र: बंद कोष्ठक, फिर खुले गले लगा. जेसन Hirschhorn: बंद कोष्ठकों और दो ब्रेसिज़. ब्रेसिज़ अंदर? छात्र: और फिर printf "% डी / एन" जेसन Hirschhorn: माफ करना, रुको. Printf "% डी / एन, भाव पर बंद हुआ. छात्र: और फिर बंद भाव, अल्पविराम, गिनती, ब्रैकेट मैं. जेसन Hirschhorn: अल्पविराम, , वर्ग मैं गिनती. छात्र: माफ करना, संख्या मैं ब्रैकेट. जेसन Hirschhorn: नंबर, ब्रैकेट मैं. छात्र: क्षमा करें. और फिर, कोष्ठकों बंद अर्धविराम. जेसन Hirschhorn: बंद कोष्ठक, अर्धविराम. मुझे लगता है कि बचाने के लिए जा रहा हूँ. हम गिनती बनाने जा रहे हैं. और कैसे मैं गिनती चलती हैं? छात्र: बैकस्लैश. छात्र: डॉट आगे स्लैश - जेसन Hirschhorn:. / वास्तव में, गिनती. धन्यवाद. . / गिनती. एक, दो, तीन, चार, नई लाइनों पर पाँच. यह काम की तरह लग रहा है. हाँ, नूह? छात्र: तुम भी कम से कम या कर सकता है चार के बराबर है, जैसे मैं की तुलना में कम है या चार के बराबर? कम कर के लिए किसी भी लाभ है पांच, या बस एक अलग तरह की तुलना यह लिख? जेसन Hirschhorn: तो सवाल आप है कर सकता था मैं कम से कम या है चार के बजाय के बराबर मैं पांच से भी कम है. कि एक ही काम किया होता? छात्र: यह होना चाहिए. जेसन Hirschhorn: हाँ. यह पूरी तरह से काम एक ही होता है. Stylistically, यह, की तुलना में आम तौर पर कम है और आप एक दूसरे में देखेंगे जब हम तार, आप कुछ का उपयोग कर सकते है तुम्हें देखा है, जो कहा जाता strlen, इससे पहले, लंबाई पाने के लिए स्ट्रिंग की. और आप से भी कम नहीं कर सकते या बराबर strlen. आप कम से कम या कर सकता है बराबर strlen शून्य से एक. तो यह करने के लिए सिर्फ अच्छा है strlen से भी कम करते हैं. हाँ? छात्र: और वास्तविक परीक्षाएँ में, कर हम पर टिप्पणी प्रदान करने के लिए हमारे साथ ही कोड? जेसन Hirschhorn: सवाल आप परीक्षाएँ में है था टिप्पणी प्रदान करने के लिए है? इसलिए हम परीक्षाएँ के बारे में अधिक बात करेंगे जब वे आते हैं, लेकिन आम तौर पर, एक अच्छा आप कर रहे हैं जब भी अंगूठे का नियम है कोड लिखने, टिप्पणी दें. आप कोड गलत हो, लेकिन अगर सही टिप्पणी, आप कुछ मिल सकता है मुझ से दोनों क्रेडिट मैं ग्रेडिंग किया गया था अगर आप सेट एक समस्या पर या एक प्रश्नोत्तरी पर. इसलिए टिप्पणियां हमेशा से रहे हैं प्रदान करने के लिए अच्छा है. मीठा. गणना. बहुत बढ़िया काम है. चलो पर चलते हैं. स्ट्रिंग्स. स्ट्रिंग्स. हम व्याख्यान में पहले यह देखा है. यह मेरे मन विस्फोट से उड़ा दिया जब मैं पहले यह पता चला. यह शायद किसी का झटका नहीं था यहाँ मन, लेकिन यह ठीक है. स्ट्रिंग्स वर्णों की सरणियों हैं, और आप ने कहा कि पहले वे, के साथ खत्म होता है, अशक्त टर्मिनेटर, जो इस / 0 चरित्र है. हम पर एक स्ट्रिंग आकर्षित करने के लिए जा रहे हैं बोर्ड, हम यहां इस पर आकर्षित करेंगे. तो इस स्ट्रिंग कितनी देर है? माफ़ कीजिए. इस स्ट्रिंग कब तक है? छात्र: [सुनाई]. जेसन Hirschhorn: चार? क्यों यह चार है? छात्र: क्योंकि पांचवें स्थान अशक्त चरित्र के लिए है. जेसन Hirschhorn: तो पांचवां स्थान अशक्त चरित्र के लिए है. मैं strlen पर चलाने के लिए गए थे तो अगर यही नहीं, यह मुझे चार देना होगा. सही. और सरणी, हालांकि, अगर मैं थे करने के लिए इस सरणी को प्रारंभ, कितने रिक्त स्थान मैं के लिए पूछना होगा? छात्र: पांच. जेसन Hirschhorn: पांच. मैं पाँच के लिए पूछना होगा, लेकिन मैं कर सकता हूँ केवल यहां चार अक्षर डाला मुझे लगता है कि अशक्त खड़ा करने की जरूरत है क्योंकि अंत पर टर्मिनेटर. तो हम "ohai" में लिखने के लिए जा रहे हैं अंत में में अशक्त टर्मिनेटर डाल दिया. हम इस स्ट्रिंग है कहूँगा इस के बराबर होती है. एस ब्रैकेट शून्य क्या है? एस ब्रैकेट शून्य, एनी? छात्र: ओ जेसन Hirschhorn: हे, बिल्कुल. एस ब्रैकेट एक? एस ब्रैकेट पाँच? एस ब्रैकेट पाँच? छात्र: मौजूद नहीं है. जेसन Hirschhorn: मौजूद नहीं है. बिल्कुल सही. कूल. समझ के बारे में कोई सवाल वर्णों की सरणियों के रूप में तार? ठीक है, तो. आप लोगों के लिए एक और कार्यक्रम. उपयोगकर्ता पूछता है कि एक कार्यक्रम लिखें एक स्ट्रिंग तो प्रत्येक बाहर प्रिंट के लिए एक नई लाइन पर चरित्र. तो चलो लिखने के लिए तीन मिनट लग जाने इस कार्यक्रम, और फिर हम इसे कोड करेंगे एक समूह के रूप में. माफ़ कीजिए. आपको यह देखने के लिए की जरूरत है? छात्र: नहीं. जेसन Hirschhorn: ठीक है. के इस कोड के लिए एक मिनट ले लो, या कम से कम उस पर शुरू हो जाओ. तो अगर आप काम कर रख सकते हैं, लेकिन मैं जा रहा हूँ यह माध्यम से जा रहा शुरू करने के लिए. तो पहले की तरह, मैं स्क्रीन पर है # # Stdio.h में शामिल हैं, cs50.h शामिल हैं. मुख्य शून्य int. मुख्य के घुंघराले ब्रेसिज़ अंदर, मेरे पास है दो टिप्पणियां, pseudocode. एक उपयोगकर्ता से एक स्ट्रिंग के लिए पूछना है. दूसरा प्रिंट आउट प्रत्येक है एक नई लाइन पर चरित्र. इसलिए अन्ना, आप मुझसे पूछें दे सकते हैं उपयोगकर्ता से एक स्ट्रिंग के लिए? छात्र: printf. जेसन Hirschhorn: printf? छात्र: हाँ. ( जेसन Hirschhorn: ( छात्र: "मुझे एक स्ट्रिंग दे. जेसन Hirschhorn: "दे मुझे एक str - ओह - स्ट्रिंग. छात्र: / एन ") अर्धविराम. जेसन Hirschhorn: स्ट्रिंग अंत, बंद कोष्ठक, अर्धविराम. छात्र: हाँ. और फिर अगली पंक्ति, स्ट्रिंग एस = Get स्ट्रिंग. जेसन Hirschhorn: स्ट्रिंग एस = Get स्ट्रिंग. छात्र: हाँ. और तब () जेसन Hirschhorn: () छात्र: अर्द्धविराम. जेसन Hirschhorn: अर्द्धविराम. बढ़िया. तो मैं एक स्ट्रिंग प्राप्त करने के लिए जा रहा हूँ मैं क्या में इसे बचाने के लिए जा रहा हूँ? कहा जाता चर क्या है आपके द्वारा बनाए गए? छात्र: स्ट्रिंग है. जेसन Hirschhorn: चर एस कहा जाता है. यह प्रकार स्ट्रिंग है. बिल्कुल सही. हम चाहते हैं कि अगले बात प्रिंट बाहर है एक नई लाइन पर प्रत्येक चरित्र. कौन मुझे लगता है कि कोड दे सकता है? [सुनाई]? आप मुझे दे सकते हैं? छात्र: ज़रूर. जेसन Hirschhorn: चलो करते हैं. और क्षमा करें. मैं आप क्या कहते हैं दोहराने के लिए पसंद नहीं है आप यह सही हो रही है, लेकिन कर रहे हैं क्योंकि मैं यह दोहराने की जरूरत है, ताकि जब वे इस टाइप, वे के सभी प्राप्त कर सकते हैं transcriptions पर पाठ बाहर. तो आप सिर्फ बात रख सकते हैं. दुर्भाग्य से, मेरे पास है तुम पर यह कहने के लिए. मैं माफी चाहता हूँ, लेकिन - छात्र: वह ठीक है. के लिए int मैं = 0 जेसन Hirschhorn: के लिए int मैं = 0 छात्र: मैं कम से कम - जेसन Hirschhorn: अर्द्धविराम. छात्र: इस से पहले, हम एक डाल सकते हैं चर आप int नाम लंबाई मिलता तो? जेसन Hirschhorn: ओह, तुम नहीं करते अर्धविराम रखना चाहते हैं? ठीक है. तो क्या आप शून्य के बाद क्या करना चाहते हैं? छात्र: मैं प्राप्त करना चाहते हैं स्ट्रिंग की लंबाई और एक चर कि सेट? जेसन Hirschhorn: ठीक है, इसलिए मुझे लगता है कि कैसे करते हो? छात्र: तो आप int लंबाई करना = जेसन Hirschhorn: इंटरनैशनल लंबाई = छात्र: एस टी आर एल ई एन. जेसन Hirschhorn: एस टी आर एल ई एन - छात्र: एस के. कोष्ठक. जेसन Hirschhorn: (एस). छात्र: और फिर मैं तुम्हें करने के लिए है दो ints के बीच एक अर्धविराम डाल दिया. जेसन Hirschhorn: अर्धविराम शून्य के बाद? छात्र: हाँ. फिर उसके बाद एक अर्धविराम डाल दिया, और आप लंबाई की तुलना में मैं कम, का कहना है. मैं लंबाई की तुलना में कम है, जो चर रहा है. छात्र: और फिर अर्धविराम. जेसन Hirschhorn: अर्द्धविराम. छात्र: मैं + +. जेसन Hirschhorn: मैं + +. हमारे पाश के लिए है. ठीक है, पाश के लिए अंदर. छात्र: और फिर printf करना. जेसन Hirschhorn: printf. छात्र: कोष्ठक. जेसन Hirschhorn: कोष्ठक, उद्धरण. छात्र: कोष्ठक, उद्धरण,% सी / एन. जेसन Hirschhorn:% ग, ठीक है. छात्र: / एन. जेसन Hirschhorn: / एन. छात्र: बंद उद्धरण. जेसन Hirschhorn: कोट्स बंद रहता है. छात्र: कॉमा. जेसन Hirschhorn: कॉमा. छात्र: एस जेसन Hirschhorn: एस छात्र: ब्रैकेट मैं. जेसन Hirschhorn: ब्रैकेट मैं. छात्र: तब और कोष्ठक बंद हुआ. जेसन Hirschhorn: कोष्ठकों बंद रहता है. छात्र: और फिर अर्धविराम. जेसन Hirschhorn: अर्द्धविराम. बढ़िया. तो चलो इस सहेजने दें. जादू बनाओ. ओह लड़के. मैं त्रुटियों की एक जोड़ी मिल गया है. 11 लाइन पर पहली त्रुटि, यह कहते हैं, अभिव्यक्ति की उम्मीद है, और यह दे रही है मुझे एक त्रुटि है कि दूसरा INT, त्रुटि है. वहाँ के आसपास वहाँ कुछ त्रुटि. वह यह है कि क्या त्रुटि किसी को पता है? कर्ट? छात्र: मैं यह माना जाता रहा है एक अल्पविराम और नहीं एक अर्धविराम हो. जेसन Hirschhorn: ठीक है, एक अल्पविराम बजाय एक अर्धविराम की. इतना सब हम ठीक करने की जरूरत है? छात्र: नहीं. जेसन Hirschhorn: और क्या हम ठीक करने की जरूरत है? छात्र: हम string.h शामिल करने के लिए है. जेसन Hirschhorn: string.h शामिल करें. मैं कहां कि शामिल करने की क्या ज़रूरत है? छात्र: आप भी शामिल हो ही जगह अन्य सामान, सही बाद stdio.h शामिल हैं. जेसन Hirschhorn: इस चलाता चलो देखते हैं अगर पहले आम तौर पर, मुझे पसंद है क्योंकि सबसे पहले एक बात तय है, और फिर चलाने के लिए यह, और फिर हम मिल त्रुटियों को देखने. तो हम टर्मिनल खाली करने के लिए जा रहे हैं नियंत्रण n के साथ, का जादू करते हैं. इसलिए 11 लाइन पर एक और त्रुटि. उम्मीद अर्धविराम. और मैं अभी भी हो रही है इस लाइन पर त्रुटियों. तो यह मुझे यह कह त्रुटि नहीं दिया है strlen क्या है समझ में नहीं है, लेकिन यह इस पर मेरी त्रुटियों दे रहा है रेखा, तो और क्या गलत है? मार्क? मार्कस. छात्र: आप को दूर करने के लिए है दूसरी INT घोषणा? जेसन Hirschhorn: निकालें दूसरी Int. चलो यह कोशिश करते हैं. अब टर्मिनल साफ़ करें. जादू बनाओ. त्रुटि. उलझाव की घोषणा पुस्तकालय समारोह strlen. तो अब हम उस त्रुटि देखते हैं. क्या हम शामिल करने की क्या ज़रूरत है? छात्र: string.h. जेसन Hirschhorn: string.h शामिल करें, हम # शीर्ष पर string.h शामिल करूँगा स्क्रीन की. जादू करना, बचा लो. अब संकलित. तो फिर, बातें हम करने के लिए आवश्यक पाश के लिए हमारे में 12 लाइन याद है जब हम, मैं = 0 int, यह स्थापित कर रहे हैं लंबाई = strlen (ओं). यह एक शानदार रणनीति है. इस की शैली महान है, इस के डिजाइन महान है. हम बाद में उन कारणों में जा सकते हैं लेकिन इस तरह आप केवल फोन करने की जरूरत strlen एक बार के बजाय हर एक आप पाश के माध्यम से चलाने के समय. हालांकि, अगर आप वहां एक अल्पविराम का उपयोग करने की आवश्यकता है और आप फिर से INT की जरूरत नहीं है. आप उन दोनों की घोषणा कर रहे हैं एक साथ चर, आप फिर INT की जरूरत नहीं है. और फिर तुम, strlen उपयोग करने के लिए जा रहे हैं एक और पुस्तकालय है जो समारोह में शामिल नहीं stdio.h या cs50.h, बनाना सुनिश्चित करें कि आप string.h शामिल हैं. कर्ट? छात्र: तो फिर तुम करने की जरूरत नहीं है करता है कि आप किस प्रकार की लंबाई है, कहना यह एक पूर्णांक हो गया है मतलब है? आप दो अलग अलग नहीं हो सकता था वहाँ प्रकार? जेसन Hirschhorn: तो तुम सकता है दो अलग अलग प्रकार के हैं. लंबाई हालांकि, यहां एक पूर्णांक है. यह अल्पविराम है क्योंकि लंबाई एक पूर्णांक है और फिर वही बात. छात्र: तो यह जा रहा है कि मानता है पहले एक के रूप में ही हो सकता है? जेसन Hirschhorn: बिल्कुल. हम आप अब ऐसा करने के लिए जा रहे हैं, लेकिन नहीं कर रहे हैं पर दो चर शामिल कर सकते हैं एक डेटा प्रकार का उपयोग कर एक ही पंक्ति. तो INT एक्स, वाई पैदा होगा दो चर. तो INT एक्स, वाई, हम यह देता है, कि अगर मुझे एक अप्रयुक्त चर एक्स और वाई क्योंकि हम उन्हें प्रयोग नहीं करते. तो इससे पहले शून्य डाल सिर्फ एक है फैंसी चाल है कि आप प्रयोग नहीं करते इसका इस्तेमाल करने के लिए कुछ है,. जैसा कि आप देख लेकिन, मैं एक्स और वाई बना एक अल्पविराम के साथ एक ही लाइन पर. यह दो पूर्णांकों पैदा कर रहा है वहीं पर. बनाने के लिए तो हाँ, पूरी तरह से संभव एक ही लाइन पर दो बातें एक अल्पविराम से अलग कर दिया. हालांकि, के उन लोगों से छुटकारा मिलता है. तो जादू नहीं है. आप हमारे लिए यह कोडिंग के लिए लोगों को धन्यवाद. की, यह एक बार और बनाने इसे चलाते हैं. मुझे एक स्ट्रिंग दे. [सुनाई], आप इसके बारे में सबसे किया. स्ट्रिंग क्या है? छात्र: हैलो. जेसन Hirschhorn: हैलो. एच ई एल एल ओ, एक लाइन पर प्रत्येक चरित्र. अच्छा लग रहा है. फिर इसे चलाते हैं. हमेशा की जांच करने के लिए जा रहा कोने मामलों के लिए. जाँच करने के लिए एक अच्छा कोने मामला क्या है? छात्र: एक नंबर? जेसन Hirschhorn: एक नंबर. तो मैं 1 में डाल देता हूँ, और यह 1 बाहर प्रिंट. यह पत्र के लिए पूछ रही है, ऐसा नहीं है नंबर काम की तरह लगता है. जाँच करने के लिए अच्छा कोने मामला. एक और अच्छा कोने क्या है मामले की जांच करने के लिए? छात्र: एक खाली स्ट्रिंग. जेसन Hirschhorn: हम्म? छात्र: एक खाली स्ट्रिंग की तरह. जेसन Hirschhorn: खाली स्ट्रिंग. तो चलो कुछ में नहीं डाल देना. और क्या बाहर मुद्रित हो जाता है? छात्र: कुछ भी नहीं है. जेसन Hirschhorn: कुछ भी नहीं. यह काम करता है की तरह लगता है. आप अधिक कोने मामलों की कोशिश, लेकिन हो सकता है आम तौर पर संख्या, एक अलग डेटा है साथ ही, कोशिश करने के लिए महान कुछ भी नहीं है. कुछ नहीं, शून्य, नकारात्मक हमेशा से रहे हैं आप कोशिश करते हैं और बातें करने के लिए बड़े बड़े काम परीक्षण करना चाहिए, बातें निश्चित रूप से हम परीक्षण करेंगे के लिए और 50 की जाँच के लिए परीक्षण करेंगे. Spell.c के बारे में कोई सवाल? ठीक है, चलो वापस सिर. मैं एक और कार्यक्रम है तुम लोगों को लिखने के लिए. यह students.c कहा जाता है. इस के लिए उपयोगकर्ता पूछता है कि एक कार्यक्रम है पांच नाम, तो बेतरतीब ढंग से चुनता है और नामों में से एक बाहर प्रिंट. इस कार्यक्रम में थोड़ा और अधिक है पिछले दो से शामिल हम लिखा था, तो क्यों न हम पांच मिनट नहीं लेते व्यक्तिगत रूप से यह कोड, और फिर हम हूँ एक समूह के रूप में यह कोड. इस कार्यक्रम में भी कुछ बातें शामिल तुम से पहले देखा है, इसलिए नहीं हो सकता है अगर आप कैसे करते हैं के बारे में एक सवाल है मुझे लगता है कि क्या करना है, अपना हाथ बढ़ा. मैं पर आते हैं और आप बात करेंगे सही दिशा में. लेकिन हम भी यह कर रहे हैं इस वजह कुछ को पेश करने के लिए एक अच्छा तरीका होगा मुश्किल कर रहे हैं कि विषयों. तो यह ठीक है, काम करता है? छात्र: हाँ. जेसन Hirschhorn: आप एक में बारी जब भी समस्या सेट, करने के लिए कई तरीके है यह है, लेकिन कुछ अधिक कर रहे हैं दूसरों की तुलना में सुरुचिपूर्ण. हमें अंदर गोता दो. # Cs50.h. शामिल # Stdio.h शामिल हैं. int मुख्य शून्य, घुंघराले ब्रेसिज़. घुंघराले ब्रेसिज़ के अंदर, मैं दो टिप्पणी है. पहले एक पूछना है, पांच नामों के लिए उपयोगकर्ता. दूसरा एक बेतरतीब ढंग से चयन है, और नामों में से एक बाहर प्रिंट. तो पूछते हैं, के लिए सबसे पहले एक करते हैं पांच नामों के लिए उपयोगकर्ता. जो पांच नाम के लिए उपयोगकर्ता को कहा है और कैसे करना है कि मुझे बता सकते हैं? केवल दो लोगों को पहला भाग था. तीन लोगों को पहला भाग था. चार, पांच. टॉम, आप इसे कैसे करते हैं? छात्र: आप एक स्ट्रिंग घोषित होगा और फिर, वर्ग पांच नाम. जेसन Hirschhorn: स्ट्रिंग ब्रैकेट पांच नाम. इसलिए इस लाइन क्या कर रही है, स्ट्रिंग नाम ब्रैकेट पाँच? छात्र: आप की घोषणा करेंगे तारों की एक सरणी. जेसन Hirschhorn: यह है तारों की एक सरणी. कितने तार जा रहे हैं यहाँ में फिट करने के लिए? छात्र: पांच. जेसन Hirschhorn: पांच. बहुत बढ़िया. हम नाम क्योंकि यह कॉल करने के लिए जा रहे हैं हम कई लोगों को ले जा रहे हैं. ठीक है, आगे क्या? छात्र: और फिर तुम पाश के लिए एक है - जेसन Hirschhorn: पाश के लिए. छात्र: - मैं = 0 के लिए. जेसन Hirschhorn: for (int i = 0. छात्र: अर्द्धविराम. जेसन Hirschhorn: अर्द्धविराम. छात्र: मैं पांच से भी कम. जेसन Hirschhorn: मैं पांच से भी कम. छात्र: अर्द्धविराम. जेसन Hirschhorn: अर्द्धविराम. छात्र: मैं + +. जेसन Hirschhorn: मैं + +. छात्र: तब और कोष्ठक बंद हुआ. जेसन Hirschhorn: बंद कोष्ठक, और फिर कुछ घुंघराले ब्रेसिज़. घुंघराले ब्रेसिज़ अंदर? छात्र: और फिर printf. जेसन Hirschhorn: printf. छात्र: ओपन कोष्ठकों, नाम% d. जेसन Hirschhorn: क्षमा करें? छात्र: नाम. जेसन Hirschhorn: नाम. फिर और फिर अंतरिक्ष, और% d: छात्र. जेसन Hirschhorn: नाम, स्थान,% d. छात्र: तब और फिर / n, और बंद कर दिया. जेसन Hirschhorn: तो नाम, स्थान, % डी / एन, कोष्ठक बंद हुआ. छात्र: अल्पविराम, मैं 1 +. मैं माफी चाहता हूँ. बंद रहता है भाव, और उसके बाद अल्पविराम, मैं एक. जेसन Hirschhorn: बंद बोली, अल्पविराम, मैं एक. छात्र: हाँ. और फिर अगली पंक्ति - जेसन Hirschhorn: मैं 1 +. छात्र: हाँ. और फिर अगली स्लाइड नामों मैं ब्रैकेट. जेसन Hirschhorn: अगली पंक्ति नामों मैं ब्रैकेट. छात्र: = स्ट्रिंग मिलता है. जेसन Hirschhorn: = मिलता है - राजधानी जी ई टी - स्ट्रिंग. ओह, माफ करना. छात्र: ओपन, कोष्ठक बंद और तब - जेसन Hirschhorn: ओपन, कोष्ठक बंद हुआ. छात्र: अर्द्धविराम. जेसन Hirschhorn: अर्द्धविराम. ठीक है, तो आप की सरणी को प्रारंभ फिर तार, नाम, और एक के माध्यम से जाना पाश, और पांच बार के लिए कुछ बाहर प्रिंट उपयोगकर्ता के लिए संकेत है और फिर स्टोर पांच तार. किसी को भी किसी भी है इस के लिए समायोजन? टॉम, मुझे लगता है कि हर कोई आप के साथ सहमत हैं. बहुत अच्छा लग रहा है. ठीक है. आपको मैं एक यद्यपि, क्यों किया? छात्र: मेरा मतलब है, नहीं है हो सकता है, लेकिन मैं यह इतना है कि एक को पांच नाम करने के लिए एक नाम है. अन्यथा, यह नाम होगा चार नाम करने के लिए शून्य. जेसन Hirschhorn: तो तुम मुझे एक किया अन्यथा यह होता है क्योंकि चार के माध्यम से शून्य बाहर मुद्रित क्योंकि कंप्यूटर कि कैसे लगता है, लेकिन मनुष्य वास्तव में उस तरह पढ़ा नहीं है. दूसरी बात है कि आप का सामना करेंगे. आप कुछ बाहर प्रिंट कभी कभी जब उपयोगकर्ता के लिए, आप इसे एक बनाना चाहता हूँ छोटा सा सुंदर, और कर मैं इस मामले में एक एक है यह सुंदर बनाने के लिए रास्ता. मैं भी दो बार स्ट्रिंग नाम पांच देखना पांच, मैं पांच से भी कम है. आप पाँच मिला, जहां मैं जानता हूँ. आप मुझे बता रहा से मिला आप पांच नाम. लेकिन हम कोड एक बनाना चाहते थे थोड़ा और अधिक मजबूत, एक बात हम कर सकता है, int के बाहर, यहाँ बाहर है हम इस तरह से कुछ कर सकता है, # परिभाषित है, और हम नाम 5 कर सकता है. तो बुनियादी तौर पर, जहाँ भी मैं राजधानी लिखना एन, राजधानी, राजधानी एम, राजधानी ई, राजधानी एस, कि स्ट्रिंग, इसे बदलना होगा उस कोड में 5 के साथ. या बस यह कहते हैं - हम करेंगे बस संख्या कहते हैं. इसलिए मैं सभी टोपियां परिभाषित कर रहा हूँ संख्या 5 हो. तो अब मैं मैं, संख्या 5 है जहाँ भी सभी टोपियां संख्या के साथ यह जगह ले सकता है. और अब, मैं नंबर बदलना चाहते हैं नामों का, मैं सब करने की ज़रूरत है मैं कहाँ है इस एक लाइन, लाइन चार, #, संख्या 5 परिभाषित 10 कि बदलने, या 4 के लिए है कि बदलते हैं. अपने कोड अब हो जाता है, तुम नहीं कर रहे हैं सभी स्थानों को याद करने के लिए जा रहे आप तुम चाहते थे कितने नाम रखा, और में आप एक याद करने के लिए नहीं करने के लिए आदेश, यह है कुछ खोजने के लिए, यह करने के लिए एक अच्छा तरीका ऊपर ऊपर और फिर बस उस वाक्यांश का उपयोग हर जगह अपने कोड भर में. मार्कस? छात्र: stylistically वरीय कि है विश्व स्तर पर एक निर्णायक से लगातार एन? जेसन Hirschhorn: तो यह है कि stylistically विश्व स्तर की तुलना में पसंद किया एक निरंतर n परिभाषित? तो तुम तुम सकता कह रहे हैं करना, = 5 INT संख्या? छात्र: वे व्यंजन है सी में है या नहीं? जेसन Hirschhorn: या const - बराबर में. तो अगर आप अभी कह रहे हैं एक वैश्विक चर? छात्र: हाँ. जेसन Hirschhorn: तो stylistically, एक सही कोई जरूरी नहीं है जवाब है, लेकिन उन दोनों के बेहतर कर रहे हैं बस इन बेतरतीब फेंकने से अपने कोड भर में संख्या. हम जादुई संख्या को बुलाओ. मैं अपने कोड को देखने या जब जब किसी को भी इसके माध्यम से पढ़ रहा है, वे बस इन यादृच्छिक संख्या नहीं करना चाहती कि कोई मतलब नहीं है. आम तौर पर जो भी नंबर 26, वर्णमाला में अक्षरों की संख्या, यह ऊपर ऊपर वर्णमाला को परिभाषित करने के लिए बेहतर है और कि स्ट्रिंग में संख्या 26 बचाने के लिए, कि समझ में आता है. या समस्या पर एक, के बजाय सेट - फिर, हम इस बारे में बात नहीं की समय, लेकिन बजाय सिर्फ फेंकने की एक हर जगह 25 या 10, आप यह कर सकते में नंबर तिमाही के रूप में 25 या 10 के रूप में सहेज पैसा, और कहा कि यह आसान के लिए बनाता है जो कोई भी अपने कोड के माध्यम से पढ़ रहा है आप उस नंबर क्यों चुना समझते हैं. और भी आप के लिए, यदि आप कभी भी करना चाहते हैं अपने कोड को अद्यतन, यह एक सा बना देता है और अधिक मजबूत. हाँ? छात्र: इस कोड को भी जा रहा है बाद हमारे लिए उपलब्ध हो सकता है? जेसन Hirschhorn: इन कोड के सभी हम एक साथ कर रहे हैं लिखा है कि आपको ईमेल हो जा लड़के और उपलब्ध. हां. तो पांच नामों के लिए उपयोगकर्ता पूछना. बेतरतीब ढंग से चुनें और प्रिंट नामों में से एक. कौन इस लाइन किया था? यह यहां trickiest लाइन है. क्षमा करें, टॉम. आप एक बहुत अच्छा काम किया है, लेकिन यह थोड़ा पेचीदा मामला है. मार्कस, आगे बढ़ो. छात्र: ठीक है, पहले आप करने जा रहे हैं stdlib.h और time.h. शामिल करने की आवश्यकता जेसन Hirschhorn: तो आप पर क्या कह रहे हैं शीर्ष दो और पुस्तकालयों में शामिल हैं. आप मुझे एस टी डी एल आई बी में शामिल करना चाहते हैं डॉट एच, मानक पुस्तकालय, और क्या अन्य एक था? छात्र: Time.h. जेसन Hirschhorn: # time.h. शामिल तो इन दो और पुस्तकालयों रहे हैं. मैं हम प्रयोग करने जा रहे हैं अब मान इन में शामिल हैं जो कार्यों आप की जरूरत क्यों है जो दो, उन्हें शामिल करने के लिए? छात्र: तो फिर, पहले आप कर रहे हैं srand लिखने के लिए चाहते हो जा. जेसन Hirschhorn: srand. छात्र: (समय (0) जेसन Hirschhorn: क्षमा करें. Srand (समय ( छात्र: 0. जेसन Hirschhorn: 0. छात्र:)), अर्धविराम. जेसन Hirschhorn: एक और बंद paren? अर्धविराम. मैं बस बदलने के लिए जा रहा हूँ अपने बातिल के साथ शून्य. यह एक ही बात के बारे में है, लेकिन हूँ आम तौर पर, आप, नल देखेंगे जो हम इस बारे में बात करेंगे एक दूसरे में लाइन. छात्र: Stylistically बेहतर? जेसन Hirschhorn: आम तौर पर, लोगों खबरें सही हैं, लेकिन एक ही बात. छात्र: और फिर INT नाम. जेसन Hirschhorn: इंटरनैशनल नाम. छात्र: = जेसन Hirschhorn: = छात्र: रेंड. जेसन Hirschhorn: रैंड. छात्र: () जेसन Hirschhorn: () छात्र: Modulo संख्या. जेसन Hirschhorn: सापेक्ष क्या है? चरित्र? प्रतिशत चरित्र? छात्र: प्रतिशत चरित्र. आप शीर्ष तक परिभाषित है कि सापेक्ष संख्या. जेसन Hirschhorn: Modulo संख्या. छात्र: और फिर अर्धविराम. जेसन Hirschhorn: अर्द्धविराम. छात्र: और फिर नई लाइन, printf. जेसन Hirschhorn: printf. छात्र: ( जेसन Hirschhorn: ( छात्र: " जेसन Hirschhorn: " छात्र:% s / n जेसन Hirschhorn:% s / n छात्र: " जेसन Hirschhorn:% s / n " छात्र: अल्पविराम, अंतरिक्ष के नाम. जेसन Hirschhorn: अंतरिक्ष - छात्र: ओह, मुझे लगता है, क्या हम यहां यह फोन किया था? जेसन Hirschhorn: हम यह नाम बुलाया. छात्र: ओपन वर्ग, नाम. जेसन Hirschhorn: ओपन वर्ग, नाम. छात्र: बंद रहता है ब्रैकेट. जेसन Hirschhorn: ब्रैकेट बंद रहता है. छात्र:) जेसन Hirschhorn:) छात्र: अर्द्धविराम. जेसन Hirschhorn: अर्द्धविराम. ठीक है, चलो सहेजने दें. चलो इस कोड बनाते हैं. छात्र. चलो इस कोड चलाते हैं. छात्र. नहीं. / छात्र. . / छात्रों. एक नाम. हम दाऊद कहता हूँ. दो, आरजे नाम. तीन, रोब नाम. चार, लुकास नाम. यूसुफ पांच नाम. और फिर इसे फिर यूसुफ बाहर प्रिंट. तो मुझे फिर से इस चलाते हैं. मुझे एक ही नाम करते हैं. दाऊद, आरजे, रोब, लुकास, यूसुफ. और यह डेविड मुझे इस समय दे दिया. तो मैं एक ही बात थी, लेकिन यह दिया मुझे एक अलग बात है, और वह है, बेशक, हम पूछ रहे हैं, क्योंकि एक यादृच्छिक नाम के लिए. इसलिए मैं भटक, मुझसे दूर स्थित थिंक कमरे में चारों ओर, कि ज्यादातर लोगों को शायद, पहले भाग में सही मिला उस सरणी की स्थापना और उसके बाद हो रही है सभी के नाम. मैं लाइनों 10 16 के माध्यम से के बारे में बात कर रहा हूँ. लेकिन लाइनों 21 के माध्यम से 18 शायद रहे हैं आप पहले नहीं देखा है कुछ चीजें हैं, तो चलो उन के माध्यम से चलते हैं. इस लाइन, srand समय खबरें अनिवार्य रूप से है - क्षमा करें, के नीचे छोड़ एक लाइन, रैंड (). यही कारण है कि आप एक यादृच्छिक संख्या देता है, एक यादृच्छिक पूर्णांक. और तुम आदमी रैंड, मारा जो आप में से एक बहुत कुछ किया है - एम ए एन अंतरिक्ष आर ए एन डी - इस तरह टर्मिनल में, एम ए एन अंतरिक्ष आर ए एन डी, हिट दर्ज करें. आप का मार्गदर्शन करने के लिए आते हैं और चाहते हैं पढ़ने में सक्षम हो जाएगा कि रैंड आदेश outputs छद्म यादृच्छिक बाइट्स संख्या यादृच्छिक संख्या बोने के बाद एक बार जनरेटर. तो यह है कि एक विवरण दिया गया है. यही रैंड, देता है क्या है आप एक यादृच्छिक संख्या जब आप उस समारोह कॉल. दुर्भाग्य से, यह वास्तव में यादृच्छिक नहीं है क्योंकि तुम सिर्फ यादृच्छिक फोन यह कुछ बीज, कुछ हो रही बिना बात शुरू, यह हमेशा का चयन करेंगे वही एक है और यह एक सूत्र का उपयोग करता है अगले एक निर्धारित करने के लिए. आप रैंड कॉल करते हैं तो, यह सिर्फ हूँ आप एक ही बात दे. यह बहुत उम्मीद के मुताबिक होगा. यह वास्तव में यादृच्छिक नहीं होगा. तो क्या हम मार्कस के प्रति, क्या करने की जरूरत मेरे लिए निर्देश, बीज रैंड थे कुछ और के साथ, जो है क्या srand कार्य करता है. थोड़ा और अधिक कुछ के साथ बीज रैंड एक ही बात से यादृच्छिक, और वह समय नल, साथ इसे बोने है जो बस कन्वेंशन द्वारा, वर्तमान, है सेकंड में समय. तो आप सब लोग नहीं है कि मान रहे हैं सटीक पर कोड चलाने के लिए जा वही दूसरी है, तो यह एक सुरक्षित शर्त है कि समय नल अलग होने जा रहा है हर बार इस कोड चलाया जाता है. इस प्रकार, srand रैंड बीज होगा कि सुरक्षित शर्त कुछ अलग करने के साथ हर एक समय. जब हम करते हैं तो कन्वेंशन द्वारा, चाहते हैं एक यादृच्छिक संख्या, हम इस पंक्ति लिखने srand समय नल, हमें एक बहुत देने के लिए तो अधिक यादृच्छिक बीज, और हम चला हमें एक यादृच्छिक संख्या देता है जो रैंड,. हाँ? छात्र: आप कह सकते हैं आप बीज से क्या मतलब? जेसन Hirschhorn: के रूप में बीज - इसलिए रैंड कुछ नंबर लेने के लिए जा रहा है और यह कुछ का उपयोग करने के लिए जा रहा है वहाँ पाने के लिए सूत्र. तो यह कुछ के साथ शुरू करने जा रहा है और तब आधारित कुछ में बारी उस सूत्र के बंद. आप हमेशा यह एक ही बात दे, यह हमेशा में बदल जा रहा है एक ही बात. तो यह है कि पहली बात यह है कि आप यह बीज है दे. तो आप इसे कुछ देना चाहता हूँ तो साथ बाहर शुरू करने के लिए अलग, और यह कुछ अलग में बदल जाएगा. और फिर अंत में, 20 लाइन इस% कहा जाता है सापेक्ष, और कि भ्रामक है. यह एक छोटा सा है कि कुछ है आप वास्तव में नहीं है कि यहां अलग वास्तविक जीवन गणित में है. लेकिन अनिवार्य रूप से, आप एक विशाल ले जब संख्या और तुम सी में विभाजित है, क्या शेष के लिए होता है? छात्र: इसे छोटा कर दिया जाता है. जेसन Hirschhorn: इसे छोटा कर दिया जाता है. तो 3 से विभाजित 20 क्या है? उस के लिए क्या वापस करता है आप, 20 3 द्वारा विभाजित. क्षमा करें, 10 3 द्वारा विभाजित. कि तुम क्या करने के लिए वापस करता है? छात्र: [सुनाई]. जेसन Hirschhorn: 10 3 द्वारा विभाजित बस 3, नहीं 3 शेष 1 देता है. तो क्या 10 सापेक्ष 3 रिटर्न अभी शेष, 1 है. आप 10 विभाजित जानना चाहता था तो अगर 3 से वास्तव में तुम, होता था 10 3 द्वारा विभाजित है, तो आप अपने 3 मिलता था और फिर आप 10 सापेक्ष 3 करते हैं, और चाहते हैं आप एक 1 मिलता था. तो अगर आप 10 विभाजित कि एहसास होता 3 से 3, शेष 1 है. और इस लाइन में, रैंड हो सकता है किसी भी पूर्णांक, अनिवार्य रूप से. तो सापेक्ष से विभाजित, कह रहा है इस मामले में 5 है जो संख्या,. और अगर तुम कभी एक संख्या से विभाजित है, पूर्णांक हमेशा की तुलना में कम हो गया है उस नंबर. आप एक नंबर 5 से विभाजित कर रहे हैं तो अगर, शेष हमेशा होने जा रहा है शून्य से चार के माध्यम से. कि गणित बाहर काम करता है बस कैसे. तो एक छोटे से एक बड़ी संख्या में moduloed संख्या हमेशा वापस आ जाएगी शेष और हमेशा कुछ वापसी करेंगे नंबर आप से भी कम है कि संख्या से विभाजित. किसी के बारे में किसी भी सवाल है सापेक्ष, यह बहुत में आ जाएगा क्योंकि बहुत ही आसान है, तो मैं यह सुनिश्चित करना चाहते हैं हर कोई यह समझता है? कूल. और हम इस कार्यक्रम कि काम को देखा. ठीक है, पर घूम रहा है. तो अगला, हम में जाने के लिए जा रहे हैं काम करता है, और हम जाने के लिए जा रहे हैं इस सामान के बाकी के माध्यम से सुंदर मैं करने के लिए प्राप्त करना चाहते हैं जल्दी से, क्योंकि कमांड लाइन तर्क. इसलिए कार्यों अनिवार्य रूप से कर रहे हैं, तुम्हें देखा है, के रूप में काले बक्से. उन्होंने कहा जाता मापदंडों में चीजें ले, वे या तो उन्हें कुछ करना उन्हें बदलने के लिए या कुछ साइड इफेक्ट बनाने, और अंत में, वे थूक जो बाहर कुछ, वापसी मूल्य. किसी ने मुझे एक कारण दे सकते हैं यही कारण है कि हम कार्यों का प्रयोग करेंगे? कोई है? हम कार्यों का उपयोग होता है एक कारण है? कोई है? मैं दोनों हाथों को देखा. एक अच्छा कारण क्या है? मार्कस? छात्र: आप एक ही फोन करने के लिए है कोड एकाधिक बार का हिस्सा. जेसन Hirschhorn: ठीक है, अगर आप की जरूरत एक ही हिस्सा की कॉल करने के लिए कई बार कोड. जेफ, आप एक अलग कारण के लिए किया है? छात्र: बस इतना है कि आप कम कोड कर सकते हैं. जेसन Hirschhorn: आप कम कोड कर सकते हैं. ठीक है. आप कुछ एक बहुत कुछ करना चाहते हैं - पिछले कोड में, मैं हो सकता था मिल स्ट्रिंग पांच बार, लेकिन एक प्रश्न के लिखित पाश के लिए यह अच्छे लग रहे बनाता है और आप कम कोड लिखने के लिए है. कार्य एक समान विचार हैं. मैं एक ही बात में बहुत कुछ करना चाहते हैं, एक समारोह के लिए यह कदम और कहते हैं कि हर बार कार्य करते हैं. यही कारण है कि आप के लिए है कि काम करते हैं. यह एक बड़ा कारण है कार्य का उपयोग करने के लिए. तो एक समारोह के एनाटॉमी. एक समारोह आम तौर पर होगा इस तरह दिखेगा. यह वापसी प्रकार के साथ शुरू करेंगे, तो आप का नाम मिल जाएगा. यह अन्यथा, तर्क ले जाऊँगा अंदर पैरामीटर, और के रूप में जाना उन घुंघराले ब्रेसिज़, तुम हूँ अपने कोड लिखें. हम एक समारोह में एक बहुत कुछ देखा है. यही मुख्य है. यहाँ मुख्य पर आरोपित है जैसा कि मैंने पहले किया था कि शरीर रचना. यहीं INT क्या दर्शाता है? INT क्या मतलब है? मैं int मुख्य (शून्य) लिखते हैं. छात्र: प्रकार वापसी? जेसन Hirschhorn: क्षमा करें? छात्र: प्रकार की वापसी. जेसन Hirschhorn: इंटरनैशनल है बिल्कुल सही, प्रकार वापसी. मुख्य एक पूर्णांक देता है. मुख्य क्या है? छात्र: समारोह का नाम. जेसन Hirschhorn: मुख्य है समारोह का नाम. बिल्कुल सही. और शून्य? कोष्ठकों के अंदर शून्य क्या है? छात्र: यह नहीं ले करता है किसी भी बाह्य मूल्य. जेसन Hirschhorn: तो शून्य - सही. कोष्ठकों के अंदर, हम डाल पैरामीटर या तर्क समारोह चला जाता है, लेता है ब्लैक बॉक्स के अंदर. आप शून्य लिखते हैं, आप कह रहे हैं अंदर यह कुछ भी नहीं लेता तो int मुख्य शून्य मुख्य का मतलब अंदर कुछ भी नहीं ले जा घुंघराले ब्रेसिज़ अंदर, हम कुछ है कोड, और फिर हम अंत में देखते हैं शून्य वापसी. क्या शून्य मतलब है वापस करता है? खैर, हम वापसी प्रकार के बारे में बात की थी. मुख्य एक पूर्णांक लौटने की जरूरत है. यही कारण है कि इस लाइन क्या करता है. यह एक पूर्णांक, शून्य देता है. बेशक, हम नहीं देखा है कि एक बहुत प्रोग्रामिंग में हम साथ क्या क्योंकि हम क्या मशीनों और compilers हम, आजकल आप का उपयोग कि रेखा की जरूरत नहीं है. मुख्य यह जानता है कि काफी खास है आप मुख्य के अंत, बस जब तक पहुँचने सब कुछ अच्छी तरह से चला गया, तो शून्य वापसी. वास्तव में, कुछ अच्छी तरह से जाना नहीं है, मुख्य अक्सर एक अलग वापसी करेंगे वाचक संख्या कि कुछ अपने कार्यक्रम के साथ गलत हो गया था. तो आम तौर पर आप यदि आप कोड देख जब शून्य वापस लिखते हैं, लेकिन यह अच्छा है नहीं है इसके पीछे क्या हो रहा है कि पता करने के लिए परदे के आप लिख क्योंकि जब भी समारोह का एक और प्रकार, आप की जरूरत जा रहे हैं एक वापसी लाइन शामिल हैं. आप कह रहे हैं, तो मैं करने जा रहा हूँ एक पूर्णांक लौटने के लिए, आप के लिए है कुछ लौटने लिखें. आप यहाँ ऊपर शून्य कहते हैं के लिए, शून्य मुख्य शून्य शुरुआत उदाहरण के लिए, तो यह वापस नहीं है कुछ - शून्य कोई मतलब नहीं है - तो आपको लगता है कि वापसी लाइन की जरूरत नहीं है. लेकिन क्या आपने कभी नहीं है कि कुछ लिखने वापसी प्रकार के लिए शून्य, आप की जरूरत वापसी और आप कहते हैं कि एक लाइन वहाँ कुछ करने की जरूरत है उस प्रकार से मेल खाता है. उस के बारे में कोई सवाल? मीठा. घेरा. यह हम है कुछ है साथ ही पर छुआ. हर चर, हम जानते हैं, एक है कुछ गुंजाइश है, और है कि मूल रूप से है के बारे में बात कर रही है, जहां चर या संदर्भित नहीं किया जा सकता. और मुझे लगता है कि क्या होता है कहना चाहता घुंघराले ब्रेसिज़ रहता में घुंघराले ब्रेसिज़ अंदर. तो उदाहरण के लिए, हम इस कोड को देखो, हम एक वैश्विक चर परिभाषित कर रहे हैं मुख्य के बाहर, एक int, यहाँ शीर्ष पर. हम एक और बुला रहे हैं एक के अंदर मुख्य int. हम कुछ और घुंघराले ब्रेसिज़ है, और हम एक और INT एक बुला रहे हैं. हम कोड में तीन एक का है. ये एक ही बात नहीं कर रहे हैं. मैं तीन अलग चर बना लिया है. तो फिर इन भीतरी घुंघराले अंदर ब्रेसिज़, मैं एक = 4 का कहना है. जो एक है कि, के बारे में बात पहले एक, दूसरा एक, या तीसरे एक? छात्र: तीसरे एक. जेसन Hirschhorn: यह बात कर रहा है तीसरे एक के बारे में. उन एक के सब वास्तव में हो सकता है इस विशेष के बारे में बात उदाहरण के अपने दायरे से सब हो जाता है क्योंकि इन अंतरतम घुंघराले ब्रेसिज़ में. हालांकि, अगर आप चीजों को एक ही कॉल करते समय छुपा कहा जाता है कि वहाँ कुछ, नाम है. तो आप ही के साथ सौदा है या ठीक है या उपयोग सबसे हाल ही में चर, या एक आप के लिए निकटतम. तो अंदर यहां, इस तीसरे एक सबसे करीब है उस लाइन के लिए, एक = 4, यह तो तीसरा एक को प्रभावित करता है. और एक है जो अंतिम पंक्ति, एक = 2, कि, प्रथम, द्वितीय, के बारे में बात या तीसरे एक? छात्र: दूसरा. जेसन Hirschhorn: यह बात कर रहा है एक दूसरे के बारे में. बेशक, तीसरे एक के सबसे करीब है कोड में यह है, लेकिन तीसरे एक बाहर मौजूद नहीं है उन घुंघराले ब्रेसिज़. आपको लगता है कि बंद घुंघराले करने के लिए एक बार यह चला गया है की तरह गले लगा, यह है, अनिवार्य रूप से. तो तुम छोड़ दिया है केवल दो उन हैं दो पहले, और जाहिर है, अब यह एक दूसरे के सबसे करीब है. तो यह है कि एक अच्छी बात है गुंजाइश के बारे में याद है. उदाहरण के लिए, मैं आप का सामना करना पड़ा है यकीन इस एक मत पाश देर में. आप अंदर चर इनिशियलाइज़ हैं Do पाश जबकि और फिर तुम करने की कोशिश , बाहर इसे उपयोग आप शायद कुछ इस तरह, चेतावनी मिली चर मौजूद नहीं है. यही वजह गुंजाइश विचार की है, बातों ही मौजूद है कि उन घुंघराले ब्रेसिज़ अंदर. घुंघराले ब्रेसिज़ एक विशाल गले की तरह हैं आप अपने कोड को दे रहे हैं, एक और है इसके बारे में सोचने के लिए रास्ता. तो यह एक और समारोह, कुछ है कोड, hellofunction.c के लिए आप लोगों के लिए. हम अब के लिए छोड़ रहा है, लेकिन कर रहे हैं यह है कि मैं करने के लिए प्रोत्साहित करते हैं कुछ है अपने दम पर अभ्यास करेंगे. एक प्रोग्राम लिखने की मुख्य कॉल एक प्रिंट है कि एक और समारोह उपयोगकर्ता के लिए बधाई. यह अनिवार्य रूप से नमस्ते दुनिया ले जा रहा है और कि printf में सार संक्षेप एक अन्य समारोह. लेकिन हम अभी ऐसा करने के लिए नहीं जा रहे हैं हम जितना समय नहीं है क्योंकि मैं पसंद आया होगा के रूप में छोड़ दिया है. तो समारोह घोषणा. हम के रूप में अच्छी तरह से पहले यह देखा है. यदि आप किसी अन्य समारोह लिखने के लिए चाहते हैं, आप कंप्यूटर बताने के लिए की जरूरत है और मुख्य कि यह मौजूद है पता है. तो हम क्या हम लिखने, मुख्य ऊपर है वापसी प्रकार, नाम, और पैरामीटर, और फिर, मुख्य नीचे नीचे यहाँ नीचे, हम वास्तव में कॉपी कि लाइन और तब वास्तविक कोड लिखें. तो इस तरह, आप इस समारोह फोन अगर शीर्ष पर मुख्य रूप से, मुख्य जानता है कि अगर मैं थे हैलो, उदाहरण के लिए, मौजूद है हैलो कहते हैं, और फिर इसे करने के लिए लग रहा है नीचे नीचे कार्यान्वयन. मैं इस में शामिल नहीं है, तो क्या होता रेखा ऊपर, (शून्य) हैलो शून्य? मैं इस लाइन में शामिल नहीं है, तो और मुख्य कॉल हैलो, मैं हूँ एक त्रुटि मिलती जा रही है. मैं एक त्रुटि प्राप्त करने के लिए जा रहा हूँ क्योंकि संकलक पता नहीं है इस बात से मौजूद है. यही कारण है कि हम करने के लिए इसी तरह की है # cs50.h. शामिल है अनिवार्य रूप से क्या cs50.h कर रही है ऊपर वहाँ पाने स्ट्रिंग डाल रहा है. यह ऊपर वहाँ पाने INT रख रहा है. यह उन समारोह की सभी डाल रहा है मुख्य से पहले प्रोटोटाइप इतना है कि जब आप मुख्य में उन्हें फोन, मुख्य जानता है इन बातों मौजूद है. उन है कि. घंटे फ़ाइलों क्या करते हैं. और तो आप अपने खुद के बनाने के लिए जा रहे हैं समारोह, आपको यह सुनिश्चित करने के लिए मिल गया है तुम वहाँ है कि प्रोटोटाइप डाल दिया. अब तक इस बारे में कोई सवाल? कमांड लाइन तर्क. यह हम समाप्त करने के लिए जा रहे हैं क्या है पर, और उसके बाद उम्मीद है कि हम करेंगे कुछ pset में निचोड़. हम दबाव में सक्षम हो जाएगा, तो मैं नहीं जानता क्योंकि समय की है कि में, लेकिन यहाँ हैं, और आप जो अगर तुम लोगों के साथ दोस्तों, एक बिट के लिए बाद में कहना चाहता हूँ कि हम बाहर इस पर जा सकते हैं. लेकिन हम साथ समाप्त करने के लिए जा रहे हैं कमांड लाइन तर्क पिछले 15 मिनट के लिए. हम माइकल जाग? तुम जाग रहे हो? अच्छा. तुम सो जाओ, तो मैं नहीं जानता अपनी आँखें बंद के साथ. यह मुश्किल हो जाएगा. कमांड लाइन तर्क. उन लोगों की जानकारी पारित करने के लिए एक ही रास्ता है एक कार्यक्रम में. आखिरकार, हम दूसरों का सामना करेंगे. लेकिन अनिवार्य रूप से, हम बंद करने के लिए जा रहे हैं हम चाहते हैं यदि int मुख्य (शून्य) लेखन कुछ कमांड लाइन तर्क ले. हम इस बात को लिखने जा रहे हैं int मुख्य (int argc कहा जाता है, स्ट्रिंग argv, कोष्ठक. यह भ्रामक है. उस में नहीं हैं कि पत्र की एक बहुत कुछ है मानव अंग्रेजी, तो हम करने जा रहे हैं उन्हें अभी खोलना. Argc तर्क गिनती के लिए खड़ा है - और फिर, इन सब होगा ऑनलाइन उपलब्ध हो - और उन तर्कों की संख्या है. Argv तर्क वेक्टर के लिए खड़ा है, और उन तर्कों स्वयं कर रहे हैं. यह तारों की एक सरणी है. हम वास्तव में एक सरणी देखा है आज से पहले तार की. हम आखिरी बार एक बनाया कार्यक्रम हम कोडित. तो यहाँ एक उदाहरण है. मैं लिखना. / Ohai CS50 अनुभाग मेरे कमांड लाइन पर. इस मामले में argc 3 के बराबर होती है. Argv ब्रैकेट 0 ohai, argv ब्रैकेट 1 है , argv ब्रैकेट 2 खंड CS50 है. फिर, argc तर्कों की संख्या है, और यदि आप एक छोटे से यात्रा करने के लिए बिट, हम हमेशा के नाम गिनने पहले तर्क के रूप में कार्य करते हैं. तो इस मामले में, वहाँ तीन हैं तर्क, समारोह के नाम और फिर मैं अंदर लिखे गए उन दो अगला, हम उन लोगों को बचाने के लिए जा रहे हैं argv में तर्क खुद को. और फिर, जैसा कि हम पहले देखा था, बस के रूप में हम किया था यह पिछले कार्यक्रम में हम कोडित. आप की सरणी के माध्यम से स्थानांतरित कर सकते हैं argv और उन तार मिलता है. यही कारण है कि हम पर क्या किया अनिवार्य हमारे पिछले कार्यक्रम के अंत. हम एक यादृच्छिक नाम उठाया और उसके बाद के लिए चला गया नामों ब्रैकेट जो कुछ और मुद्रित स्ट्रिंग वहाँ स्थित बाहर. सिर्फ एक सरणी के शीर्ष पर, क्योंकि तार खुद को सरणियों हैं, के रूप में के बारे में बात की, आप सरणियों हो सकता है सरणियों की, जो है अनिवार्य रूप से क्या argv है. आप के बारे में सोच सकते हैं एक ही रास्ता है इस पंक्तियों और स्तंभों है. मैं अब यह सही आकर्षित कर सकते हैं. तो argv - कि मिटाकर नहीं है. के ohai तहत आकर्षित करते हैं. मैं में लिखा था तो अगर, ohai CS50 अनुभाग, मैं truncate करने के लिए जा रहा हूँ इस उदाहरण के लिए खंड. लेकिन अनिवार्य रूप से, मेरी बहु आयामी सरणी, ohai CS50, हम संप्रदाय क्या करने जा रहे हैं. यहाँ तो, मैं उपयोग कर सकते हैं - मैं सिर्फ argv एक नंबर दे अगर - यह गलत है. क्या इस चित्र में गलत क्या है? छात्र: शून्य से शुरू. जेसन Hirschhorn: यह चाहिए शून्य के साथ शुरू करते हैं. शायद मैं भी इसे बारी बारी से करना चाहिए, लेकिन मैं पहले से ही उस पर तैयार की गई है के बाद से, मैं कर रहा हूँ अब के लिए वहाँ पर इसे छोड़ने के लिए जा रहा है. लेकिन यह शून्य से शुरू होता है. यह सही है. इस छोटे से है, तो मैं माफी चाहता हूँ. तुम लोग तरह से देख सकते हैं? मैं argv 0 करते हैं तो, मैं हूँ ohai के सभी जाओ. मैं 1 argv करते हैं, मैं CS50 के सभी मिल जाएगा. मैं 2 argv करते हैं, मैं संप्रदाय के सभी मिल जाएगा. लेकिन अब, जैसा कि हमने कहा, तार सरणियों स्वयं कर रहे हैं. तो मैं क्या कर सकता हूँ मैं इस का इलाज कर सकते है एक बहु - आयामी सरणी, और मैं के रूप में की तर्ज साथ कुछ कर सकते हैं मुझे सिर्फ देता है जो argv 0, 0, चरित्र 0. मुझे सिर्फ घंटे देता है जो argv 0, 1,. मुझे सिर्फ देता है जो argv 1, 3, यहाँ नीचे CS50 में इस 0. इसलिए क्योंकि तार खुद को सरणियों, हम डाल रहे हैं कर रहे हैं एक और सरणी में है. हम अब सरणियों की सरणी, और हम हैं कर सकते हैं हमारी पहली सरणी में सूचकांक और फिर हमारी दूसरी सरणी में सूचकांक. आप उम्मीद करेंगे और, जैसा कि हम ऐसा बस उन दो डालने से - हम वर्ग कोष्ठक बस ठीक बगल में एक दूसरे के लिए. तो इस उदाहरण में, argv 1 CS50 है और argv 1, 2, जैसे हम ने कहा, सिर्फ 5 है. किसी के बारे में किसी भी सवाल है बहु - आयामी arrays? तुम लोग कमाल कर रहे हैं. मीठा. तो हम यहीं एक अन्य कार्यक्रम है, और यह हम कर रहे हैं अंतिम बात है सही अब करने जा. तो मैं तुम्हें एक प्रोग्राम लिखने के लिए चाहते हैं कि एक उपयोगकर्ता का पूरा नाम, दो और ही ले जाता है दो कमांड लाइन तर्क, और अंत में, एक ग्रीटिंग बाहर प्रिंट उनके प्रथम नाम भी शामिल है कि उपयोगकर्ता. तो तुम क्यों नहीं लेते तीन या चार मिनट ऐसा करने के लिए, और फिर हम जायेंगे एक समूह के रूप में यह अधिक है, और तो हम लपेटो हूँ? और फिर, यहाँ, जब हम कहते हैं एक ले विवरण प्रति उपयोगकर्ता का पूरा नाम इस समस्या के कारण, यह आदेश होना चाहिए लाइन तर्क मिलता है, स्ट्रिंग का उपयोग नहीं. हाँ, मार्कस? छात्र: तो जब आप कहते हैं दो आदेश लाइन तर्क है कि इसके अलावा में . / रन या - जेसन Hirschhorn: अच्छा सवाल है. सहित, करो. / चलाने, तीन कमांड लाइन तर्क. या. / व्यक्तिगत, में शामिल है इस मामले में, कि है क्योंकि इस फाइल का नाम. तो argc तीन होगा. लेकिन मैं केवल दो तर्क चाहते हैं कार्यक्रम को दिया. मुझे लगता है कि निर्दिष्ट करना चाहिए. मैं पोस्ट करने से पहले मुझे लगता है कि बदलाव कर दूँगा इन और तुम लोगों को भेजते हैं. छात्र: क्या होगा यदि आप एक मध्य नाम है? जेसन Hirschhorn: आप एक मध्यम है नाम है, तुम भाग्य से बाहर रहे हैं. मैं माफी चाहता हूँ. या फिर आप ही शकीरा से जाना है, तुम भाग्य से बाहर भी कर रहे हैं. हाँ? छात्र: तो लोगों के लिए नहीं है जब cs50.h, वे argv परिभाषित करते हैं के रूप में चार सितारा argv? या यह अभी भी स्ट्रिंग argv कहा जाता है? जेसन Hirschhorn: हाँ. तो स्ट्रिंग, फिर, हम पर नकाब क्या वास्तव में वहां क्या हो रहा है. हो सकता है कि unpacked किया जा रहा है बुधवार को, लेकिन जल्द ही. यह प्रशिक्षण के पहियों की तरह है. अनिवार्य रूप से, क्योंकि यह एक ही बात. तो चलो कार्यक्रम के लिए एक मिनट ले लो यह है, और फिर हम खत्म हो जाएंगे यह एक समूह के रूप में, और उसके बाद जैसे मैं लपेट, कहा. और मुझे लगता है कि वे अभी भी अतिरिक्त कैंडी हो, तो तुम लोग उम्मीद रखना चाहिए कि, या कि रखना. खेद है कि आपको अभी भी लिख रहे हैं, लेकिन मैं में गोता लगाने के लिए चाहते हैं और हम एक साथ इसे खत्म कर सकते हैं. तो मैं में लिखा है, # शामिल cs50.h, # stdio.h शामिल हैं. int मुख्य (शून्य), घुंघराले गले लगा, घुंघराले गले की तीन लाइनों के अंदर pseudocode, एक उपयोगकर्ता का पूरा नाम ले, दो और दो कमांड लाइन ही तर्क, के लिए एक ग्रीटिंग बाहर प्रिंट उनके प्रथम नाम भी शामिल है कि उपयोगकर्ता. तो पहले एक, ले एक उपयोगकर्ता का पूरा नाम. कौन मुझे लेने में मदद कर सकते हैं एक उपयोगकर्ता का पूरा नाम क्या है? मुझे लगता है कि हिस्सा कैसे करते हो? तुम लोग पहली बात यह है कि क्या किया? एक उपयोगकर्ता का पूरा नाम लो. वैसे, यह एक कमांड लाइन के लिए तर्क, मैं क्या लिखना चाहिए? मैं के बारे में क्या बदलना चाहिए मेरे समारोह घोषणा? छात्र: तुम नहीं करना चाहती यह अब और शून्य होगा. जेसन Hirschhorn: बिल्कुल. मैं यह शून्य होने के लिए नहीं करना चाहती. क्या मैं इसे होना चाहते हो? छात्र: इंटरनैशनल argc. जेसन Hirschhorn: इंटरनैशनल argc. छात्र: स्ट्रिंग argv. जेसन Hirschhorn: स्ट्रिंग argv. छात्र: कोष्ठक, कोष्ठक. जेसन Hirschhorn: कोष्ठक, कोष्ठक. यह बिल्कुल सही है, और वह है, वास्तव में मैं कैसे प्राप्त करने के लिए जा रहा हूँ एक उपयोगकर्ता का पूरा नाम. वे वहाँ में इसे लगाने के लिए जा रहे हैं. एक किया है कि तो. तो अब मैं चाहता हूँ कि दो और केवल दो कमांड लाइन तर्क. इसलिए नूह, मैं कर सकता हूँ एक तरीका क्या है आदेश की संख्या की जांच लाइन तर्क मैंने किया है? छात्र: आप एक बयान अगर करते हैं. जेसन Hirschhorn: अगर बयान, बिल्कुल. मैं शर्त के रूप में क्या चाहते हो? छात्र: 3 से अधिक argc हैं. जेसन Hirschhorn: यदि argc 3 से अधिक है. 3 से अधिक argc, तो मैं क्या करूँ? छात्र: 1 लौटें. जेसन Hirschhorn: 1 लौटें. कि मैं सुनिश्चित करेंगे दो और केवल दो? छात्र: नहीं. Argc से अधिक है 3 और कम से कम 2. जेसन Hirschhorn: argc अधिक है, तो 3 और argc कम से कम 2 से अधिक है. मैं बस में यह लिख सकते हैं एक तरीका क्या है एक पंक्ति, या कि उपयोग किए बिना और बूलियन ऑपरेटर? छात्र: यह 2 के बराबर नहीं है. जेसन Hirschhorn: यदि argc 2 के बराबर नहीं है. बिल्कुल सही. तो argc 2, उस के बराबर नहीं है अगर मुझे इस कार्यक्रम दे देंगे, जब मैं इसे चलाने, व्यक्तिगत, और मुझे दे कि कितने कमांड लाइन तर्क? मैं कितने के लिए जाँच करेगा? माफ़ कीजिए. मुझे उस reword करते हैं. यदि आपने कितने बातें argc = 2, उपयोगकर्ता लाइन में लिखना? छात्र: एक. जेसन Hirschhorn: बस एक. तो इससे पहले, तुम, नूह सही थे. क्या मैं वास्तव में वहाँ खड़ा करने की जरूरत है? छात्र: यही कारण है कि 3 के बराबर होती है. जेसन Hirschhorn: argc 3 बराबर नहीं है. मैं मैं चाहता हूँ क्योंकि 3 बराबर करना चाहते हैं व्यक्तिगत के साथ साथ अन्य दो. Argc 3 बराबर नहीं है तो, अगर वापसी 1. क्यों तुम बदले 1 कहा? छात्र: क्योंकि उस यह गलत है इसका मतलब है. जेसन Hirschhorn: यह बात गलत है इसका मतलब, और क्या है कि क्या हो रहा है? छात्र: उपयोगकर्ता पुनः संकेत. जेसन Hirschhorn: इसे छोड़ने के लिए जा रहा है कार्यक्रम है, तो इसे चलाने के लिए होगा फिर से, लेकिन हम कुछ भी नहीं है यहां फिर से उनके लिए पूछने के लिए. मैं उस के लिए नहीं पूछा था. इसलिए यह बिल्कुल सही है. वापसी 1 बस कार्यक्रम इस्तीफा. ग्रेट. और उपयोगकर्ता के लिए एक ग्रीटिंग बाहर प्रिंट कि उनके प्रथम नाम भी शामिल है. मैं ऐसा कैसे कर सकते हैं? अन्ना? छात्र: printf. जेसन Hirschhorn: printf. छात्र: (" जेसन Hirschhorn: ( छात्र: "नमस्कार जेसन Hirschhorn: "नमस्कार छात्र:% s जेसन Hirschhorn:% s छात्र: / एन जेसन Hirschhorn: / एन छात्र: ", जेसन Hirschhorn: ", छात्र: argv जेसन Hirschhorn: क्षमा करें? छात्र: argv जेसन Hirschhorn: argv छात्र: स्क्वायर 1 कोष्ठक. जेसन Hirschhorn: वर्ग कोष्ठक? छात्र: 1. जेसन Hirschhorn: 1. छात्र: और) अर्धविराम. जेसन Hirschhorn:) अर्धविराम. हमें इस चलाते हैं. व्यक्तिगत बनाओ. . / व्यक्तिगत. यह बस छोड़ दिया. ऐसा क्यों है कि छोड़ दिया है? छात्र: आप किसी भी तर्क नहीं डाली. जेसन Hirschhorn: मैं नहीं था अंदर किसी भी तर्क डाल अच्छा लग रहा है. तुम लोग इसे किसी न किसी. तो फिर, आप argv में चला गया और आप शुरुआत argc पर जाँच की. उन दो महत्वपूर्ण हैं याद करने की बातें. इसलिए हमारे पिछले दो मिनट में हम पहले छोड़ दो, हम दो pset को मिलता है, लेकिन नहीं होगा जैसे मैंने कहा, आप के बाद रहने के लिए चाहते हैं 10 मिनट के लिए, मैं वह खुश जाना होगा तुम लोगों के साथ अधिक तर्क इन समस्या सेट के लिए. हम आज कवर करने के लिए एक बहुत कुछ था इसलिए मैं उन्हें नहीं मिला. आम तौर पर, मैं शामिल करना अंत में है कि. तो अगर आप के आसपास रहना चाहते हैं, 10 मिनट के लिए चारों ओर लकड़ी. हम ऐसा करेंगे. फिर, मैं शुरुआत में उल्लेख किया है, pset शून्य और एक है, हम उस मिलेगा तुम्हें वापस करने के लिए प्रतिक्रिया जल्द से जल्द. लक्ष्य pset एक प्रतिक्रिया मिल रही है, टिप्पणियां भाग, pset दो कारण है पहले. आप कुछ गलतियों या बनाया तो अगर stylistically, चीजें बेहतर हो सकता है, आपको जानकारी है कि होगा आप तो pset दो में ही बातें नहीं करेंगे. और फिर भविष्य में, आप सभी मिल जाएगा अपने pset राय और टिप्पणियां की अगले एक कारण है वापस पहले. अंत में, मैं दूसरे में डाल सकता है प्रतिक्रिया के लिए प्लग. यह आपका पहला खंड है. यह मेरा पहला खंड था इस साल के अध्यापन. वहाँ जाओ. अच्छे और बुरे, सामान लिखें और मैं बनाने के लिए इसका उपयोग करेंगे खंड बेहतर अगली बार. और पिछले है, फिर, अगर आप की जरूरत कुछ भी, मुझे पता है. मैं तुम लोगों को मदद करने के लिए खुश से अधिक रहा हूँ. आप बस कैंडी, मैं चाहता हूँ अतिरिक्त कैंडी होगा. मैं इसे आप के लिए लाने के लिए खुश हूँ. यह एक अद्भुत कोर्स होने जा रहा है. यह मेरा पसंदीदा में से एक है, अगर नहीं बेशक, मैं अपने पूरे जीवन में ले लिया है, और मैं यह हो जाएगा उम्मीद है कि आप के लिए अद्भुत. इसलिए मैं अपने सत्ता में सब कुछ करना चाहते हैं यह उस भयानक आप के लिए बनाने के लिए. मैं आप कर रहे हैं अगर एक ईमेल भेजने के लिए जा रहा हूँ मेरे अनुभाग या नूह, और में कोशिश करते हैं और प्रत्येक के साथ शेड्यूल करने के लिए जा रहा तुम लोग ओवर में जाँच करने के लिए एक समय सप्ताह के अगले दो ताकि मैं प्राप्त कर सकते हैं एक अपने सीएस पृष्ठभूमि क्या है की भावना, और यह भी मुझे इन दर्जी मदद मिलेगी वर्गों बेहतर आपकी आवश्यकताओं के अनुरूप. तो यह है कि मैं लाइन में खड़ा क्या मिला है. फिर, मैं बाहर आप देखेंगे तुम वहाँ होना चाहते हैं. यह दो खंड सप्ताह था. इतना आप लोगों को धन्यवाद.