דוד י מלאן: נניח שאנחנו רוצים לכתוב תכנית ששואלת את כולם ב מקום לגיל שלהם, ולאחר מכן הדפסים איך הזקנים האלה יהיו בעוד שנה? עכשיו, ברור שהחשבון לכך הבעיה הולכת להיות די פשוט. אבל השאלה מעניינת היא, אם אנחנו לא יודע מראש כמה אנשים הולכים להיות בחדר הזה, איך אנחנו יכולים ללכת על אחסון כל הגילים שלהם? ובכן, בואו נסתכל. בואו נתחיל על ידי שגרם ראשון למשתמש, כפי שעשיתי כאן, ל מספר האנשים בחדר באמצעות getInt ולולאה עשה תוך כדי מקבל n מספר שלם. נניח שעכשיו אנחנו רוצים לבקש מכל כזה אדם בחדר לגילם. ובכן, האינסטינקטים שלי יהיו להשתמש לולאה לעשות את זה מה שגרם, אבל אני גם צריך מקום לאחסון הגילים של האנשים האלה. והאינסטינקטים הראשונים שלי יהיו כדי להשתמש במשתנה בפעם הראשונה בגילו של האדם, משתנה אחר לגילו של האדם השני, סוג של קווים. גיל Int - טוב, בואו נקראים לזה 1 ל האדם הראשון. Int גיל 2 לאדם השני. Int גיל 3 לאדם השלישי. אבל רגע, זה לא אולי הדרך הטובה ביותר כדי לרדת. כי אני לא יודע מראש של כתיבה ועריכת תכנית זו איך משתמשים רבים יש הולכים להיות. ויותר מכך, אם יש רבים כמו 100 משתמשים, מכריזים 100 משתנים סוג של שם מוזר כמו שזה עושה לא מרגיש כמו העיצוב הטוב ביותר. ובכן, לשמחתי קיים עוד סוג של משתנה בשם מערך ש מאפשר לנו לאחסן כל מספר של ints בתוכו, גם אם אנחנו לא יודעים בעת כתיבת התכנית שלי כמה ints כזה אנחנו הולכים צריכים. אז בואו לסגת ולמחוק אותם כמה ints, ובמקום להחליף אותו עם משתנים אחד בשם, אומר, גילים, בלשון רבים. אבל בואו עוד יותר לציין בקו זה של קוד בסוגריים מרובעים שאנחנו רוצה ints n. ולכן, באופן קולקטיבי יהיו מתייחס לints אלה כגילים. עכשיו ברגע שאני אצליח להגיע בכל אחד מints במערך זה באופן דומה בדרך של סוגר מרובע סימון, החל מהשעה 0. אז בואו נמשיך בחברה בלולאה להנחות את המשתמשים לגילים שלהם. עבור int אני מקבל 0. אני הוא פחות מ N, את מספר האנשים בחדר, אני פלוס פלוס. ועכשיו בתוך לולאה זו, נניח גיל printf של מספר האדם, אני אחוזים הוא מציין מיקום, פסיק. ועכשיו, במקום להתחיל לספור מ 0 בתכנית עצמה, בוא ב אני תוספת לפחות עד 1 בכך שרגיל אדם המשתמש בתכנית זו לא צריך לספור כמו כוח מדען מחשב. עכשיו בואו נעשה גילים, אני סוגר, ובכך המפרט כי גיל i-th בנו מערך של גילים הולך לקבל ערך ההחזרה של getInt. עכשיו מתחת ללולאה זו, בואו נמשיך להניח שזמן עובר. ובואו עכשיו להמשיך בלולאה אחרת בעצם מזדקן כולם בחדר בשנה אחת. אז שוב, לint אני מקבל 0, אני פחות מ N, את מספר האנשים ב חדר, אני בתוספת בתוספת. ועכשיו בתוך לולאה זו, נניח printf שנה ממספר האדם, אני אחוזים הוא מציין מיקום, יהיה להיות, אני אחוזים הוא עוד מציין מיקום, ישן שנים. ולאחר מכן לחבר לאלה מצייני מיקום, בואו נגיד שאני ראשון בתוספת 1, כך ששוב נתחיל לספור עבור המשתמש מ1. ואז בואו נחבר בגילו של אותו האדם כמו שאני סוגר גילים בתוספת 1, ובכך המפרט דרכים לקבל את גיל i-th בנו מערך של גילים, להוסיף 1 אליו, ולאחר מכן הכנס סכום שלמיקום שלנו, paren קרוב, פסיק. בואו עכשיו לקמפל תכנית זו עם איפור גילים, ובואו להפעיל אותו בנקודה סלאש גילים. ונניח שיש רק שלושה אנשים בחדר, ומישהו הוא 18, מישהו 19, מישהו 20. ובכן, בשנה, כל אחד מהאנשים האלה הולך להיות 19, 20, ו21, בהתאמה.