>> David J. Malan dink ons ​​wil skryf 'n program wat almal in vra
'n kamer vir hul ouderdom, en dan druk uit te vind hoe oud die mense 'n sal wees
jaar vandaar?
Nou, natuurlik die rekenkundige vir hierdie probleem gaan redelik wees
eenvoudig.
Maar die interessante vraag is, as ons nie vooraf weet hoeveel mense
gaan wees in hierdie kamer, hoe kon ons gaan oor die stoor
al hul ouderdomme?
Wel, laat ons neem 'n blik.
>> Kom ons begin deur eers waarna die gebruiker, as ek hier gedoen het, vir die
aantal mense in die kamer met behulp van getint en 'n do-while lus om te
kry 'n heelgetal n.
Gestel ons wil nou elke sodanige vra persoon in die kamer vir hul ouderdom.
Wel, sou my instink wees om te gebruik om 'n lus om dit te doen waarna, maar ek het ook
'n plek om te stoor die mense se ouderdomme.
En my eerste instink sou daar 'n veranderlike te gebruik vir die eerste
persoon se ouderdom, 'n ander veranderlike Vir die tweede persoon se ouderdom,
soort van saam lyne.
Int ouderdom -
Wel, kom ons noem dit 1 vir die eerste persoon.
Int ouderdom 2 vir die tweede persoon.
Int die ouderdom van 3 vir die derde persoon.
>> Maar wag 'n minuut, is dit nie dalk die beste pad om te gaan.
Omdat ek weet nie in die hand van skryf en die opstel van hierdie program hoe
baie gebruikers daar gaan wees.
Verder, as daar is soveel as 100 gebruikers, verklaar 100 veranderlikes
soort van eienaardige naam soos hierdie nie voel soos die beste ontwerp.
>> Wel, gelukkig bestaan ​​daar 'n ander tipe veranderlike genoem 'n skikking wat
laat ons 'n aantal van ints te stoor binnekant van dit, selfs al is ons nie weet nie
toe my program te skryf hoeveel so ints ons gaan nodig hê.
So laat terugstap en verwyder hierdie verskeie ints, en plaas dit vervang
met een veranderlike genoem, sê, ouderdomme, meervoud.
Maar laat ons verder spesifiseer op hierdie lyn van die kode in vierkantige hakies dat ons
wil n ints.
En daarom sal ons gesamentlik verwys na hierdie ints as ouderdomme.
>> Nou in 'n oomblik sal ek in staat wees om te kry by elk van die ints in hierdie reeks
Net so by wyse van vierkante hakies notasie, begin by 0.
So laat ons nou voortgaan in 'n lus om te gevra om die gebruikers vir hul ouderdomme.
Vir int ek kry 0.
Ek is minder as N, die aantal mense wat in die kamer, ek plus plus.
>> En nou in hierdie lus, kom ons sê printf ouderdom van persoon nommer, persent Ek
is 'n plekhouer, komma.
En nou, eerder as om te begin tel van 0 in die program self, kom ons by
minste inkrement ek met 1 so dat 'n normale persoon met behulp van hierdie program
hoef nie te tel soos 'n rekenaar wetenskaplike krag.
Kom ons doen nou ouderdomme, bracket ek, en daardeur spesifiseer dat die i-de ouderdom in ons
verskeidenheid van ouderdomme is die gang te kry die terugkeer waarde van getint.
>> Nou onder om die lus, laat ons voortgaan om te aanvaar dat 'n geruime tyd gaan.
En laat ons nou voortgaan in 'n ander loop om werklik almal in die kamer Ouderdom
deur een jaar.
So weer, want ek kry int 0, ek is minder as N, die aantal mense wat in die
kamer, ek plus plus.
>> En nou binnekant van die loop, kom ons sê printf 'n jaar van nou af persoon nommer,
persent Ek is 'n plekhouer, sal wees, persent Ek is 'n ander
bevat, jaar oud.
En dan aan te sluit in die plekhouers, laat ons eers sê ek plus
1, sodat ons weer begin tel vir die gebruiker van 1.
En dan laat prop in daardie persoon se ouderdom as ouderdomme bracket Ek plus 1, en daardeur
vermelding van die i-de ouderdom gaan kry in ons verskeidenheid van ouderdomme, voeg 1 tot dit, en dan
voeg dat som in ons plekhouer, naby paren, kommapunt.
>> Kom ons nou hierdie program saam te stel met die make ouderdomme, en laat dit loop met dot
streep ouderdomme.
En veronderstel dat daar net drie mense in die kamer, en iemand is 18,
iemand is 19, iemand is 20.
Wel, in 'n jaar, elkeen van daardie mense gaan wees 19, 20 en 21,
onderskeidelik.