1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Segjum að við viljum að skrifa forrit sem spyr í öllum 2 00:00:03,160 --> 00:00:06,740 herbergi fyrir aldri þeirra, og prentar síðan út hversu gamall sem fólk verður 3 00:00:06,740 --> 00:00:07,520 að ári liðnu? 4 00:00:07,520 --> 00:00:09,900 Nú, augljóslega reiknað fyrir þetta Vandamálið er að fara að vera nokkuð 5 00:00:09,900 --> 00:00:10,660 einföld. 6 00:00:10,660 --> 00:00:14,090 En áhugaverð spurning er, ef við veit ekki fyrirfram hversu margir 7 00:00:14,090 --> 00:00:16,790 eru að fara að vera í þessu herbergi, hvernig gætum við förum um að geyma 8 00:00:16,790 --> 00:00:17,980 allar aldri þeirra? 9 00:00:17,980 --> 00:00:19,680 Jæja, við skulum taka a útlit. 10 00:00:19,680 --> 00:00:22,760 >> Skulum byrja á því fyrst vekur notandi, eins og ég hef gert hér, fyrir 11 00:00:22,760 --> 00:00:26,410 fjöldi fólks í herberginu með því að nota GetInt og gera-en lykkja til að 12 00:00:26,410 --> 00:00:28,220 fá heiltölu n. 13 00:00:28,220 --> 00:00:32,310 Segjum að við viljum nú að spyrja hvert svo maður í herberginu við aldur. 14 00:00:32,310 --> 00:00:35,820 Jæja, eðlishvöt mín væri að nota lykkja til að gera það vekur, en ég líka 15 00:00:35,820 --> 00:00:37,840 þurfa að stað til að geyma aldur þessir menn er. 16 00:00:37,840 --> 00:00:40,760 Og fyrstu eðlishvöt mín væri til að nota breytu fyrir fyrsta 17 00:00:40,760 --> 00:00:43,690 aldri einstaklingsins, annar breytu fyrir aldri annar maður er, 18 00:00:43,690 --> 00:00:44,780 konar meðfram línum. 19 00:00:44,780 --> 00:00:46,230 Int aldur - 20 00:00:46,230 --> 00:00:48,850 Jæja, við skulum kalla það 1 fyrir fyrsta manneskjan. 21 00:00:48,850 --> 00:00:51,480 Int aldur 2 fyrir seinni manneskja. 22 00:00:51,480 --> 00:00:53,980 Int aldur 3 fyrir þriðja mann. 23 00:00:53,980 --> 00:00:56,750 >> En bíddu í eina mínútu, þetta er ekki kannski besta leiðin til að fara niður. 24 00:00:56,750 --> 00:01:00,620 Þar sem ég veit ekki fyrirfram um skrifa og setja saman þetta forrit hvernig 25 00:01:00,620 --> 00:01:02,330 margir notendur eru að fara til vera. 26 00:01:02,330 --> 00:01:06,590 Og ennfremur, ef það er eins og margir eins og 100 notendur, lýsa 100 breytur 27 00:01:06,590 --> 00:01:10,350 tegund af einkennilega heitir svona virkar ekki finnst eins og það besta hönnun. 28 00:01:10,350 --> 00:01:14,430 >> Jæja, sem betur fer er þar annar tegund af breytu sem heitir fylki sem 29 00:01:14,430 --> 00:01:18,710 gerir okkur kleift að geyma allir tala um ints inni af því, jafnvel þótt við vitum ekki 30 00:01:18,710 --> 00:01:22,190 þegar þú skrifar forritið mitt hversu margir svo ints við erum að fara að þurfa. 31 00:01:22,190 --> 00:01:25,970 Svo skulum backtrack og eyða þessum nokkrir ints, og í staðinn skipta um það 32 00:01:25,970 --> 00:01:29,620 einum þessara þátta heitir, segja, aldur, fleirtölu. 33 00:01:29,620 --> 00:01:33,420 En við skulum skilgreina nánar á þessari línu af kóða í hornklofa sem við 34 00:01:33,420 --> 00:01:35,460 langar n ints. 35 00:01:35,460 --> 00:01:39,570 Og því munum við sameiginlega vísa til þessa ints sem aldri. 36 00:01:39,570 --> 00:01:43,490 >> Nú á aðeins smá stund ég ætla að vera fær um að fá á hvert af þeim ints í þessu fylki 37 00:01:43,490 --> 00:01:47,270 álíka með því að ferningur krappi Ritháttur, byrja á 0. 38 00:01:47,270 --> 00:01:51,720 Svo skulum nú halda áfram í lykkju til hvetja notendur fyrir aldri sínum. 39 00:01:51,720 --> 00:01:54,780 INT ég fæ 0. 40 00:01:54,780 --> 00:01:59,464 I er minni en í eru N, hefur fjöldi fólks í herberginu, ég auk plús. 41 00:01:59,464 --> 00:02:06,610 >> Og nú á þessari lykkju, segjum printf aldri maður númer, prósent I 42 00:02:06,610 --> 00:02:09,430 er tákn, kommu. 43 00:02:09,430 --> 00:02:13,210 Og nú, frekar en að byrja að telja frá 0 í áætluninni sjálfri, við skulum á 44 00:02:13,210 --> 00:02:17,180 kosti vöxtur I með því að 1 þannig að eðlileg maður að nota þetta forrit 45 00:02:17,180 --> 00:02:20,120 þarf ekki að telja eins og a Tölvunarfræðingur mátti. 46 00:02:20,120 --> 00:02:26,130 Skulum nú gera aldri, sviga i, þannig tilgreina að i-th aldri í okkar 47 00:02:26,130 --> 00:02:31,480 array af aldri er að fara að fá skilagildi GetInt. 48 00:02:31,480 --> 00:02:37,800 >> Nú undir þessu lykkju, við skulum halda áfram að gera ráð fyrir að nokkur tími líður. 49 00:02:37,800 --> 00:02:41,690 Og við skulum nú halda áfram í öðru lykkju að í raun aldri í herberginu alla 50 00:02:41,690 --> 00:02:42,800 með því að eitt ár. 51 00:02:42,800 --> 00:02:48,110 Svo aftur, fyrir int i fá 0, I er minni en N, fjöldi fólks í 52 00:02:48,110 --> 00:02:49,680 herbergi, ég auk plús. 53 00:02:49,680 --> 00:02:57,210 >> Og nú innan þessa lykkju, segjum printf á ári héðan persónu tala, 54 00:02:57,210 --> 00:03:00,990 prósent I er tákn, mun vera, prósent I er annar 55 00:03:00,990 --> 00:03:03,210 tákn, ára. 56 00:03:03,210 --> 00:03:07,230 Og þá til að stinga inn í þær staðgengla, við skulum fyrst að segja ég auk 57 00:03:07,230 --> 00:03:11,220 1, þannig að við erum aftur að byrja að telja fyrir notandann frá 1. 58 00:03:11,220 --> 00:03:18,630 Og þá skulum stinga í aldri sem manneskju sem aldur krappi ég auk 1, þannig 59 00:03:18,630 --> 00:03:23,740 tilgreina fara að fá i-ta aldri í okkar array af aldri, bæta 1 við það, og þá 60 00:03:23,740 --> 00:03:28,370 setja þessi summa í tákn okkar, loka paren, semíkommu. 61 00:03:28,370 --> 00:03:33,280 >> Skulum nú saman þetta forrit með að gera aldur, og við skulum keyra það með punkti 62 00:03:33,280 --> 00:03:34,990 rista aldri. 63 00:03:34,990 --> 00:03:38,770 Og geri ráð fyrir að það eru aðeins þrír fólk í herberginu, og einhver er 18, 64 00:03:38,770 --> 00:03:40,700 einhver er 19, er einhver 20. 65 00:03:40,700 --> 00:03:45,350 Jæja, á ári, hvert þeirra fólkinu er að fara að vera 19, 20, og 21, 66 00:03:45,350 --> 00:03:46,600 í þessari röð. 67 00:03:46,600 --> 00:03:48,948