>> [இசை கேட்கிறது]
>> ராப் Bowden: இது, ராப், என்னை தான்.
தான் எப்படி வழியாக நடந்து செல்லலாம் மரியோ செயல்படுத்த.
எனவே நாம் என்ன செய்ய வேண்டும் முதல் விஷயம் உள்ளீடு பயனர் கேட்கும்.
>> நாம் சரியாக எப்படி கேட்க வேண்டும் உயரமான பிரமிட் இருக்க வேண்டும்.
எனவே இங்கே, நாம் செய்து வருகிறோம் பார்க்கிறோம் உயரம், நாங்கள்.
ஒரு நினைவில் அந்த GetInt செயல்பாடு CS50 உள்ள செயல்படுத்தப்படுகிறது
நூலகம், எனவே முதல், நாம் வேண்டும் # நினைவில் cs50.h. அடங்கும்
>> அதனால் நாம் இந்த மூடப்பட்டிருக்கும் வேண்டும் ஒரு செய்யும் போது வட்டத்திற்கு?
சரி, நாங்கள் என்பதை நினைவில் கொள்ள வேண்டும் பயனர் உள்ளீடு இருக்க வேண்டும்.
ஒரு தவறான உள்ளீடு என்ன?
சரி pset ஸ்பெக் குறிப்பாக கூறுகிறார் என்று ஒரு உயரம் குறைவான 0 அல்லது அதிக
23 தவறானது விட.
>> எனவே இங்கே, நாம் வரையறுப்பது என்று பார்க்கிறோம் உடன் MAX_HEIGHT என்று ஒரு நிலையான
23 மதிப்பு.
இந்த செய்யும் போது சுழற்சி தொடரும் உயரம் குறைவான 0 அல்லது MAX_HEIGHT உள்ளது
அதாவது உயரம் குறைவாக 23 உயரம் குறைவாக உள்ளது.
உயரம் 24 அல்லது அதிகமாக இருந்தால், நாம் இருக்கிறோம் தேடுகிறது தொடர போகிறேன்.
நினைவில் செய்யும் போது சுழல்கள் அழகாக உள்ளன பயனுள்ளதாக நாம் பெற வேண்டும் போதெல்லாம்
பயனர் உள்ளீடு பின்னர், அதை சரிபார்க்க நாம் தவிர்க்க முடியாமல் பயனர் கேட்க வேண்டும்
ஒருமுறையாவது அவர்கள் விரும்பும் மதிப்பு.
>> எனவே நாம் அவர்களின் உள்ளீடு, நாம் இப்போது பிரமிடு கட்ட முடியும்.
இந்த பிரச்சனை உத்திகளில் ஒன்றாக ஆகிறது நாம் மேலே தொடங்க வேண்டும் என்று
பிரமிடு.
நீங்கள் கீழே சோதிக்க முடியாது பிரமிடு பின்னர் உங்கள் வழியில் உருவாக்க.
எனவே உதாரணத்தை பார்போம் pset ஸ்பெக் இருந்து.
>> நாம் இங்கே பார்க்க நாம் உயரத்தில் நுழையும் போது 8, மிகவும் கீழே
பிரமிடு ஒன்பது hashes அச்சிடுகிறது.
என்று இருந்து ஒரு அளவு வரை அச்சிட்டு ஒரு இடைவெளி மற்றும் எட்டு hashes.
என்று இருந்து ஒரு அளவு வரை இரண்டு இடங்கள் மற்றும் ஆகிறது ஏழு hashes, அனைத்து வழி வரை நாம்
இது பிரமிடு, மேல் பெற ஏழு அச்சிடுகிறது எட்டு நிலைகள்,
இடைவெளிகள் மற்றும் இரண்டு hashes.
எனவே நாம் செய்ய வேண்டும் என்பதை நினைவில் முதலில் இந்த உயர்மட்ட செய்ய.
>> இங்கே நாம் தேடி மேல் நிலை, வரிசை 8, தொடர்ந்து
வரிசையில் 0 அடையும் வரை.
எனவே எப்படி நாம் பல இடங்கள் வேண்டும் என்று முதல் வரிசையில் அச்சிட?
நாம் ஏழு இடங்கள் அச்சிடப்பட்ட மற்றும் இரண்டு hashes.
எனவே நாம் விரும்பும் இடங்கள் எண்ணிக்கை ஆகிறது கழித்தல் 1 இருந்தன அந்த வரிசையில்.
>> மேல் வரிசை 8, 8 கழித்து என்றால் 1 எங்களுக்கு ஏழு இடங்கள் கொடுக்கிறது.
நாம் அச்சிட வேண்டும் என்று ஒரு வட்டத்திற்கு வேண்டும் ஒரு நேரத்தில் ஒவ்வொரு இடத்தில் ஒரு அவுட்.
எனவே போது இடைவெளிகள் இந்த சுழற்சி, 7 ஆகிறது ஏழு முறை அச்சிடும்
ஏழு தனிப்பட்ட இடங்கள்.
>> எனவே இப்போது நாம் இந்த hashes அச்சிட வேண்டும் பிரமிடு இறுதியில்.
எனவே இங்கே, நாம் கணக்கிட வேண்டும் எண் hashes.
நாம் உயரம் செய்கிறீர்கள் என்று பார்க்கிறோம் கழித்தல் வரிசையில் பிளஸ் 2.
நாம் எப்படி கிடைக்கும்?
>> நினைவில் பிரமிடு மேல் வரிசையில் 8, உயரம் 8 ஆகும்.
நாங்கள் இன்னும் இரண்டு hashes அச்சிடப்பட்ட.
மிகவும் குறைந்தது, 8 8 கழித்து பிளஸ் 2 எங்களுக்கு சரியான பதில் அளிக்கிறது.
பின்னர் கீழே கருத்தில் பிரமிடு, 1 வரிசை.
உயரம் கழித்து வரிசையில் எங்களுக்கு 7 கொடுக்கும், பின்னர் பிளஸ் 2 எங்களுக்கு ஒன்பது hashes கொடுக்கிறது,
இது சரியாக எண் நாம் அச்சிடப்பட்ட அந்த hashes.
எனவே இது நாம் சூத்திரம் எண்ணிக்கை கணக்கிட பயன்படுத்த
ஒவ்வொரு வரிசையில் hashes.
>> அந்த எண்ணை பயன்படுத்தி, நாம் பின்னர் மற்றொரு வேண்டும் மிகவும் ஒத்த சுழற்சி, ஐந்து
நாம் இடைவெளி பயன்படுத்தப்படும் என்று, லூப் என்று hashes முறை செயல்களை எண்
ஒரு ஹாஷ் ஒவ்வொரு முறை அச்சிடும்.
மேல் வரிசையில், என்று கேட்க, இரண்டு hashes அச்சிட.
கீழே வரிசையில், என்று கேட்க, ஒன்பது hashes அச்சிட.
மற்றும் ஒவ்வொரு பிற வரிசையில் ஒவ்வொரு அச்சிட வேண்டும் இடையே உள்ள எண் hashes.
>> பின்னர் மிக இறுதியில், நாம் வேண்டும் அடுத்த செல்ல எங்கள் புதிய வரி அச்சிட
பிரமிடு வரிசையில்.
இறுதியாக, நாம் புதிய வரி அச்சிட வேண்டும் வரிசையில் இறுதியில் பொருட்டு மணிக்கு
அடுத்த தொடர்ந்து பிரமிடு வரிசையில்.
எங்கள் திட்டம் இறுதியில், நாங்கள் திரும்பி 0 வேண்டும்.
>> Pset ஸ்பெக், மீண்டும் படி 0 கண்டிப்பாக அவசியம் இல்லை.
ஆனால் அது முக்கிய செய்யப்படுகிறது என்று குறிக்கிறது.
என் பெயர் ராப், இந்த மரியோ இருந்தது.
>> [இசை கேட்கிறது]