1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Oletame, et me tahame, et kirjutada programm, mis küsib kõigile 2 00:00:03,160 --> 00:00:06,740 ruumi oma vanuse ja siis trükib kuidas vana need inimesed on 3 00:00:06,740 --> 00:00:07,520 aasta pärast? 4 00:00:07,520 --> 00:00:09,900 Nüüd ilmselt aritmeetika selle probleem saab olema üsna 5 00:00:09,900 --> 00:00:10,660 arusaadav. 6 00:00:10,660 --> 00:00:14,090 Aga huvitav küsimus on, kas me ei tea ette, kui palju inimesi 7 00:00:14,090 --> 00:00:16,790 hakkavad olema selles ruumis, kuidas võiksime minna ladustamiseks 8 00:00:16,790 --> 00:00:17,980 kõik nende vanuses? 9 00:00:17,980 --> 00:00:19,680 Noh, kui heita. 10 00:00:19,680 --> 00:00:22,760 >> Alustame kõigepealt ajendades kasutaja, kui ma olen teinud siin, et 11 00:00:22,760 --> 00:00:26,410 inimeste arvu ruumis, kasutades getInt ja do-kui ahela, et 12 00:00:26,410 --> 00:00:28,220 saada täisarv n. 13 00:00:28,220 --> 00:00:32,310 Oletame, et meil nüüd tahan küsida iga selline inimene toas oma vanuse. 14 00:00:32,310 --> 00:00:35,820 Noh, minu instinktid oleks kasutada loop seda tegema sunnib, kuid ma ka 15 00:00:35,820 --> 00:00:37,840 vaja koht säilitada need inimesed on aegade. 16 00:00:37,840 --> 00:00:40,760 Ja minu esimene instinkt oleks kasutada muutuja esimene 17 00:00:40,760 --> 00:00:43,690 isiku vanust, teise muutuja Teise inimese vanusest, 18 00:00:43,690 --> 00:00:44,780 omamoodi mööda jooni. 19 00:00:44,780 --> 00:00:46,230 Int vanus - 20 00:00:46,230 --> 00:00:48,850 noh, ütleme 1 esimene inimene. 21 00:00:48,850 --> 00:00:51,480 Int vanus 2 teist isikut. 22 00:00:51,480 --> 00:00:53,980 Int vanus 3 kolmandat isikut. 23 00:00:53,980 --> 00:00:56,750 >> Aga oota, see ei ole võib-olla parim tee minna. 24 00:00:56,750 --> 00:01:00,620 Sest ma ei tea, enne kirjutamise ja koostamise käesoleva programmi kui 25 00:01:00,620 --> 00:01:02,330 paljud kasutajad seal ei kavatse olla. 26 00:01:02,330 --> 00:01:06,590 Ja pealegi, kui seal on nii palju 100 kasutajad, kuulutades 100 muutujad 27 00:01:06,590 --> 00:01:10,350 omamoodi kummaliselt nimega nagu see ei tunnen head disaini. 28 00:01:10,350 --> 00:01:14,430 >> Noh, õnneks on olemas veel tüüpi muutuja nimega massiivi 29 00:01:14,430 --> 00:01:18,710 võimaldab meil talletada suvalisel arvul ints seestpoolt isegi siis, kui me ei tea, 30 00:01:18,710 --> 00:01:22,190 kirjutamise ajal minu programm, kui palju selline ints me vajame. 31 00:01:22,190 --> 00:01:25,970 Teeme Taganeda ja kustutada neid mitu ints, ja asendada see 32 00:01:25,970 --> 00:01:29,620 ühe muutuja nimega, öelda, vanuses, mitmuses. 33 00:01:29,620 --> 00:01:33,420 Kuid olgem täpsustada sellel liinil Koodi nurksulgudes et me 34 00:01:33,420 --> 00:01:35,460 tahad n ints. 35 00:01:35,460 --> 00:01:39,570 Ja seepärast me ühiselt vaadake neid ints nagu aegade. 36 00:01:39,570 --> 00:01:43,490 >> Nüüd hetk ma oleks võimalik saada igal täisarvudega selles massiivi 37 00:01:43,490 --> 00:01:47,270 sarnaselt teel nurksulg märke, mis algab 0. 38 00:01:47,270 --> 00:01:51,720 Teeme jätkata nüüd silmuse küsib kasutajatelt nende vanuses. 39 00:01:51,720 --> 00:01:54,780 INT saan 0. 40 00:01:54,780 --> 00:01:59,464 I on väiksem kui N, inimeste arv ruumis, ma pluss pluss. 41 00:01:59,464 --> 00:02:06,610 >> Ja nüüd selles loop oletame printf vanuse isiku number, protsent I 42 00:02:06,610 --> 00:02:09,430 on kohatäide, koma. 43 00:02:09,430 --> 00:02:13,210 Ja nüüd, selle asemel et alustada loendamist 0 programm ise, lähme kell 44 00:02:13,210 --> 00:02:17,180 vähemalt juurdekasvu I 1, nii et normaalne isik, kes kasutab seda programmi 45 00:02:17,180 --> 00:02:20,120 ei pea lugema nagu arvuti teadlane võiks. 46 00:02:20,120 --> 00:02:26,130 Olgem nüüd teha vanuses, sulg I seeläbi täpsustades, et i-nda vanus meie 47 00:02:26,130 --> 00:02:31,480 massiivi vanuses ei hakka tagastatav väärtus getInt. 48 00:02:31,480 --> 00:02:37,800 >> Nüüd alla see loop, lähme edasi eeldada, et mõne aja kulgedes. 49 00:02:37,800 --> 00:02:41,690 Ja olgem nüüd edasi teise silmuse tegelikult vananedes kõik ruumis 50 00:02:41,690 --> 00:02:42,800 ühe aasta. 51 00:02:42,800 --> 00:02:48,110 Nii jälle int saan 0, I on vähem kui N, inimeste arv 52 00:02:48,110 --> 00:02:49,680 tuba, ma pluss pluss. 53 00:02:49,680 --> 00:02:57,210 >> Ja nüüd sees see silmus, ütleme printf aasta pärast inimese number, 54 00:02:57,210 --> 00:03:00,990 protsenti Mul on kohatäide, eks olla protsenti I on teine 55 00:03:00,990 --> 00:03:03,210 kohatäide, aastane. 56 00:03:03,210 --> 00:03:07,230 Ja siis pistik need Kohatäiteid olgem kõigepealt öelda, et ma lisaks 57 00:03:07,230 --> 00:03:11,220 1, nii et jälle hakka lugema jaoks alla 1. 58 00:03:11,220 --> 00:03:18,630 Ja siis lähme ühendage selle isiku vanus nagu aegade sulg I pluss 1, seega 59 00:03:18,630 --> 00:03:23,740 täpsustades mine saada i-nda vanus meie massiivi vanuses, lisada 1 see ja seejärel 60 00:03:23,740 --> 00:03:28,370 sisesta see summa meie kohatäide, lähedal paren, semikoolon. 61 00:03:28,370 --> 00:03:33,280 >> Olgem nüüd kompileerida seda programmi teha vanuses ja olgem käivitada koos dot 62 00:03:33,280 --> 00:03:34,990 kaldkriips aegade. 63 00:03:34,990 --> 00:03:38,770 Ja oletame, et on vaid kolm inimesed ruumis ja keegi on 18, 64 00:03:38,770 --> 00:03:40,700 keegi on 19, keegi on 20. 65 00:03:40,700 --> 00:03:45,350 Noh, aasta, kõik need inimesed hakkab olema 19, 20 ja 21, 66 00:03:45,350 --> 00:03:46,600 võrra. 67 00:03:46,600 --> 00:03:48,948