1 00:00:00,000 --> 00:00:00,982 2 00:00:00,982 --> 00:00:11,293 >> [இசை கேட்கிறது] 3 00:00:11,293 --> 00:00:13,580 >> ராப் Bowden: இது, ராப், என்னை தான். 4 00:00:13,580 --> 00:00:16,540 தான் எப்படி வழியாக நடந்து செல்லலாம் மரியோ செயல்படுத்த. 5 00:00:16,540 --> 00:00:21,040 எனவே நாம் என்ன செய்ய வேண்டும் முதல் விஷயம் உள்ளீடு பயனர் கேட்கும். 6 00:00:21,040 --> 00:00:24,440 >> நாம் சரியாக எப்படி கேட்க வேண்டும் உயரமான பிரமிட் இருக்க வேண்டும். 7 00:00:24,440 --> 00:00:27,110 எனவே இங்கே, நாம் செய்து வருகிறோம் பார்க்கிறோம் உயரம், நாங்கள். 8 00:00:27,110 --> 00:00:32,479 ஒரு நினைவில் அந்த GetInt செயல்பாடு CS50 உள்ள செயல்படுத்தப்படுகிறது 9 00:00:32,479 --> 00:00:38,060 நூலகம், எனவே முதல், நாம் வேண்டும் # நினைவில் cs50.h. அடங்கும் 10 00:00:38,060 --> 00:00:41,360 >> அதனால் நாம் இந்த மூடப்பட்டிருக்கும் வேண்டும் ஒரு செய்யும் போது வட்டத்திற்கு? 11 00:00:41,360 --> 00:00:45,080 சரி, நாங்கள் என்பதை நினைவில் கொள்ள வேண்டும் பயனர் உள்ளீடு இருக்க வேண்டும். 12 00:00:45,080 --> 00:00:46,910 ஒரு தவறான உள்ளீடு என்ன? 13 00:00:46,910 --> 00:00:51,460 சரி pset ஸ்பெக் குறிப்பாக கூறுகிறார் என்று ஒரு உயரம் குறைவான 0 அல்லது அதிக 14 00:00:51,460 --> 00:00:54,530 23 தவறானது விட. 15 00:00:54,530 --> 00:00:59,030 >> எனவே இங்கே, நாம் வரையறுப்பது என்று பார்க்கிறோம் உடன் MAX_HEIGHT என்று ஒரு நிலையான 16 00:00:59,030 --> 00:01:00,750 23 மதிப்பு. 17 00:01:00,750 --> 00:01:06,380 இந்த செய்யும் போது சுழற்சி தொடரும் உயரம் குறைவான 0 அல்லது MAX_HEIGHT உள்ளது 18 00:01:06,380 --> 00:01:11,870 அதாவது உயரம் குறைவாக 23 உயரம் குறைவாக உள்ளது. 19 00:01:11,870 --> 00:01:15,390 உயரம் 24 அல்லது அதிகமாக இருந்தால், நாம் இருக்கிறோம் தேடுகிறது தொடர போகிறேன். 20 00:01:15,390 --> 00:01:18,300 நினைவில் செய்யும் போது சுழல்கள் அழகாக உள்ளன பயனுள்ளதாக நாம் பெற வேண்டும் போதெல்லாம் 21 00:01:18,300 --> 00:01:22,070 பயனர் உள்ளீடு பின்னர், அதை சரிபார்க்க நாம் தவிர்க்க முடியாமல் பயனர் கேட்க வேண்டும் 22 00:01:22,070 --> 00:01:25,010 ஒருமுறையாவது அவர்கள் விரும்பும் மதிப்பு. 23 00:01:25,010 --> 00:01:28,500 >> எனவே நாம் அவர்களின் உள்ளீடு, நாம் இப்போது பிரமிடு கட்ட முடியும். 24 00:01:28,500 --> 00:01:31,940 இந்த பிரச்சனை உத்திகளில் ஒன்றாக ஆகிறது நாம் மேலே தொடங்க வேண்டும் என்று 25 00:01:31,940 --> 00:01:32,750 பிரமிடு. 26 00:01:32,750 --> 00:01:36,800 நீங்கள் கீழே சோதிக்க முடியாது பிரமிடு பின்னர் உங்கள் வழியில் உருவாக்க. 27 00:01:36,800 --> 00:01:38,830 எனவே உதாரணத்தை பார்போம் pset ஸ்பெக் இருந்து. 28 00:01:38,830 --> 00:01:41,530 29 00:01:41,530 --> 00:01:45,430 >> நாம் இங்கே பார்க்க நாம் உயரத்தில் நுழையும் போது 8, மிகவும் கீழே 30 00:01:45,430 --> 00:01:48,660 பிரமிடு ஒன்பது hashes அச்சிடுகிறது. 31 00:01:48,660 --> 00:01:52,990 என்று இருந்து ஒரு அளவு வரை அச்சிட்டு ஒரு இடைவெளி மற்றும் எட்டு hashes. 32 00:01:52,990 --> 00:01:58,250 என்று இருந்து ஒரு அளவு வரை இரண்டு இடங்கள் மற்றும் ஆகிறது ஏழு hashes, அனைத்து வழி வரை நாம் 33 00:01:58,250 --> 00:02:03,050 இது பிரமிடு, மேல் பெற ஏழு அச்சிடுகிறது எட்டு நிலைகள், 34 00:02:03,050 --> 00:02:06,000 இடைவெளிகள் மற்றும் இரண்டு hashes. 35 00:02:06,000 --> 00:02:08,810 எனவே நாம் செய்ய வேண்டும் என்பதை நினைவில் முதலில் இந்த உயர்மட்ட செய்ய. 36 00:02:08,810 --> 00:02:11,620 37 00:02:11,620 --> 00:02:18,500 >> இங்கே நாம் தேடி மேல் நிலை, வரிசை 8, தொடர்ந்து 38 00:02:18,500 --> 00:02:22,150 வரிசையில் 0 அடையும் வரை. 39 00:02:22,150 --> 00:02:25,820 எனவே எப்படி நாம் பல இடங்கள் வேண்டும் என்று முதல் வரிசையில் அச்சிட? 40 00:02:25,820 --> 00:02:29,310 நாம் ஏழு இடங்கள் அச்சிடப்பட்ட மற்றும் இரண்டு hashes. 41 00:02:29,310 --> 00:02:34,450 எனவே நாம் விரும்பும் இடங்கள் எண்ணிக்கை ஆகிறது கழித்தல் 1 இருந்தன அந்த வரிசையில். 42 00:02:34,450 --> 00:02:39,310 >> மேல் வரிசை 8, 8 கழித்து என்றால் 1 எங்களுக்கு ஏழு இடங்கள் கொடுக்கிறது. 43 00:02:39,310 --> 00:02:43,770 நாம் அச்சிட வேண்டும் என்று ஒரு வட்டத்திற்கு வேண்டும் ஒரு நேரத்தில் ஒவ்வொரு இடத்தில் ஒரு அவுட். 44 00:02:43,770 --> 00:02:47,450 எனவே போது இடைவெளிகள் இந்த சுழற்சி, 7 ஆகிறது ஏழு முறை அச்சிடும் 45 00:02:47,450 --> 00:02:50,300 ஏழு தனிப்பட்ட இடங்கள். 46 00:02:50,300 --> 00:02:54,672 >> எனவே இப்போது நாம் இந்த hashes அச்சிட வேண்டும் பிரமிடு இறுதியில். 47 00:02:54,672 --> 00:02:57,930 எனவே இங்கே, நாம் கணக்கிட வேண்டும் எண் hashes. 48 00:02:57,930 --> 00:03:01,930 நாம் உயரம் செய்கிறீர்கள் என்று பார்க்கிறோம் கழித்தல் வரிசையில் பிளஸ் 2. 49 00:03:01,930 --> 00:03:04,170 நாம் எப்படி கிடைக்கும்? 50 00:03:04,170 --> 00:03:08,630 >> நினைவில் பிரமிடு மேல் வரிசையில் 8, உயரம் 8 ஆகும். 51 00:03:08,630 --> 00:03:10,890 நாங்கள் இன்னும் இரண்டு hashes அச்சிடப்பட்ட. 52 00:03:10,890 --> 00:03:15,420 மிகவும் குறைந்தது, 8 8 கழித்து பிளஸ் 2 எங்களுக்கு சரியான பதில் அளிக்கிறது. 53 00:03:15,420 --> 00:03:19,170 பின்னர் கீழே கருத்தில் பிரமிடு, 1 வரிசை. 54 00:03:19,170 --> 00:03:24,020 உயரம் கழித்து வரிசையில் எங்களுக்கு 7 கொடுக்கும், பின்னர் பிளஸ் 2 எங்களுக்கு ஒன்பது hashes கொடுக்கிறது, 55 00:03:24,020 --> 00:03:26,620 இது சரியாக எண் நாம் அச்சிடப்பட்ட அந்த hashes. 56 00:03:26,620 --> 00:03:29,880 எனவே இது நாம் சூத்திரம் எண்ணிக்கை கணக்கிட பயன்படுத்த 57 00:03:29,880 --> 00:03:32,220 ஒவ்வொரு வரிசையில் hashes. 58 00:03:32,220 --> 00:03:36,020 >> அந்த எண்ணை பயன்படுத்தி, நாம் பின்னர் மற்றொரு வேண்டும் மிகவும் ஒத்த சுழற்சி, ஐந்து 59 00:03:36,020 --> 00:03:41,270 நாம் இடைவெளி பயன்படுத்தப்படும் என்று, லூப் என்று hashes முறை செயல்களை எண் 60 00:03:41,270 --> 00:03:43,720 ஒரு ஹாஷ் ஒவ்வொரு முறை அச்சிடும். 61 00:03:43,720 --> 00:03:46,010 மேல் வரிசையில், என்று கேட்க, இரண்டு hashes அச்சிட. 62 00:03:46,010 --> 00:03:48,390 கீழே வரிசையில், என்று கேட்க, ஒன்பது hashes அச்சிட. 63 00:03:48,390 --> 00:03:52,610 மற்றும் ஒவ்வொரு பிற வரிசையில் ஒவ்வொரு அச்சிட வேண்டும் இடையே உள்ள எண் hashes. 64 00:03:52,610 --> 00:03:57,340 >> பின்னர் மிக இறுதியில், நாம் வேண்டும் அடுத்த செல்ல எங்கள் புதிய வரி அச்சிட 65 00:03:57,340 --> 00:03:59,400 பிரமிடு வரிசையில். 66 00:03:59,400 --> 00:04:03,070 இறுதியாக, நாம் புதிய வரி அச்சிட வேண்டும் வரிசையில் இறுதியில் பொருட்டு மணிக்கு 67 00:04:03,070 --> 00:04:06,260 அடுத்த தொடர்ந்து பிரமிடு வரிசையில். 68 00:04:06,260 --> 00:04:08,980 எங்கள் திட்டம் இறுதியில், நாங்கள் திரும்பி 0 வேண்டும். 69 00:04:08,980 --> 00:04:12,770 >> Pset ஸ்பெக், மீண்டும் படி 0 கண்டிப்பாக அவசியம் இல்லை. 70 00:04:12,770 --> 00:04:15,710 ஆனால் அது முக்கிய செய்யப்படுகிறது என்று குறிக்கிறது. 71 00:04:15,710 --> 00:04:17,610 என் பெயர் ராப், இந்த மரியோ இருந்தது. 72 00:04:17,610 --> 00:04:22,470 >> [இசை கேட்கிறது] 73 00:04:22,470 --> 00:04:25,558