1 00:00:00,000 --> 00:00:03,160 >> David J. Malan: Tarkime, mes norime rašyti programa, kuri prašo visiems į 2 00:00:03,160 --> 00:00:06,740 jų amžiaus, tada spausdina kambarys , kaip senas tie žmonės bus 3 00:00:06,740 --> 00:00:07,520 metų, taigi? 4 00:00:07,520 --> 00:00:09,900 Dabar, žinoma, už tai aritmetinis problema bus gana 5 00:00:09,900 --> 00:00:10,660 paprasta. 6 00:00:10,660 --> 00:00:14,090 Tačiau įdomus klausimas yra, jei mes nereikia iš anksto žinoti, kiek žmonių 7 00:00:14,090 --> 00:00:16,790 ketiname būti šioje salėje, kaip galėtume eiti apie saugojimo 8 00:00:16,790 --> 00:00:17,980 visus savo amžiaus? 9 00:00:17,980 --> 00:00:19,680 Na, galime pažvelgti. 10 00:00:19,680 --> 00:00:22,760 >> Pradėkime iš pradžių paskatino vartotojas, kaip aš padariau čia, nes 11 00:00:22,760 --> 00:00:26,410 žmonių skaičius kambaryje naudojant getInt ir do-while cikle siekiant 12 00:00:26,410 --> 00:00:28,220 gauti sveikasis skaičius n. 13 00:00:28,220 --> 00:00:32,310 Tarkime, mes norime paklausti kiekvieno tokio asmuo dėl savo amžiaus kambaryje. 14 00:00:32,310 --> 00:00:35,820 Na, mano instinktai būtų naudoti kilpa padaryti, kad paskatino, bet aš taip pat 15 00:00:35,820 --> 00:00:37,840 reikia vieta laikyti šių žmonių amžiaus. 16 00:00:37,840 --> 00:00:40,760 Ir pirmieji mano instinktai nebūtų naudoti kintamąjį pirmas 17 00:00:40,760 --> 00:00:43,690 asmens amžius, kitas kintamasis Dėl antrojo asmens amžiaus, 18 00:00:43,690 --> 00:00:44,780 tarsi kartu linijas. 19 00:00:44,780 --> 00:00:46,230 Žiniasklaida amžius - 20 00:00:46,230 --> 00:00:48,850 gerai, tegul ją vadina "1 pirmasis asmuo. 21 00:00:48,850 --> 00:00:51,480 Žiniasklaida 2 amžius antruoju asmeniu. 22 00:00:51,480 --> 00:00:53,980 Žiniasklaida amžius 3 už trečiajam asmeniui. 23 00:00:53,980 --> 00:00:56,750 >> Bet palauk, tai nėra galbūt geriausias kelias eiti. 24 00:00:56,750 --> 00:01:00,620 Nes aš nežinau, iš anksto raštu ir kaupiant šią programą, kaip 25 00:01:00,620 --> 00:01:02,330 daug vartotojų yra bus. 26 00:01:02,330 --> 00:01:06,590 Ir be to, jei yra daugiau kaip 100 vartotojų, deklaruojantys 100 kintamuosius 27 00:01:06,590 --> 00:01:10,350 tarsi keistai pavadintas kaip tai nėra jaučiasi labai geriausią dizainą. 28 00:01:10,350 --> 00:01:14,430 >> Na, laimei, egzistuoja dar tipo kintamasis vadinamas matrica, 29 00:01:14,430 --> 00:01:18,710 leidžia mums išsaugoti bet kokį int numeris viduje ji, net jei mes nežinome, 30 00:01:18,710 --> 00:01:22,190 rašant savo programą, kiek tokie ints mes ketiname reikia. 31 00:01:22,190 --> 00:01:25,970 Taigi leiskite Atsitraukia ir ištrinti jų keletas ints, ir pakeisti jį 32 00:01:25,970 --> 00:01:29,620 su vienas kintamasis vadinamas, pasakyti, amžiaus, daugiskaitą. 33 00:01:29,620 --> 00:01:33,420 Bet tegul toliau nurodyti šioje eilutėje kodo laužtiniuose skliaustuose, kad mes 34 00:01:33,420 --> 00:01:35,460 noriu n Ints. 35 00:01:35,460 --> 00:01:39,570 Ir todėl mes kartu kreiptis į šiuos int kaip amžiaus. 36 00:01:39,570 --> 00:01:43,490 >> Dabar tik akimirką aš galėtų gauti kiekvieną iš šio masyvo int 37 00:01:43,490 --> 00:01:47,270 panašiai kaip kvadratinį laikikliu žymėjimas, pradedant 0. 38 00:01:47,270 --> 00:01:51,720 Taigi galime pradėti dabar yra kilpos paskatins vartotojus dėl savo amžiaus. 39 00:01:51,720 --> 00:01:54,780 Dėl int man 0. 40 00:01:54,780 --> 00:01:59,464 I yra mažiau nei N, žmonių skaičius į kambarį, aš plus plus. 41 00:01:59,464 --> 00:02:06,610 >> Ir dabar į šią kilpą, tarkim printf amžiaus asmuo, skaičius, proc I 42 00:02:06,610 --> 00:02:09,430 yra vietos rezervavimo ženklas, kablelis. 43 00:02:09,430 --> 00:02:13,210 Ir dabar, o ne pradėti skaičiuoti nuo 0 programoje save, tegul ne 44 00:02:13,210 --> 00:02:17,180 bent prieaugis aš iki 1, kad normalus asmuo, naudojantis šią programą 45 00:02:17,180 --> 00:02:20,120 neturi skaičiuoti kaip kompiuterių mokslininkas gali. 46 00:02:20,120 --> 00:02:26,130 Tegul dabar padarykime amžiaus, laikiklis i taip nurodant, kad i-asis amžius mūsų 47 00:02:26,130 --> 00:02:31,480 masyvas amžiaus ketina gauti gražinama reikšmė getInt. 48 00:02:31,480 --> 00:02:37,800 >> Dabar žemiau šios linijos, galime pradėti daryti prielaidą, kad kai kurie laikui bėgant. 49 00:02:37,800 --> 00:02:41,690 Ir tegul dabar pereiti į kitą kilpą faktiškai amžiaus visiems į kambarį 50 00:02:41,690 --> 00:02:42,800 vieneriems metams. 51 00:02:42,800 --> 00:02:48,110 Taigi dar kartą, nes int gaunu 0, I yra mažiau nei N, žmonių skaičius 52 00:02:48,110 --> 00:02:49,680 kambarys, aš plus plus. 53 00:02:49,680 --> 00:02:57,210 >> Ir dabar viduje šio ciklo, tarkim printf metų nuo dabar naudojamo asmens numerio, 54 00:02:57,210 --> 00:03:00,990 procentų I yra vietos rezervavimo ženklas, bus būti, proc aš kita 55 00:03:00,990 --> 00:03:03,210 vietos rezervavimo ženklas, metai. 56 00:03:03,210 --> 00:03:07,230 Ir tada prijunkite į tuos vietos rezervavimo ženklų, tegul pirma sakau plius 57 00:03:07,230 --> 00:03:11,220 1, kad vėl pradėsime skaičiuoti vartotojui iš 1. 58 00:03:11,220 --> 00:03:18,630 Ir tada tegul prijungti to asmens amžių kaip amžius kronšteino I plius 1, taip 59 00:03:18,630 --> 00:03:23,740 nurodant eikite gauti i-ojo amžiaus mūsų masyvas amžiaus, pridėti 1 į jį, o tada 60 00:03:23,740 --> 00:03:28,370 įdėti tą sumą į mūsų rezervavimo ženklą, artimi skliaustas, kabliataškis. 61 00:03:28,370 --> 00:03:33,280 >> Leiskite dabar kaupia šią programą atlikti amžiaus, ir tegul paleisti jį su tašku 62 00:03:33,280 --> 00:03:34,990 velniop amžių. 63 00:03:34,990 --> 00:03:38,770 Ir manau, kad yra tik trys žmonių kambaryje, ir kas yra 18, 64 00:03:38,770 --> 00:03:40,700 kas yra 19, nors yra 20. 65 00:03:40,700 --> 00:03:45,350 Na, per metus, kiekvienas iš tų žmonių, bus 19, 20, 21, 66 00:03:45,350 --> 00:03:46,600 atitinkamai. 67 00:03:46,600 --> 00:03:48,948