>> आरओबी BOWDEN: हाय, मैं रोब हूँ, और के कूद जाने मारियो के हैकर संस्करण में.
हम क्या करने की जरूरत है तो पहली बात है उपयोगकर्ता से ऊंचाई मिलता है.
यहाँ हम एक के लिए उन्हें पूछ रहे हैं गैर नकारात्मक पूर्णांक कम से कम 24 और
हम CS50 GetInt समारोह का उपयोग कर रहे हैं उपयोगकर्ता से कि पूर्णांक हड़पने के लिए.
हम एक मत का समय पाश के अंदर हो देख कि जब तक पाशन जारी रहेगा
ऊंचाई से अधिक है 23 या कम से कम 0.
और इसलिए हम उपयोगकर्ता जब तक जारी रखेंगे वास्तव में हम क्या चाहते हैं हमें देता है.
>> हम उस ऊंचाई एक बार, हम करने के लिए मिल हमारे कार्यक्रम के पाश के लिए मुख्य.
एक उदाहरण तो चलो पहले देखो pset कल्पना से.
हम इस उदाहरण में देखते हैं कि जब हम 4 की ऊंचाई, नीचे पंक्ति दर्ज
पहले चार हैश, दो रिक्त स्थान, प्रिंट और चार और हैश.
>> तो है कि ऊपर एक पंक्ति एक मुद्रित करता है अंतरिक्ष तीन हैश, दो रिक्त स्थान के लिए
पिरामिड अलग, और फिर तीन और हैश.
और ऊपर है कि, दो रिक्त स्थान, दो हैश को, दो स्थानों, दो हैश को.
और अंत में, तीन रिक्त स्थान एक हैश, दो रिक्त स्थान एक हैश.
तो आप सूचना के लिए शुरू करना चाहिए यहाँ पैटर्न.
>> यह कैसे के लिए कोड पर देखें हम ऐसा करने जा रहे हैं.
हम पुनरावृति रहे हैं कि यहाँ देख पिरामिड के सभी पंक्तियों पर.
सबसे पहले हम गणना करना चाहते रिक्त स्थान की संख्या.
और हम पर शुरू करना है कि याद पिरामिड के शीर्ष और काम हमारे
जिस तरह से नीचे हम मुद्रित नहीं कर सकते, क्योंकि नीचे तो एक पंक्ति ऊपर और
तब एक पंक्ति ऊपर.
तो पिरामिड, नोटिस के शीर्ष पर रिक्त स्थान की संख्या के बराबर है
ऊंचाई शून्य से 1.
हम तो तीन रिक्त स्थान मुद्रित करने के लिए जा रहे हैं एक हैश और उसके बाद दो रिक्त स्थान के लिए
अलग और एक और हैश.
>> तो रिक्त स्थान के बराबर है ऊंचाई शून्य से पंक्ति.
, पंक्ति 1 है और हमारे ऊंचाई 4 है तो हम चाहते हैं कि, हमें 3 रिक्त स्थान देता हूँ.
तो फिर इस पाश सिर्फ प्रिंट के लिए रिक्त स्थान की संख्या.
रिक्त स्थान तीन है, तो हम करने जा रहे हैं एक भी अंतरिक्ष में तीन बार पैदा करते हैं.
>> सतत, अब हम मुद्रित करना चाहते हैं जो बाईं पिरामिड, के हैश
पंक्ति संख्या के लिए बस बराबर.
पंक्ति में, यहाँ पीछे मुड़कर एक, हम एक हैश मुद्रित.
पंक्ति दो में हम में, दो प्रिंट पंक्ति तीन हम तीन मुद्रित.
तो हम बस पाश पंक्ति टाइम्स मुद्रण हैश प्रतीक.
फिर पिरामिड के सभी पंक्तियों के लिए, हम अलग करने के लिए वास्तव में दो स्थानों मुद्रित
उन पिरामिड.
>> और अंत में, हम सही मुद्रित करना चाहते हैं जो पिरामिड, की ओर
फिर हैश की एक ही नंबर बाईं ओर के रूप में.
और तो यह एक ही सटीक है यहाँ से ऊपर के रूप में पाश के लिए.
अंत में, हम में एक नई लाइन बनाने की जरूरत अगली पंक्ति के लिए पर स्थानांतरित करने के आदेश
पिरामिड और मुद्रण जारी है.
और यह बात है.
मेरा नाम रोब है और इस मारियो था.