ROB אודן: היי, אני רוב, ובוא לקפוץ להאקר המהדורה של מריו. דבר אז קודם כל שאנחנו צריכים לעשות הוא לקבל את הגובה מהמשתמש. כאן אנחנו מבקשים מהם מספר שלם שאינו שלילי פחות מ -24 ו אנחנו משתמשים בפונקצית CS50 GetInt כדי לתפוס את המספר השלם שמהמשתמש. אנחנו רואים שאנחנו בתוך לולאה עשה בזמן שימשיך לולאה כל עוד הגובה הוא גדול יותר מאשר 23 או פחות מ 0. וכך אנחנו נמשיך עד שהמשתמש בעצם נותן לנו את מה שאנחנו רוצים. ברגע שיש לנו גובה ש, אנחנו מקבלים העיקרי ללולאה של התכנית שלנו. המבט הראשון אז בואו בירושלים ממפרט pset. אנו רואים בדוגמא זו כי כאשר אנו להיכנס לגובה של 4, בשורה התחתונה ראשון מדפיס ארבעה Hash, שני חללים, ועוד ארבעה אלגוריתמים Hash. אז שורה אחת מעל שמדפיסה אחד שלושה אלגוריתמי Hash החלל, שני חללים ל להפריד את הפירמידות, ו לאחר מכן עוד שלושה אלגוריתמים Hash. ומעל לזה, שני חללים, שני אלגוריתמים Hash, שני חללים, שני אלגוריתמים Hash. ולבסוף, שלושה חללים אחד חשיש, שני חללי חשיש אחד. אז אתה צריך להתחיל לשים לב כאן הדפוס. בואו נסתכל על הקוד של איך אנחנו הולכים לעשות את זה. אנו רואים כאן שאנחנו iterating על כל השורות של הפירמידה. ראשית אנו רוצים לחשב מספר החללים. ולזכור שאנחנו צריכים להתחיל ב ראש הפירמידה ואת העבודה שלנו הדרך למטה מאז שאנחנו לא יכולים להדפיס תחתון ואז שורה אחת למעלה ו אז שורה אחת למעלה. אז בחלק העליון של הפירמידה, ההודעה כי מספר החללים שווה גובה מינוס 1. אנחנו הולכים להדפיס שלושה מקומות לאחר מכן חשיש אחד ולאחר מכן שני חללים ל נפרד וחשיש אחר. אז רווחים שווה שורת מינוס גובה. אם השורה היא 1 והגובה שלנו הוא 4, שאתן לנו 3 מקומות, כמו שאנחנו רוצים. אז זה ללולאה רק הדפסים מספר זה של רווחים. אם רווחים הוא שלוש, ולאחר מכן אנחנו הולכים ליצור חלל אחד שלוש פעמים. בהמשך, עכשיו אנחנו רוצים להדפיס hashes של הפירמידה השמאלית, שהוא פשוט שווה למספר השורה. במבט לאחור כאן, בשורה אחד, אנחנו להדפיס חשיש אחד. בשורה שני להדפיס שני, ב שורה השלוש להדפיס שלוש. פעמים שורה אז אנחנו פשוט לולאה סמל חשיש הדפסה. אז עבור כל השורות של הפירמידה, אנו להדפיס בדיוק שני רווחים על מנת להפריד אלו פירמידות. ולבסוף, אנו רוצים להדפיס את הזכות הצד השני של הפירמידה, שהוא שוב אותו המספר של Hash כמו בצד השמאל. וכך זה אותו הדבר בדיוק ללולאה כאמור כאן. לבסוף, אנחנו צריכים ליצור שורה חדשה ב כדי לעבור לשורה הבאה של הפירמידה ולהמשיך בהדפסה. וזהו זה. השם שלי הוא רוב וזה היה מריו.