1
00:00:00,000 --> 00:00:03,160
>> DAVID J. MALAN: Anta at vi ønsker å skrive
et program som ber alle i

2
00:00:03,160 --> 00:00:06,740
et rom for deres alder, og deretter utskrifter
ut hvor gammel disse menneskene vil være en

3
00:00:06,740 --> 00:00:07,520
år derav?

4
00:00:07,520 --> 00:00:09,900
Nå, åpenbart den aritmetiske for dette
problemet kommer til å være ganske

5
00:00:09,900 --> 00:00:10,660
ukomplisert.

6
00:00:10,660 --> 00:00:14,090
Men det interessante spørsmålet er, hvis vi
vet ikke på forhånd hvor mange mennesker

7
00:00:14,090 --> 00:00:16,790
kommer til å være i dette rommet, hvor
kunne vi gå om lagring

8
00:00:16,790 --> 00:00:17,980
alle deres alder?

9
00:00:17,980 --> 00:00:19,680
Vel, la oss ta en titt.

10
00:00:19,680 --> 00:00:22,760
>> La oss begynne med å først spørre
bruker, som jeg har gjort her, for den

11
00:00:22,760 --> 00:00:26,410
antall personer i rommet ved hjelp
getInt og en do-while-loop for å

12
00:00:26,410 --> 00:00:28,220
få et heltall n.

13
00:00:28,220 --> 00:00:32,310
Anta at vi nå ønsker å spørre hver slik
person i rommet for deres alder.

14
00:00:32,310 --> 00:00:35,820
Vel, ville mine instinkter være å bruke en
sløyfe for å gjøre det å spørre, men jeg har også

15
00:00:35,820 --> 00:00:37,840
trenger et sted å oppbevare
disse folks aldre.

16
00:00:37,840 --> 00:00:40,760
Og mine første instinkter det ville være
å bruke en variabel for den første

17
00:00:40,760 --> 00:00:43,690
personens alder, en annen variabel
for den andre personens alder,

18
00:00:43,690 --> 00:00:44,780
liksom langs linjene.

19
00:00:44,780 --> 00:00:46,230
Int alder -

20
00:00:46,230 --> 00:00:48,850
vel, la oss kalle det en for
den første personen.

21
00:00:48,850 --> 00:00:51,480
Int alder 2 for den andre personen.

22
00:00:51,480 --> 00:00:53,980
Int alder 3 for den tredje personen.

23
00:00:53,980 --> 00:00:56,750
>> Men vent litt, er dette kanskje ikke
den beste veien å gå ned.

24
00:00:56,750 --> 00:01:00,620
Fordi jeg ikke vet på forhånd om
å skrive og kompilere dette programmet hvordan

25
00:01:00,620 --> 00:01:02,330
mange brukere der ute kommer til å være.

26
00:01:02,330 --> 00:01:06,590
Og dessuten, hvis det er så mange som
100 brukere, erklærte 100 variabler

27
00:01:06,590 --> 00:01:10,350
slags merkelig navn som dette ikke
føler meg som den aller beste design.

28
00:01:10,350 --> 00:01:14,430
>> Vel, heldigvis finnes det en annen
type variabel kalles en matrise som

29
00:01:14,430 --> 00:01:18,710
tillater oss å lagre en rekke ints
innsiden av det, selv om man ikke kjenner

30
00:01:18,710 --> 00:01:22,190
når du skriver mitt program hvor mange
slike ints vi kommer til å trenge.

31
00:01:22,190 --> 00:01:25,970
Så la oss backtrack og slette disse
flere ints, og i stedet erstatte den

32
00:01:25,970 --> 00:01:29,620
med en variabel kalt,
si, aldre, flertall.

33
00:01:29,620 --> 00:01:33,420
Men la oss videre spesifisere på denne linjen
av koden i hakeparentes som vi

34
00:01:33,420 --> 00:01:35,460
vil n ints.

