1 00:00:00,000 --> 00:00:03,160 >> DAVID J. MALAN: supponiamo di voler scrivere un programma che chiede a tutti in 2 00:00:03,160 --> 00:00:06,740 una sala per la loro età, e poi le stampe quanti anni queste persone sarà un 3 00:00:06,740 --> 00:00:07,520 anno di qui? 4 00:00:07,520 --> 00:00:09,900 Ora, ovviamente l'aritmetica per questo problema sta per essere abbastanza 5 00:00:09,900 --> 00:00:10,660 semplice. 6 00:00:10,660 --> 00:00:14,090 Ma la domanda interessante è, se non si sa in anticipo quante persone 7 00:00:14,090 --> 00:00:16,790 stanno per essere in questa stanza, come potremmo andare sulla memorizzazione 8 00:00:16,790 --> 00:00:17,980 tutte le loro età? 9 00:00:17,980 --> 00:00:19,680 Bene, diamo un'occhiata. 10 00:00:19,680 --> 00:00:22,760 >> Cominciamo dal primo spingendo l' utente, come ho fatto qui, per la 11 00:00:22,760 --> 00:00:26,410 il numero di persone in camera con getInt e un ciclo do-while, al fine di 12 00:00:26,410 --> 00:00:28,220 ottenere un numero intero n. 13 00:00:28,220 --> 00:00:32,310 Supponiamo ora vogliamo chiedere a ciascuno di tali persona nella camera per la loro età. 14 00:00:32,310 --> 00:00:35,820 Beh, il mio istinto sarebbe quello di utilizzare un ciclo di farlo spingendo, ma ho anche 15 00:00:35,820 --> 00:00:37,840 bisogno di un posto per immagazzinare età di quelle persone. 16 00:00:37,840 --> 00:00:40,760 E il mio primo istinto ci sarebbe utilizzare una variabile per la prima 17 00:00:40,760 --> 00:00:43,690 l'età della persona, un'altra variabile per età della seconda persona, 18 00:00:43,690 --> 00:00:44,780 sorta di lungo linee. 19 00:00:44,780 --> 00:00:46,230 Età Int - 20 00:00:46,230 --> 00:00:48,850 bene, chiamiamolo 1 per prima persona. 21 00:00:48,850 --> 00:00:51,480 Int età 2 per la seconda persona. 22 00:00:51,480 --> 00:00:53,980 Int 3 anni per la terza persona. 23 00:00:53,980 --> 00:00:56,750 >> Ma aspettate un minuto, questo non è forse il percorso migliore per andare giù. 24 00:00:56,750 --> 00:01:00,620 Perché io non so in anticipo la scrittura e la compilazione di questo programma come 25 00:01:00,620 --> 00:01:02,330 molti utenti ci stanno per essere. 26 00:01:02,330 --> 00:01:06,590 E inoltre, se c'è ben 100 utenti, che dichiara 100 variabili 27 00:01:06,590 --> 00:01:10,350 sorta di stranamente chiamato in questo modo non sentire come il migliore design. 28 00:01:10,350 --> 00:01:14,430 >> Beh, per fortuna esiste un altro tipo di variabile definito un array che 29 00:01:14,430 --> 00:01:18,710 ci permette di immagazzinare qualsiasi numero di int all'interno di esso, anche se non sappiamo 30 00:01:18,710 --> 00:01:22,190 quando si scrive il mio programma quanti tali interi stiamo andando ad avere bisogno. 31 00:01:22,190 --> 00:01:25,970 Allora facciamo un passo indietro ed eliminare questi diversi int, e invece sostituirlo 32 00:01:25,970 --> 00:01:29,620 con una variabile chiamata, dire, età, plurale. 33 00:01:29,620 --> 00:01:33,420 Ma andiamo ulteriormente specificare su questa linea di codice tra parentesi quadre che 34 00:01:33,420 --> 00:01:35,460 desiderare n int. 35 00:01:35,460 --> 00:01:39,570 E quindi, lo faremo insieme fare riferimento a queste int come età. 36 00:01:39,570 --> 00:01:43,490 >> Ora, in un momento sarò in grado di ottenere a ciascuno dei int in questo array 37 00:01:43,490 --> 00:01:47,270 analogamente a titolo di parentesi quadra notazione, a partire da 0. 38 00:01:47,270 --> 00:01:51,720 Quindi andiamo ora in un ciclo di richiederà agli utenti per la loro età. 39 00:01:51,720 --> 00:01:54,780 Per int ottengo 0. 40 00:01:54,780 --> 00:01:59,464 I è inferiore a N, il numero di persone nella stanza, ho plus plus. 41 00:01:59,464 --> 00:02:06,610 >> E ora in questo ciclo, diciamo età printf del numero di persone, cento I 42 00:02:06,610 --> 00:02:09,430 è un segnaposto, virgola. 43 00:02:09,430 --> 00:02:13,210 E ora, invece di iniziare il conteggio da 0 nel programma stesso, diamo a 44 00:02:13,210 --> 00:02:17,180 almeno incremento i di 1 in modo che un normale persona che utilizza questo programma 45 00:02:17,180 --> 00:02:20,120 non deve contare come un informatico forza. 46 00:02:20,120 --> 00:02:26,130 Vediamo ora fare le età, staffa io, così specificando che l'età i-esima nel nostro 47 00:02:26,130 --> 00:02:31,480 array di età sta per arrivare il valore di ritorno di getInt. 48 00:02:31,480 --> 00:02:37,800 >> Ora, sotto questo ciclo, procediamo supporre che qualche tempo passa. 49 00:02:37,800 --> 00:02:41,690 E andiamo ora procediamo in un altro ciclo invecchiare in realtà tutti nella stanza 50 00:02:41,690 --> 00:02:42,800 di un anno. 51 00:02:42,800 --> 00:02:48,110 Quindi, di nuovo, per int ottengo 0, I è meno di N, il numero di persone 52 00:02:48,110 --> 00:02:49,680 camera, ho plus plus. 53 00:02:49,680 --> 00:02:57,210 >> E adesso all'interno di questo ciclo, diciamo printf un anno da oggi il numero persona, 54 00:02:57,210 --> 00:03:00,990 I cento è un segnaposto, sarà essere, cento Io è un altro 55 00:03:00,990 --> 00:03:03,210 segnaposto anni. 56 00:03:03,210 --> 00:03:07,230 E poi a collegare in quelle segnaposto, si deve prima dire che sono più 57 00:03:07,230 --> 00:03:11,220 1, in modo che ancora una volta cominciamo a contare per l'utente 1. 58 00:03:11,220 --> 00:03:18,630 E poi cerchiamo di spina età della persona come staffa età ho più 1, quindi 59 00:03:18,630 --> 00:03:23,740 specificando andare a prendere l'età i-esima nel nostro array di età, aggiungere 1 ad esso, e quindi 60 00:03:23,740 --> 00:03:28,370 inserire tale somma nel nostro segnaposto, chiudi parentesi, punto e virgola. 61 00:03:28,370 --> 00:03:33,280 >> Vediamo ora compilare questo programma con il make età, e corriamo con dot 62 00:03:33,280 --> 00:03:34,990 tagliare le età. 63 00:03:34,990 --> 00:03:38,770 E supponiamo che ci siano solo tre persone nella stanza, e qualcuno è 18, 64 00:03:38,770 --> 00:03:40,700 qualcuno è 19, qualcuno è 20. 65 00:03:40,700 --> 00:03:45,350 Beh, in un anno, ciascuna di quelle persone sta per essere 19, 20, e 21, 66 00:03:45,350 --> 00:03:46,600 rispettivamente. 67 00:03:46,600 --> 00:03:48,948