>> DAVID J. MALAN: Anta at vi ønsker å skrive et program som ber alle i
et rom for deres alder, og deretter utskrifter ut hvor gammel disse menneskene vil være en
år derav?
Nå, åpenbart den aritmetiske for dette problemet kommer til å være ganske
ukomplisert.
Men det interessante spørsmålet er, hvis vi vet ikke på forhånd hvor mange mennesker
kommer til å være i dette rommet, hvor kunne vi gå om lagring
alle deres alder?
Vel, la oss ta en titt.
>> La oss begynne med å først spørre bruker, som jeg har gjort her, for den
antall personer i rommet ved hjelp getInt og en do-while-loop for å
få et heltall n.
Anta at vi nå ønsker å spørre hver slik person i rommet for deres alder.
Vel, ville mine instinkter være å bruke en sløyfe for å gjøre det å spørre, men jeg har også
trenger et sted å oppbevare disse folks aldre.
Og mine første instinkter det ville være å bruke en variabel for den første
personens alder, en annen variabel for den andre personens alder,
liksom langs linjene.
Int alder -
vel, la oss kalle det en for den første personen.
Int alder 2 for den andre personen.
Int alder 3 for den tredje personen.
>> Men vent litt, er dette kanskje ikke den beste veien å gå ned.
Fordi jeg ikke vet på forhånd om å skrive og kompilere dette programmet hvordan
mange brukere der ute kommer til å være.
Og dessuten, hvis det er så mange som 100 brukere, erklærte 100 variabler
slags merkelig navn som dette ikke føler meg som den aller beste design.
>> Vel, heldigvis finnes det en annen type variabel kalles en matrise som
tillater oss å lagre en rekke ints innsiden av det, selv om man ikke kjenner
når du skriver mitt program hvor mange slike ints vi kommer til å trenge.
Så la oss backtrack og slette disse flere ints, og i stedet erstatte den
med en variabel kalt, si, aldre, flertall.
Men la oss videre spesifisere på denne linjen av koden i hakeparentes som vi
vil n ints.
Og derfor vil vi kollektivt referere til disse ints som aldre.
>> I løpet av et øyeblikk vil jeg være i stand til å få på hver av de ints i denne matrise
på lignende måte ved hjelp av hakeparentes notasjon, som starter på 0.
Så la oss fortsette nå i en sløyfe til ber brukerne for deres alder.
For int får jeg 0.
I er mindre enn N, antall personer i rommet, jeg pluss pluss.
>> Og nå innenfor denne sløyfen, la oss si printf alder av person nummer, prosent jeg
er en plassholder, komma.
Og nå, i stedet for å begynne å telle fra 0 i selve programmet, la oss på
Minst tilvekst I ved en, slik at en normal person som bruker dette programmet
trenger ikke å telle som en datamaskin vitenskaps makt.
La oss nå gjøre aldre, brakett jeg, og dermed spesifiserer at i-te alder i vår
spekter av aldre kommer til å få returverdien av getInt.
>> Nå under denne sløyfen, la oss fortsette å anta at noen tiden går.
Og la oss nå fortsette i en annen sløyfe til faktisk alder alle i rommet
med ett år.
Så igjen, for int jeg får 0, er jeg mindre enn N, antall personer i
rom, jeg pluss pluss.
>> Og nå inne i denne sløyfen, la oss si printf et år fra nå person nummer,
prosent Jeg er en plassholder, vil være, er prosent jeg en annen
plassholder, år gammel.
Og deretter å plugge inn de plassholdere, la oss først si jeg pluss
En, slik at vi igjen begynne å telle for brukeren fra en.
Og så la oss plugge i den personens alder som aldre brakett jeg pluss en, og dermed
spesifiserer farten få i-th alder i vår spekter av aldre, legger en til den, og deretter
setter den summen inn i vår plassholder, nære paren, semikolon.
>> La oss nå kompilere dette programmet med make aldre, og la oss kjøre den med prikk
slash aldre.
Og anta at det er bare tre mennesker i rommet, og noen er 18,
noen er 19, noen er 20..
Vel, i et år, hver av de folkene kommer til å være 19, 20, og 21,
respektivt.