1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB אודן: היי, אני רוב, ובוא לקפוץ להאקר המהדורה של מריו. 3 00:00:18,290 --> 00:00:21,760 דבר אז קודם כל שאנחנו צריכים לעשות הוא לקבל את הגובה מהמשתמש. 4 00:00:21,760 --> 00:00:26,290 כאן אנחנו מבקשים מהם מספר שלם שאינו שלילי פחות מ -24 ו 5 00:00:26,290 --> 00:00:31,710 אנחנו משתמשים בפונקצית CS50 GetInt כדי לתפוס את המספר השלם שמהמשתמש. 6 00:00:31,710 --> 00:00:35,260 אנחנו רואים שאנחנו בתוך לולאה עשה בזמן שימשיך לולאה כל עוד 7 00:00:35,260 --> 00:00:38,400 הגובה הוא גדול יותר מאשר 23 או פחות מ 0. 8 00:00:38,400 --> 00:00:42,850 וכך אנחנו נמשיך עד שהמשתמש בעצם נותן לנו את מה שאנחנו רוצים. 9 00:00:42,850 --> 00:00:46,960 >> ברגע שיש לנו גובה ש, אנחנו מקבלים העיקרי ללולאה של התכנית שלנו. 10 00:00:46,960 --> 00:00:49,510 המבט הראשון אז בואו בירושלים ממפרט pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 אנו רואים בדוגמא זו כי כאשר אנו להיכנס לגובה של 4, בשורה התחתונה 13 00:00:56,940 --> 00:01:01,520 ראשון מדפיס ארבעה Hash, שני חללים, ועוד ארבעה אלגוריתמים Hash. 14 00:01:01,520 --> 00:01:06,280 >> אז שורה אחת מעל שמדפיסה אחד שלושה אלגוריתמי Hash החלל, שני חללים ל 15 00:01:06,280 --> 00:01:09,690 להפריד את הפירמידות, ו לאחר מכן עוד שלושה אלגוריתמים Hash. 16 00:01:09,690 --> 00:01:13,460 ומעל לזה, שני חללים, שני אלגוריתמים Hash, שני חללים, שני אלגוריתמים Hash. 17 00:01:13,460 --> 00:01:18,090 ולבסוף, שלושה חללים אחד חשיש, שני חללי חשיש אחד. 18 00:01:18,090 --> 00:01:20,980 אז אתה צריך להתחיל לשים לב כאן הדפוס. 19 00:01:20,980 --> 00:01:22,545 >> בואו נסתכל על הקוד של איך אנחנו הולכים לעשות את זה. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 אנו רואים כאן שאנחנו iterating על כל השורות של הפירמידה. 22 00:01:28,840 --> 00:01:31,720 ראשית אנו רוצים לחשב מספר החללים. 23 00:01:31,720 --> 00:01:34,690 ולזכור שאנחנו צריכים להתחיל ב ראש הפירמידה ואת העבודה שלנו 24 00:01:34,690 --> 00:01:37,790 הדרך למטה מאז שאנחנו לא יכולים להדפיס תחתון ואז שורה אחת למעלה ו 25 00:01:37,790 --> 00:01:39,140 אז שורה אחת למעלה. 26 00:01:39,140 --> 00:01:44,030 אז בחלק העליון של הפירמידה, ההודעה כי מספר החללים שווה 27 00:01:44,030 --> 00:01:45,720 גובה מינוס 1. 28 00:01:45,720 --> 00:01:50,120 אנחנו הולכים להדפיס שלושה מקומות לאחר מכן חשיש אחד ולאחר מכן שני חללים ל 29 00:01:50,120 --> 00:01:53,350 נפרד וחשיש אחר. 30 00:01:53,350 --> 00:01:57,320 >> אז רווחים שווה שורת מינוס גובה. 31 00:01:57,320 --> 00:02:03,180 אם השורה היא 1 והגובה שלנו הוא 4, שאתן לנו 3 מקומות, כמו שאנחנו רוצים. 32 00:02:03,180 --> 00:02:06,900 אז זה ללולאה רק הדפסים מספר זה של רווחים. 33 00:02:06,900 --> 00:02:12,630 אם רווחים הוא שלוש, ולאחר מכן אנחנו הולכים ליצור חלל אחד שלוש פעמים. 34 00:02:12,630 --> 00:02:18,750 >> בהמשך, עכשיו אנחנו רוצים להדפיס hashes של הפירמידה השמאלית, שהוא 35 00:02:18,750 --> 00:02:20,630 פשוט שווה למספר השורה. 36 00:02:20,630 --> 00:02:23,250 במבט לאחור כאן, בשורה אחד, אנחנו להדפיס חשיש אחד. 37 00:02:23,250 --> 00:02:25,960 בשורה שני להדפיס שני, ב שורה השלוש להדפיס שלוש. 38 00:02:25,960 --> 00:02:30,440 פעמים שורה אז אנחנו פשוט לולאה סמל חשיש הדפסה. 39 00:02:30,440 --> 00:02:34,830 אז עבור כל השורות של הפירמידה, אנו להדפיס בדיוק שני רווחים על מנת להפריד 40 00:02:34,830 --> 00:02:36,360 אלו פירמידות. 41 00:02:36,360 --> 00:02:39,590 >> ולבסוף, אנו רוצים להדפיס את הזכות הצד השני של הפירמידה, שהוא 42 00:02:39,590 --> 00:02:42,160 שוב אותו המספר של Hash כמו בצד השמאל. 43 00:02:42,160 --> 00:02:45,680 וכך זה אותו הדבר בדיוק ללולאה כאמור כאן. 44 00:02:45,680 --> 00:02:49,445 לבסוף, אנחנו צריכים ליצור שורה חדשה ב כדי לעבור לשורה הבאה של 45 00:02:49,445 --> 00:02:51,690 הפירמידה ולהמשיך בהדפסה. 46 00:02:51,690 --> 00:02:53,010 וזהו זה. 47 00:02:53,010 --> 00:02:54,860 השם שלי הוא רוב וזה היה מריו. 48 00:02:54,860 --> 00:03:01,718