1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Suposem que volem escriure un programa que demana tot el món en 2 00:00:03,160 --> 00:00:06,740 una habitació per la seva edat, i després imprimeix quina edat les persones serà un 3 00:00:06,740 --> 00:00:07,520 any d'aquí? 4 00:00:07,520 --> 00:00:09,900 Ara, òbviament, l'aritmètica per a aquest problema serà bastant 5 00:00:09,900 --> 00:00:10,660 senzill. 6 00:00:10,660 --> 00:00:14,090 Però la pregunta interessant és, si ens no saber per endavant quantes persones 7 00:00:14,090 --> 00:00:16,790 estaran en aquesta sala, com podríem anar pel emmagatzematge 8 00:00:16,790 --> 00:00:17,980 totes les seves edats? 9 00:00:17,980 --> 00:00:19,680 Bé, anem a fer una ullada. 10 00:00:19,680 --> 00:00:22,760 >> Comencem primer que va portar al usuari, com ho he fet aquí, per a la 11 00:00:22,760 --> 00:00:26,410 nombre de persones a l'habitació utilitzant getInt i un bucle do-while per tal de 12 00:00:26,410 --> 00:00:28,220 aconseguir un enter n. 13 00:00:28,220 --> 00:00:32,310 Suposem que ara volem demanar cadascun d'aquests persona a l'habitació per la seva edat. 14 00:00:32,310 --> 00:00:35,820 Bé, el meu instint seria utilitzar un bucle per fer això va provocar, però també 15 00:00:35,820 --> 00:00:37,840 necessita un lloc per emmagatzemar les edats d'aquestes persones. 16 00:00:37,840 --> 00:00:40,760 I els meus primers instints no hauria utilitzar una variable per a la primera 17 00:00:40,760 --> 00:00:43,690 edat de la persona, una altra variable per l'edat de la segona persona, 18 00:00:43,690 --> 00:00:44,780 mena de llarg de línies. 19 00:00:44,780 --> 00:00:46,230 Edat Int - 20 00:00:46,230 --> 00:00:48,850 bo, anem a cridar 1 per a la primera persona. 21 00:00:48,850 --> 00:00:51,480 Int edat 2 per a la segona persona. 22 00:00:51,480 --> 00:00:53,980 Int edat març per a la tercera persona. 23 00:00:53,980 --> 00:00:56,750 >> Espereu un minut, això no és potser el millor camí per baixar. 24 00:00:56,750 --> 00:01:00,620 Perquè jo no sé per endavant de escriure i compilar aquest programa com 25 00:01:00,620 --> 00:01:02,330 molts usuaris no seran. 26 00:01:02,330 --> 00:01:06,590 I per altra banda, si hi ha tants com 100 usuaris, declarant 100 variables 27 00:01:06,590 --> 00:01:10,350 espècie d'estrany nom d'aquest tipus no fa sentir-se com el millor disseny. 28 00:01:10,350 --> 00:01:14,430 >> Bé, per sort hi ha una altra tipus de variable anomenat una matriu que 29 00:01:14,430 --> 00:01:18,710 ens permet emmagatzemar qualsevol nombre d'enters dins d'ella, encara que no sabem 30 00:01:18,710 --> 00:01:22,190 en escriure el meu programa de quants tals ints que necessitaran. 31 00:01:22,190 --> 00:01:25,970 Així que anem a retrocedir i eliminar aquests diversos enters, i en lloc de reemplaçar 32 00:01:25,970 --> 00:01:29,620 amb una variable anomenada, dir, les edats, en plural. 33 00:01:29,620 --> 00:01:33,420 Però anem a especificar amb més detall en aquesta línia de codi entre claudàtors que ens 34 00:01:33,420 --> 00:01:35,460 voler n ints. 35 00:01:35,460 --> 00:01:39,570 I per tant, ho farem col · lectivament referir-se a aquests ints com les edats. 36 00:01:39,570 --> 00:01:43,490 >> Ara, en un moment seré capaç d'obtenir en cada un dels punts en aquesta matriu 37 00:01:43,490 --> 00:01:47,270 de manera similar a manera de claudàtor notació, a partir de 0. 38 00:01:47,270 --> 00:01:51,720 Així que anem a procedir ara en un bucle per incitar els usuaris a les seves edats. 39 00:01:51,720 --> 00:01:54,780 Per int tinc 0. 40 00:01:54,780 --> 00:01:59,464 I és menor que N, el nombre de persones a l'habitació, em plus plus. 41 00:01:59,464 --> 00:02:06,610 >> I ara dins d'aquest bucle, diguem printf edat de la persona número, percentatge que 42 00:02:06,610 --> 00:02:09,430 és un marcador de posició, coma. 43 00:02:09,430 --> 00:02:13,210 I ara, en lloc de començar a comptar a partir 0 en el propi programa, anem a 44 00:02:13,210 --> 00:02:17,180 increment més que per l'1 de manera que una normal, persona que utilitza aquest programa 45 00:02:17,180 --> 00:02:20,120 no ha de comptar com un poder científic de la computació. 46 00:02:20,120 --> 00:02:26,130 Ara farem les edats, el suport que, per tant especificant que l'edat d'ordre i en el nostre 47 00:02:26,130 --> 00:02:31,480 gamma d'edats es posarà el valor de retorn de getInt. 48 00:02:31,480 --> 00:02:37,800 >> Ara per sota d'aquest bucle, anem a procedir assumir que passa algun temps. 49 00:02:37,800 --> 00:02:41,690 I ara anem a procedir en un altre bucle a tothom a la sala d'envellir en realitat 50 00:02:41,690 --> 00:02:42,800 per un any. 51 00:02:42,800 --> 00:02:48,110 Així que de nou, per int tinc 0, I és menys que N, el nombre de persones en el 52 00:02:48,110 --> 00:02:49,680 habitació, em plus plus. 53 00:02:49,680 --> 00:02:57,210 >> I ara dins d'aquest bucle, diguem printf aquí a un any el nombre de persones, 54 00:02:57,210 --> 00:03:00,990 per cent que és un marcador de posició, voluntat sigui, cent Jo és un altre 55 00:03:00,990 --> 00:03:03,210 marcador de posició, anys d'edat. 56 00:03:03,210 --> 00:03:07,230 I a continuació, per connectar als marcadors de posició, primer anem a dir que més 57 00:03:07,230 --> 00:03:11,220 1, pel que de nou vam començar a comptar per l'usuari a partir de l'1. 58 00:03:11,220 --> 00:03:18,630 I després anem a endollar en l'edat de la persona com a suport de les edats que més 1, d'aquesta manera 59 00:03:18,630 --> 00:03:23,740 especificant anar a buscar l'edat d'ordre i en el nostre gamma d'edats, afegir 1 a la mateixa, i després 60 00:03:23,740 --> 00:03:28,370 inserir aquesta suma en el nostre marcador de posició, prop parin, i coma. 61 00:03:28,370 --> 00:03:33,280 >> Ara anem a compilar aquest programa amb maquillatge edats, i l'executem amb el punt 62 00:03:33,280 --> 00:03:34,990 retallar les edats. 63 00:03:34,990 --> 00:03:38,770 I suposem que hi ha només tres persones a la sala, i algú és 18, 64 00:03:38,770 --> 00:03:40,700 algú té 19 anys, una persona és de 20. 65 00:03:40,700 --> 00:03:45,350 Bé, en un any, cadascuna d'aquestes persones serà de 19, 20 i 21, 66 00:03:45,350 --> 00:03:46,600 respectivament. 67 00:03:46,600 --> 00:03:48,948