>> DAVID J. MALAN: Antag att vi vill skriva ett program som frågar alla i
ett rum för sin ålder, och sedan skriver ut hur gamla dessa människor kommer att vara en
år framåt?
Nu, uppenbarligen det aritmetiska för detta Problemet kommer att bli ganska
okomplicerad.
Men den intressanta frågan är, om vi vet inte i förväg hur många människor
kommer att vara i det här rummet, hur kunde vi gå om att lagra
alla deras åldrar?
Nåväl, låt oss ta en titt.
>> Låt oss börja med att först föranledde användare, som jag har gjort här, för
Antalet personer i rummet med hjälp av getInt och en gör-while-slinga för att
få ett heltal n.
Antag att vi nu vill be varje sådan person i rummet för deras ålder.
Tja, skulle min instinkt vara att använda en slinga för att göra det att fråga, men jag också
behöver en plats att lagra dessa människors åldrar.
Och min första instinkt skulle det finnas att använda en variabel för den första
personens ålder, en annan variabel för den andra personens ålder,
slags längs linjerna.
Int ålder -
väl, låt oss kalla det en för den första personen.
Int ålder 2 för den andra personen.
Int ålder 3 för den tredje personen.
>> Men vänta lite, är det kanske inte den bästa vägen att gå.
Eftersom jag inte vet i förväg skriva och sammanställa detta program hur
många användare det kommer att bli.
Och dessutom, om det finns så många som 100 användare, förklarar 100 variabler
slags märkligt namngivna som detta inte känns som den allra bästa designen.
>> Jo, tack och lov finns det en annan typ av variabel som kallas en matris som
tillåter oss att lagra valfritt antal ints inne i det, även om vi inte vet
när du skriver mitt program hur många sådana ints vi kommer att behöva.
Så låt oss gå tillbaka och ta bort dessa flera ints och istället ersätta den
med en variabel som heter, säga, åldrar, plural.
Men låt oss ytterligare specificera på denna linje av kod inom hakparenteser som vi
vill n ints.
Och därför kommer vi kollektivt hänvisa till dessa ints som åldrar.
>> Nu på bara ett ögonblick jag kommer att kunna få vid vardera av de ints i denna matris
på samma sätt med hjälp av hakparentes notation, med början på 0.
Så låt oss gå vidare nu i en slinga till uppmanar användarna för deras ålder.
För int jag får 0.
Jag är mindre än N, antalet personer i rummet, jag plus plus.
>> Och nu i denna slinga, låt oss säga printf ålder av personnummer, procent I
är en platshållare, kommatecken.
Och nu, i stället för att börja räkna från 0 i programmet själv, låt oss på
Minst ökning I med 1, så att en normal person som använder det här programmet
behöver inte räkna som en datavetare kanske.
Låt oss nu göra åldrar, fäste jag, på så sätt som anger att det i: te ålder i vår
utbud av åldrar kommer att få returvärde getInt.
>> Nu under denna slinga, låt oss gå vidare att anta att en viss tid passerar.
Och låt oss nu gå vidare i en annan slinga att faktiskt åldras alla i rummet
med ett år.
Så återigen, om int jag får 0, är ​​jag mindre än N, antalet personer i
rum, jag plus plus.
>> Och nu inne i denna slinga, låt oss säga printf ett år från nu personnummer,
procent Jag är en platshållare, kommer vara, är procent jag en annan
platshållare, år gammal.
Och sedan för att koppla in dem platshållare, låt oss först säga att jag plus
1, så att vi återigen börjar räkna för användaren från 1.
Och sedan ska vi koppla in den personens ålder som åldrar fäste jag plus 1, och därigenom
specificera gå få den i: te ålder i vår utbud av åldrar, tillsätt 1 till den, och sedan
sätt in den summan i vår placeholder, nära paren, semikolon.
>> Låt oss nu kompilera programmet med make åldrar, och låt oss köra den med prick
slash åldrar.
Och antar att det bara finns tre personer i rummet, och någon är 18,
någon som är 19, är någon 20.
Tja, i ett år, var och en av de folks kommer att vara 19, 20, och 21,
respektive.