1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB Bowden: Saluton, mi estas Rob, kaj ni salti en la hacker eldono de Mario. 3 00:00:18,290 --> 00:00:21,760 Do unue ni devas fari estas akiri la alteco de la uzanto. 4 00:00:21,760 --> 00:00:26,290 Ĉi tie ni petas ilin por nenegativa entjero malpli ol 24 kaj 5 00:00:26,290 --> 00:00:31,710 ni uzas la CS50 GetInt funkcio ekpreni ke entjero de la uzanto. 6 00:00:31,710 --> 00:00:35,260 Ni vidas, ke ni estas ene de la do-while buklo ke daŭrigos looping tiel longe kiel 7 00:00:35,260 --> 00:00:38,400 alteco estas pli granda ol 23 aŭ malpli ol 0. 8 00:00:38,400 --> 00:00:42,850 Kaj tial ni daŭrigu ĝis la uzanto efektive donas al ni, kio ni volas. 9 00:00:42,850 --> 00:00:46,960 >> Iam ni havi tiun altecon, ni atingos la ĉefa por buklo de nia programo. 10 00:00:46,960 --> 00:00:49,510 Do ni unue rigardu ekzemplon el la pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Ni vidas en ĉi tiu ekzemplo, ke kiam ni eniri altecon de 4, la malsupro vico 13 00:00:56,940 --> 00:01:01,520 unuaj presas kvar hashes, du spacoj, kaj kvar pli hashes. 14 00:01:01,520 --> 00:01:06,280 >> Tiam unu vico super kiu presas unu spaco tri hashes, du spacoj al 15 00:01:06,280 --> 00:01:09,690 disigi la piramidoj, kaj tiam tri plej hashes. 16 00:01:09,690 --> 00:01:13,460 Kaj super tio, du spacoj, du hashes, du spacoj, du hashes. 17 00:01:13,460 --> 00:01:18,090 Kaj fine, tri spacoj unu Baldaux, du spacoj unu hash. 18 00:01:18,090 --> 00:01:20,980 Do vi devus komenci rimarki la mastro ĉi tie. 19 00:01:20,980 --> 00:01:22,545 >> Ni rigardu la kodon por kiom ni tuj faros. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Oni vidas ĉi tie ke ni ripetanta super ĉiuj vicoj de la piramido. 22 00:01:28,840 --> 00:01:31,720 Unue ni deziras kalkuli la nombro de spacoj. 23 00:01:31,720 --> 00:01:34,690 Kaj memoru ke ni devas komenci ĉe la supro de la piramido kaj laboras niaj 24 00:01:34,690 --> 00:01:37,790 vojo malsupren ekde ni ne povas presi la malsupro tiam unu vico supren kaj 25 00:01:37,790 --> 00:01:39,140 tiam unu vico supren. 26 00:01:39,140 --> 00:01:44,030 Do, je la supro de la piramido, avizo ke la nombro de spacoj estas egala al 27 00:01:44,030 --> 00:01:45,720 alteco minus 1. 28 00:01:45,720 --> 00:01:50,120 Ni tuj presi tri spacoj tiam unu hash kaj tiam du spacoj al 29 00:01:50,120 --> 00:01:53,350 apartan kaj alia hash. 30 00:01:53,350 --> 00:01:57,320 >> Do spacoj estas egala al alteco minus vico. 31 00:01:57,320 --> 00:02:03,180 Se la vico estas 1 kaj nia alteco estas 4, kiuj donos al ni la 3 spacoj, kiel ni deziras. 32 00:02:03,180 --> 00:02:06,900 Tiam ĉi por buklo ĝuste printaĵoj ke nombro de spacoj. 33 00:02:06,900 --> 00:02:12,630 Se spacoj estas tri, poste ni iras al krei sola spaco trifoje. 34 00:02:12,630 --> 00:02:18,750 >> Daŭrigante, nun ni deziras presi la hashes de la maldekstra piramidon, kiu estas 35 00:02:18,750 --> 00:02:20,630 ĝuste egala al la vico nombro. 36 00:02:20,630 --> 00:02:23,250 Rerigardante tie, en vico unu, ni presi unu hash. 37 00:02:23,250 --> 00:02:25,960 En vico du ni presas du, en vico tri ni presi tri. 38 00:02:25,960 --> 00:02:30,440 Do ni simple buklo vico fojoj impreso hash simbolo. 39 00:02:30,440 --> 00:02:34,830 Tiam por ĉiuj vicoj de la piramido, ni presi ekzakte du spacoj disigi 40 00:02:34,830 --> 00:02:36,360 tiuj piramidoj. 41 00:02:36,360 --> 00:02:39,590 >> Kaj fine, ni deziras presi la dekstra flanko de la piramido, kiu estas 42 00:02:39,590 --> 00:02:42,160 denove la sama nombro de hashes kiel la maldekstra flanko. 43 00:02:42,160 --> 00:02:45,680 Kaj tial ĝi estas la sama ĝusta por buklo kiel supre tie. 44 00:02:45,680 --> 00:02:49,445 Fine, ni bezonas krei novan linion en Por pluiri al la sekva vico de 45 00:02:49,445 --> 00:02:51,690 la piramido kaj daŭrigi presado. 46 00:02:51,690 --> 00:02:53,010 Kaj tio estas ĝi. 47 00:02:53,010 --> 00:02:54,860 Mia nomo estas Rob kaj tio estis Mario. 48 00:02:54,860 --> 00:03:01,718