1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Recimo, da želimo napisati program, ki prosi vse v 2 00:00:03,160 --> 00:00:06,740 soba za njihovo starost, in nato natisne izvedeti, kako stari bodo ti ljudje 3 00:00:06,740 --> 00:00:07,520 torej leto? 4 00:00:07,520 --> 00:00:09,900 Zdaj pa očitno aritmetično za to Problem se bo dokaj 5 00:00:09,900 --> 00:00:10,660 enostavna. 6 00:00:10,660 --> 00:00:14,090 Toda, zanimivo vprašanje je, če bomo Ne vem vnaprej, koliko ljudi 7 00:00:14,090 --> 00:00:16,790 se bodo v tem prostoru, kako lahko gremo o shranjevanju 8 00:00:16,790 --> 00:00:17,980 vse svoje starosti? 9 00:00:17,980 --> 00:00:19,680 No, pa poglejmo. 10 00:00:19,680 --> 00:00:22,760 >> Začnimo s prvim česar uporabnik, kot sem tukaj storjeno, za 11 00:00:22,760 --> 00:00:26,410 število ljudi v prostoru, ki uporabljajo getInt in do-medtem zanko, da se 12 00:00:26,410 --> 00:00:28,220 dobili celo število n. 13 00:00:28,220 --> 00:00:32,310 Recimo, da smo zdaj želeli vprašati vsak tak oseba v sobi za njihovo starost. 14 00:00:32,310 --> 00:00:35,820 No, moj instinkt je, da uporabite Zanka za to spodbudilo, ampak tudi 15 00:00:35,820 --> 00:00:37,840 potrebujete prostor za shranjevanje starost teh ljudi. 16 00:00:37,840 --> 00:00:40,760 In moj prvi instinkt bi bilo za uporabo spremenljivka za prvo 17 00:00:40,760 --> 00:00:43,690 starost osebe, ena spremenljivka za starost, drugi osebe, 18 00:00:43,690 --> 00:00:44,780 nekako vzdolž linij. 19 00:00:44,780 --> 00:00:46,230 Int starost - 20 00:00:46,230 --> 00:00:48,850 no, recimo ji 1 za Prva oseba. 21 00:00:48,850 --> 00:00:51,480 Int starost 2 za drugo osebo. 22 00:00:51,480 --> 00:00:53,980 Int starost 3 za tretjo osebo. 23 00:00:53,980 --> 00:00:56,750 >> Toda počakaj malo, to ni mogoče najboljša pot, da gredo dol. 24 00:00:56,750 --> 00:01:00,620 Ker ne vem, vnaprej pisanje in urejanje tega programa, kako 25 00:01:00,620 --> 00:01:02,330 mnogi uporabniki tam se bodo. 26 00:01:02,330 --> 00:01:06,590 Poleg tega, če je toliko kot 100 uporabnikov, ki razglašajo 100 spremenljivk 27 00:01:06,590 --> 00:01:10,350 nekako čudno imenom, kot je ta ne Počutim se kot zelo najboljši dizajn. 28 00:01:10,350 --> 00:01:14,430 >> No, na srečo obstaja še ena tip spremenljivke imenujemo matriko, ki 29 00:01:14,430 --> 00:01:18,710 nam omogoča, da shranite poljubno število ints v njem, tudi če ne vemo, 30 00:01:18,710 --> 00:01:22,190 pri pisanju moj program, koliko taki ints bomo potrebovali. 31 00:01:22,190 --> 00:01:25,970 Torej, kaj je zanemarjanje in brisanje teh več ints, in namesto da ga nadomestiti 32 00:01:25,970 --> 00:01:29,620 z eno spremenljivko imenujemo, pravijo, starosti, množino. 33 00:01:29,620 --> 00:01:33,420 Vendar naj podrobneje opredeli v tej vrstici kode v oglatih oklepajih, ki smo 34 00:01:33,420 --> 00:01:35,460 želim n Ints. 35 00:01:35,460 --> 00:01:39,570 In zato bomo skupaj nanašajo na te ints kot starosti. 36 00:01:39,570 --> 00:01:43,490 >> Zdaj, v trenutku bom lahko dobil na vsaki od ints v tem polju 37 00:01:43,490 --> 00:01:47,270 Podobno s pomočjo kvadratne nosilca Zapis, ki se začne pri 0. 38 00:01:47,270 --> 00:01:51,720 Torej, kaj je zdaj nadaljuje v zanke spodbuditi uporabnike za njihovo starost. 39 00:01:51,720 --> 00:01:54,780 Za notr dobim 0. 40 00:01:54,780 --> 00:01:59,464 I je manj kot N, število ljudi V sobi sem plus plus. 41 00:01:59,464 --> 00:02:06,610 >> In zdaj v to zanko, recimo, printf starost oseba, število, odstotnim I 42 00:02:06,610 --> 00:02:09,430 je ograda, vejica. 43 00:02:09,430 --> 00:02:13,210 In zdaj, namesto da začnemo od 0 v programu sama, kaj je na 44 00:02:13,210 --> 00:02:17,180 vsaj prirastek I z 1, tako da normalno Oseba, ki uporablja ta program 45 00:02:17,180 --> 00:02:20,120 ni treba računati kot računalniški znanstvenik premoč. 46 00:02:20,120 --> 00:02:26,130 Pojdimo zdaj storiti starosti, nosilec I, s čimer ki določa, da starost i-ti v našem 47 00:02:26,130 --> 00:02:31,480 array starosti bo dobil vrednost vrnitev getInt. 48 00:02:31,480 --> 00:02:37,800 >> Zdaj pod to zanko, kaj je nadaljevati domnevati, da nekaj časa teče. 49 00:02:37,800 --> 00:02:41,690 In kaj je zdaj nadaljuje v drugi zanki dejansko starost vsi v sobi 50 00:02:41,690 --> 00:02:42,800 za eno leto. 51 00:02:42,800 --> 00:02:48,110 Torej, še enkrat, za notr sem dobil 0, I je manj razen N, število ljudi v 52 00:02:48,110 --> 00:02:49,680 Prostor, sem plus plus. 53 00:02:49,680 --> 00:02:57,210 >> In zdaj znotraj te zanke, recimo, printf leto dni številko osebe, 54 00:02:57,210 --> 00:03:00,990 odstotkov I je ograda bo biti, da je še en odstotkov 55 00:03:00,990 --> 00:03:03,210 Ograda, stara let. 56 00:03:03,210 --> 00:03:07,230 In potem priključite na tiste Ograde, kaj je najprej rekel, da sem plus 57 00:03:07,230 --> 00:03:11,220 1, tako da spet začnemo štetje za uporabnika od 1.. 58 00:03:11,220 --> 00:03:18,630 In potem pa priključite v starosti te osebe kot starost nosilca I plus 1, s čimer 59 00:03:18,630 --> 00:03:23,740 navedbo pojdi starost i-ti v našem matrika starosti, dodamo 1 do njega, nato pa 60 00:03:23,740 --> 00:03:28,370 vstavite ta znesek v našo ogrado, tesne paren, podpičjem. 61 00:03:28,370 --> 00:03:33,280 >> Pojdimo zdaj zbere ta program z znamko starosti, in naj bi sistem deloval s piko 62 00:03:33,280 --> 00:03:34,990 slash starosti. 63 00:03:34,990 --> 00:03:38,770 In domnevam, da obstajajo le trije ljudi v sobi, in nekdo je 18, 64 00:03:38,770 --> 00:03:40,700 nekdo 19, nekdo je 20. 65 00:03:40,700 --> 00:03:45,350 No, v enem letu, vsak od teh ljudi se bo 19, 20 in 21, 66 00:03:45,350 --> 00:03:46,600 oz. 67 00:03:46,600 --> 00:03:48,948