1 00:00:00,000 --> 00:00:00,982 2 00:00:00,982 --> 00:00:11,293 >> [MUSIC PLAYING] 3 00:00:11,293 --> 00:00:13,580 >> Rob Bowden: Bu, Rob mənim. 4 00:00:13,580 --> 00:00:16,540 Necə vasitəsilə gəzmək edək Mario həyata keçirmək. 5 00:00:16,540 --> 00:00:21,040 Beləliklə, biz nə etmək lazımdır ilk şey giriş üçün istifadəçi təklif. 6 00:00:21,040 --> 00:00:24,440 >> Biz dəqiq necə onlara lazımdır hündür piramida olmalıdır. 7 00:00:24,440 --> 00:00:27,110 Belə ki, burada, biz bunu edirik görürük height = GetInt. 8 00:00:27,110 --> 00:00:32,479 Bir və xatırlayıram ki, bu GetInt funksiyası CS50 həyata keçirilir 9 00:00:32,479 --> 00:00:38,060 kitabxana, belə ki, üst qədər, biz lazımdır # unutmayın cs50.h. daxil 10 00:00:38,060 --> 00:00:41,360 >> Belə ki, niyə biz bu bükülmüş var bir do-isə loop? 11 00:00:41,360 --> 00:00:45,080 Bəli, biz də xatırlamaq lazımdır istifadəçi giriş etibarlı olmalıdır. 12 00:00:45,080 --> 00:00:46,910 Yalnış giriş nədir? 13 00:00:46,910 --> 00:00:51,460 Yaxşı pset spec xüsusi deyir ki, bir hündürlüyü az 0 və ya daha çox 14 00:00:51,460 --> 00:00:54,530 23 yanlışdır daha. 15 00:00:54,530 --> 00:00:59,030 >> Belə ki, burada, biz müəyyən etdiyiniz bax ilə MAX_HEIGHT adlı daimi 16 00:00:59,030 --> 00:01:00,750 23 dəyəri. 17 00:01:00,750 --> 00:01:06,380 Bu do-isə loop müddət davam edəcək hündürlüyü az 0 və ya MAX_HEIGHT edir 18 00:01:06,380 --> 00:01:11,870 o deməkdir ki, boyu, az 23 hündürlüyü azdır. 19 00:01:11,870 --> 00:01:15,390 Hündürlüyü 24 və ya daha çox Belə ki, biz istəyirik loop davam. 20 00:01:15,390 --> 00:01:18,300 Xatırla ki, do-isə loops olduqca faydalı əldə etmək istədiyiniz zaman 21 00:01:18,300 --> 00:01:22,070 istifadəçi girişi və o vaxtdan bəri, doğrulamak biz istər-istəməz da istifadəçi soruşmaq lazımdır 22 00:01:22,070 --> 00:01:25,010 ən azı bir dəfə istədikləri dəyəri. 23 00:01:25,010 --> 00:01:28,500 >> Belə ki, bir dəfə biz onların daxil var, biz İndi piramida inşa edə bilərsiniz. 24 00:01:28,500 --> 00:01:31,940 Müəyyən bu problemin tövsiyələr biri biz üst başlamaq lazımdır ki, 25 00:01:31,940 --> 00:01:32,750 piramida. 26 00:01:32,750 --> 00:01:36,800 Siz alt printf bilməz piramida və sonra yol yaratmaq. 27 00:01:36,800 --> 00:01:38,830 Belə ki, misal baxaq pset spec olan. 28 00:01:38,830 --> 00:01:41,530 29 00:01:41,530 --> 00:01:45,430 >> Biz burada görürük ki, biz bir boyu daxil edərkən 8, ən çox alt 30 00:01:45,430 --> 00:01:48,660 piramida doqquz hashes görüntüler. 31 00:01:48,660 --> 00:01:52,990 Ki, bir səviyyədə up izləri bir yer və səkkiz hashes. 32 00:01:52,990 --> 00:01:58,250 Ki, bir səviyyədə iki fəzalarında və yeddi hashes, bütün yol qədər 33 00:01:58,250 --> 00:02:03,050 olan piramida, üst almaq yeddi yazdıran up səkkiz səviyyəsi, 34 00:02:03,050 --> 00:02:06,000 boşluq və iki hashes. 35 00:02:06,000 --> 00:02:08,810 Beləliklə, biz var unutmayın ki, ilk bu top səviyyəsi nə. 36 00:02:08,810 --> 00:02:11,620 37 00:02:11,620 --> 00:02:18,500 >> Burada iterating edirik üst, sıra 8, davam 38 00:02:18,500 --> 00:02:22,150 sıra 0 çatana qədər. 39 00:02:22,150 --> 00:02:25,820 Belə ki, necə biz çox boşluq lazım idi ki, üst sıra çap? 40 00:02:25,820 --> 00:02:29,310 Biz yeddi boşluq çap və iki hashes. 41 00:02:29,310 --> 00:02:34,450 Beləliklə, biz istəyirik fəzalarında sayı minus 1 ki, satır. 42 00:02:34,450 --> 00:02:39,310 >> Üst sıra 8, 8 minus varsa 1 bizə yeddi fəzalarında verir. 43 00:02:39,310 --> 00:02:43,770 Sonra çap edəcək bir loop var bir zamanda hər bir kosmik bir out. 44 00:02:43,770 --> 00:02:47,450 Belə ki, fəzalarında bu loop, 7 yeddi dəfə, poliqrafiya 45 00:02:47,450 --> 00:02:50,300 yeddi fərdi boşluq. 46 00:02:50,300 --> 00:02:54,672 >> Belə ki, indi biz bu hashes çap etmək lazımdır piramida sonunda. 47 00:02:54,672 --> 00:02:57,930 Odur ki, biz hesablamaq lazımdır hashes sayı. 48 00:02:57,930 --> 00:03:01,930 Biz boyu edirik görə minus sıra plus 2. 49 00:03:01,930 --> 00:03:04,170 Belə ki, necə ki, əldə etdiniz? 50 00:03:04,170 --> 00:03:08,630 >> Xatırla ki, piramidanın üst sıra 8, hündürlüyü 8-dir. 51 00:03:08,630 --> 00:03:10,890 Və biz hələ iki hashes çap. 52 00:03:10,890 --> 00:03:15,420 Belə ki, ən azı, 8 minus 8 plus 2 bizə düzgün cavab verir. 53 00:03:15,420 --> 00:03:19,170 Və sonra alt hesab piramidanın, 1 satır. 54 00:03:19,170 --> 00:03:24,020 Boy minus sıra bizə 7 verəcək və sonra plus 2 bizə doqquz hashes verir, 55 00:03:24,020 --> 00:03:26,620 olan dəqiq sayı biz çap hashes. 56 00:03:26,620 --> 00:03:29,880 Belə ki, bu biz istədiyiniz düstur sayını hesablamaq üçün istifadə 57 00:03:29,880 --> 00:03:32,220 hər bir sırada hashes. 58 00:03:32,220 --> 00:03:36,020 >> Ki sayı istifadə edərək, sonra başqa var Bu çox oxşar loop üçün 59 00:03:36,020 --> 00:03:41,270 Biz fəzalarında üçün istifadə ki, loop üçün, ki, hashes dəfə iterates sayı 60 00:03:41,270 --> 00:03:43,720 bir hash hər zaman çap. 61 00:03:43,720 --> 00:03:46,010 Üst sırada ki, lazımdır iki hashes çap. 62 00:03:46,010 --> 00:03:48,390 Alt sıra ki, lazımdır doqquz hashes çap. 63 00:03:48,390 --> 00:03:52,610 Və hər bir digər cərgə hər çap edəcək arasında hashes sayı. 64 00:03:52,610 --> 00:03:57,340 >> Və sonra çox sonunda, biz lazımdır növbəti getmək üçün yeni çap 65 00:03:57,340 --> 00:03:59,400 piramida satır. 66 00:03:59,400 --> 00:04:03,070 Nəhayət, biz yeni xətt çap etmək lazımdır sıra sonunda üçün at 67 00:04:03,070 --> 00:04:06,260 növbəti davam Piramidanın sıra. 68 00:04:06,260 --> 00:04:08,980 Və proqram sonunda, biz qaytarılması 0. 69 00:04:08,980 --> 00:04:12,770 >> Pset spec, qaytarılması görə 0 ciddi lazım deyil. 70 00:04:12,770 --> 00:04:15,710 Amma bu əsas edilir ki, demek etmir. 71 00:04:15,710 --> 00:04:17,610 My name Rob və bu Mario idi. 72 00:04:17,610 --> 00:04:22,470 >> [MUSIC PLAYING] 73 00:04:22,470 --> 00:04:25,558