1 00:00:00,000 --> 00:00:03,160 >> David J. MALAN: Tegyük fel, hogy írni olyan program, amely azt kérdezi mindenki 2 00:00:03,160 --> 00:00:06,740 egy szoba a kor, majd kiírja ki hány éves azok az emberek lesznek a 3 00:00:06,740 --> 00:00:07,520 év van hátra? 4 00:00:07,520 --> 00:00:09,900 Nos, természetesen a számtani e probléma lesz viszonylag 5 00:00:09,900 --> 00:00:10,660 egyszerű. 6 00:00:10,660 --> 00:00:14,090 De az érdekes kérdés, hogy ha Nem tudjuk előre, hogy hány ember 7 00:00:14,090 --> 00:00:16,790 lesz ebben a szobában, hogy milyen is megyünk a tárolására 8 00:00:16,790 --> 00:00:17,980 mind a korosztály? 9 00:00:17,980 --> 00:00:19,680 Nos, vessünk egy pillantást. 10 00:00:19,680 --> 00:00:22,760 >> Kezdjük először kéri a felhasználó, ahogy már kész van, az 11 00:00:22,760 --> 00:00:26,410 több ember a szobában, getInt és a do-while ciklus ahhoz, hogy 12 00:00:26,410 --> 00:00:28,220 kap egy n egész szám. 13 00:00:28,220 --> 00:00:32,310 Tegyük fel, hogy most szeretném megkérdezni, hogy minden egyes ilyen személy a szobában korukat. 14 00:00:32,310 --> 00:00:35,820 Nos, az én ösztönök lenne, hogy a loop csinálni megkérdezése, de azt is 15 00:00:35,820 --> 00:00:37,840 Kell egy hely, ahol tárolni ezek az emberek a korosztály számára. 16 00:00:37,840 --> 00:00:40,760 És az első ösztöneim nem lenne használni egy változó az első 17 00:00:40,760 --> 00:00:43,690 személy életkorát, másik változó A második személy életkorát, 18 00:00:43,690 --> 00:00:44,780 fajta vonalak mentén. 19 00:00:44,780 --> 00:00:46,230 Int-kor - 20 00:00:46,230 --> 00:00:48,850 Nos, nevezzük 1 az első ember. 21 00:00:48,850 --> 00:00:51,480 Int 2 éves kor a második személy. 22 00:00:51,480 --> 00:00:53,980 Int 3 éves kortól a harmadik személy. 23 00:00:53,980 --> 00:00:56,750 >> De várjunk egy percet, ez talán nem a legjobb út, hogy menjen le. 24 00:00:56,750 --> 00:01:00,620 Mert nem tudja előre a írása és fordítása a program hogyan 25 00:01:00,620 --> 00:01:02,330 sok felhasználó ott lesznek. 26 00:01:02,330 --> 00:01:06,590 Sőt, ha van annyi, mint 100 felhasználó, kijelentve, 100 változót 27 00:01:06,590 --> 00:01:10,350 valami furcsa nevű, mint ez nem érzem magam, mint a legjobb design. 28 00:01:10,350 --> 00:01:14,430 >> Nos, szerencsére létezik egy másik típusú változó neve egy tömb, amely 29 00:01:14,430 --> 00:01:18,710 lehetővé teszi számunkra, hogy tárolja tetszőleges számú ints belsejében is, akkor is, ha nem tudjuk, 30 00:01:18,710 --> 00:01:22,190 írásakor az én programomat, hogy hány Ilyen ints megyünk szüksége van. 31 00:01:22,190 --> 00:01:25,970 Akkor most visszalép, és törölje ezeket Több ints, és helyette azt 32 00:01:25,970 --> 00:01:29,620 egy változó neve, azt mondják, korosztály, többes számban. 33 00:01:29,620 --> 00:01:33,420 De nézzük tovább adja meg ezen a soron kód szögletes zárójelben, hogy 34 00:01:33,420 --> 00:01:35,460 szeretnénk n ints. 35 00:01:35,460 --> 00:01:39,570 És ezért fogunk együtt olvassa el ezeket ints mint korosztály számára. 36 00:01:39,570 --> 00:01:43,490 >> Most csak egy pillanatra leszek képes, hogy minden a ints ebben a tömbben 37 00:01:43,490 --> 00:01:47,270 hasonlóan útján szögletes zárójel jelölés, 0-nál kezdődik. 38 00:01:47,270 --> 00:01:51,720 Szóval jár most a hurok kéri a felhasználók számára, hogy korosztály számára. 39 00:01:51,720 --> 00:01:54,780 Az int kapok 0-ra. 40 00:01:54,780 --> 00:01:59,464 Én kevesebb, mint N, az embereknek a száma a szobában, én plus plus. 41 00:01:59,464 --> 00:02:06,610 >> És most ebben a hurokban, mondjuk printf életkora személy szám százalék azt 42 00:02:06,610 --> 00:02:09,430 helyőrzője, vessző. 43 00:02:09,430 --> 00:02:13,210 És most, ahelyett, hogy indul től számítva 0 magát a programot, nézzük a 44 00:02:13,210 --> 00:02:17,180 növekmény legalább 1 I úgy, hogy egy normális személy ezzel a programmal 45 00:02:17,180 --> 00:02:20,120 nem kell számolni, mint a számítógép tudós talán. 46 00:02:20,120 --> 00:02:26,130 Nézzük most csinálni korosztály, konzol I, ezáltal meghatározza, hogy az i-edik kor a mi 47 00:02:26,130 --> 00:02:31,480 tömb korosztály fog kapni a visszatérési érték getInt. 48 00:02:31,480 --> 00:02:37,800 >> Most ez alatt loop, hadd folytassa azt feltételezni, hogy egy kis idő múlásával. 49 00:02:37,800 --> 00:02:41,690 És nézzük most jár egy másik hurok hogy ténylegesen kor mindenki a szobában 50 00:02:41,690 --> 00:02:42,800 egy évvel. 51 00:02:42,800 --> 00:02:48,110 Tehát újra, int kapok 0, azt kevésbé mint N, az embereknek a száma, a 52 00:02:48,110 --> 00:02:49,680 szobába, plus plus. 53 00:02:49,680 --> 00:02:57,210 >> És most benne erre a ciklusra, mondjuk printf egy év múlva ember számát, 54 00:02:57,210 --> 00:03:00,990 százalék I egy helyőrző, majd lehet, százalék azt egy másik 55 00:03:00,990 --> 00:03:03,210 helyőrző éves. 56 00:03:03,210 --> 00:03:07,230 És akkor a dugót azokat helyőrzőket, nézzük először mondom plus 57 00:03:07,230 --> 00:03:11,220 1., hogy újra kezdjük számlálás a felhasználó 1-től. 58 00:03:11,220 --> 00:03:18,630 És akkor nézzük csatlakoztassa adott személy életkora ahogy korosztály konzol én plusz 1, így 59 00:03:18,630 --> 00:03:23,740 meghatározva Menj az i-edik kor a mi tömb korosztály, adjunk hozzá 1-et, majd a 60 00:03:23,740 --> 00:03:28,370 be, hogy az összeg a mi helyőrző, szoros paren, pontosvessző. 61 00:03:28,370 --> 00:03:33,280 >> Nézzük most össze ezt a programot a make korosztály, és fussunk neki a dot 62 00:03:33,280 --> 00:03:34,990 perjel korosztály számára. 63 00:03:34,990 --> 00:03:38,770 És tegyük fel, hogy már csak három ember a szobában, és valaki 18, 64 00:03:38,770 --> 00:03:40,700 valaki 19, valaki 20. 65 00:03:40,700 --> 00:03:45,350 Nos, egy év alatt, minden egyes ilyen emberek lesz a 19., 20., és 21., 66 00:03:45,350 --> 00:03:46,600 ill. 67 00:03:46,600 --> 00:03:48,948