35
00:01:35,460 --> 00:01:39,570
Og derfor vil vi kollektivt
referere til disse ints som aldre.

36
00:01:39,570 --> 00:01:43,490
>> I løpet av et øyeblikk vil jeg være i stand til å få
på hver av de ints i denne matrise

37
00:01:43,490 --> 00:01:47,270
på lignende måte ved hjelp av hakeparentes
notasjon, som starter på 0.

38
00:01:47,270 --> 00:01:51,720
Så la oss fortsette nå i en sløyfe til
ber brukerne for deres alder.

39
00:01:51,720 --> 00:01:54,780
For int får jeg 0.

40
00:01:54,780 --> 00:01:59,464
I er mindre enn N, antall personer
i rommet, jeg pluss pluss.

41
00:01:59,464 --> 00:02:06,610
>> Og nå innenfor denne sløyfen, la oss si
printf alder av person nummer, prosent jeg

42
00:02:06,610 --> 00:02:09,430
er en plassholder, komma.

43
00:02:09,430 --> 00:02:13,210
Og nå, i stedet for å begynne å telle fra
0 i selve programmet, la oss på

44
00:02:13,210 --> 00:02:17,180
Minst tilvekst I ved en, slik at en normal
person som bruker dette programmet

45
00:02:17,180 --> 00:02:20,120
trenger ikke å telle som en
datamaskin vitenskaps makt.

46
00:02:20,120 --> 00:02:26,130
La oss nå gjøre aldre, brakett jeg, og dermed
spesifiserer at i-te alder i vår

47
00:02:26,130 --> 00:02:31,480
spekter av aldre kommer til å få
returverdien av getInt.

48
00:02:31,480 --> 00:02:37,800
>> Nå under denne sløyfen, la oss fortsette
å anta at noen tiden går.

49
00:02:37,800 --> 00:02:41,690
Og la oss nå fortsette i en annen sløyfe
til faktisk alder alle i rommet

50
00:02:41,690 --> 00:02:42,800
med ett år.

51
00:02:42,800 --> 00:02:48,110
Så igjen, for int jeg får 0, er jeg mindre
enn N, antall personer i

52
00:02:48,110 --> 00:02:49,680
rom, jeg pluss pluss.

53
00:02:49,680 --> 00:02:57,210
>> Og nå inne i denne sløyfen, la oss si
printf et år fra nå person nummer,

54
00:02:57,210 --> 00:03:00,990
prosent Jeg er en plassholder, vil
være, er prosent jeg en annen

55
00:03:00,990 --> 00:03:03,210
plassholder, år gammel.

56
00:03:03,210 --> 00:03:07,230
Og deretter å plugge inn de
plassholdere, la oss først si jeg pluss

57
00:03:07,230 --> 00:03:11,220
En, slik at vi igjen begynne å telle
for brukeren fra en.

58
00:03:11,220 --> 00:03:18,630
Og så la oss plugge i den personens alder
som aldre brakett jeg pluss en, og dermed

59
00:03:18,630 --> 00:03:23,740
spesifiserer farten få i-th alder i vår
spekter av aldre, legger en til den, og deretter

60
00:03:23,740 --> 00:03:28,370
setter den summen inn i vår plassholder,
nære paren, semikolon.

61
00:03:28,370 --> 00:03:33,280
>> La oss nå kompilere dette programmet med make
aldre, og la oss kjøre den med prikk

62
00:03:33,280 --> 00:03:34,990
slash aldre.

63
00:03:34,990 --> 00:03:38,770
Og anta at det er bare tre
mennesker i rommet, og noen er 18,

64
00:03:38,770 --> 00:03:40,700
noen er 19, noen er 20..

65
00:03:40,700 --> 00:03:45,350
Vel, i et år, hver av de folkene
kommer til å være 19, 20, og 21,

66
00:03:45,350 --> 00:03:46,600
respektivt.

67
00:03:46,600 --> 00:03:48,948