1 00:00:00,000 --> 00:00:03,160 >> DAVID J. MALAN: Suponhamos que queremos escrever um programa que pede a todos em 2 00:00:03,160 --> 00:00:06,740 um espaço para a sua idade, e, em seguida, imprime a quantos anos essas pessoas será um 3 00:00:06,740 --> 00:00:07,520 ano, portanto? 4 00:00:07,520 --> 00:00:09,900 Agora, obviamente, o aritmética para esta problema vai ser bastante 5 00:00:09,900 --> 00:00:10,660 simples. 6 00:00:10,660 --> 00:00:14,090 Mas a questão interessante é que, se nós não sei com antecedência quantas pessoas 7 00:00:14,090 --> 00:00:16,790 vão estar nesta sala, como poderíamos ir sobre o armazenamento 8 00:00:16,790 --> 00:00:17,980 todas as suas idades? 9 00:00:17,980 --> 00:00:19,680 Bem, vamos dar uma olhada. 10 00:00:19,680 --> 00:00:22,760 >> Vamos começar primeiro levando o usuário, como fiz aqui, para o 11 00:00:22,760 --> 00:00:26,410 número de pessoas na sala, usando getInt e um loop do-while, a fim de 12 00:00:26,410 --> 00:00:28,220 obter um número inteiro n. 13 00:00:28,220 --> 00:00:32,310 Suponha que agora queremos pedir cada um desses pessoa na sala para sua idade. 14 00:00:32,310 --> 00:00:35,820 Bem, meus instintos seria a utilização de um loop para fazer isso avisar, mas eu também 15 00:00:35,820 --> 00:00:37,840 Preciso de um lugar para armazenar idades dessas pessoas. 16 00:00:37,840 --> 00:00:40,760 E os meus primeiros instintos haveria usar uma variável para o primeiro 17 00:00:40,760 --> 00:00:43,690 idade da pessoa, uma outra variável para a idade da segunda pessoa, 18 00:00:43,690 --> 00:00:44,780 tipo de linhas. 19 00:00:44,780 --> 00:00:46,230 Idade Int - 20 00:00:46,230 --> 00:00:48,850 bem, vamos chamá-lo para uma primeira pessoa. 21 00:00:48,850 --> 00:00:51,480 Int 2 anos para a segunda pessoa. 22 00:00:51,480 --> 00:00:53,980 Int 3 anos de idade para a terceira pessoa. 23 00:00:53,980 --> 00:00:56,750 >> Mas espere um minuto, isto não é talvez o melhor caminho para ir para baixo. 24 00:00:56,750 --> 00:01:00,620 Porque eu não sei com antecedência de escrever e compilar este programa como 25 00:01:00,620 --> 00:01:02,330 muitos usuários não vão ser. 26 00:01:02,330 --> 00:01:06,590 E além disso, se há tantos como 100 usuários, declarando 100 variáveis 27 00:01:06,590 --> 00:01:10,350 tipo de nome estranho como isso não sentir como o melhor design. 28 00:01:10,350 --> 00:01:14,430 >> Bem, felizmente, existe um outro tipo de variável chamada de matriz que 29 00:01:14,430 --> 00:01:18,710 nos permite armazenar qualquer número de ints dentro dela, mesmo que não sabemos 30 00:01:18,710 --> 00:01:22,190 ao escrever o meu programa de quantos tais ints nós vamos precisar. 31 00:01:22,190 --> 00:01:25,970 Então, vamos voltar atrás e apagar estes vários inteiros, e em vez substituí-lo 32 00:01:25,970 --> 00:01:29,620 com uma variável chamada, dizer, idades, plural. 33 00:01:29,620 --> 00:01:33,420 Mas vamos ainda especificar nesta linha de código entre colchetes que 34 00:01:33,420 --> 00:01:35,460 quer n ints. 35 00:01:35,460 --> 00:01:39,570 E, portanto, nós coletivamente referem-se a estes ints como as idades. 36 00:01:39,570 --> 00:01:43,490 >> Agora, em um momento que vou ser capaz de obter em cada um dos inteiros nessa matriz 37 00:01:43,490 --> 00:01:47,270 da mesma forma por meio de colchete notação, começando em 0. 38 00:01:47,270 --> 00:01:51,720 Então, vamos continuar agora em um loop para alertar os usuários para suas idades. 39 00:01:51,720 --> 00:01:54,780 Para int eu recebo 0. 40 00:01:54,780 --> 00:01:59,464 I é menor do que N, o número de pessoas no quarto, eu plus plus. 41 00:01:59,464 --> 00:02:06,610 >> E agora dentro deste loop, digamos printf idade de número pessoa, eu por cento 42 00:02:06,610 --> 00:02:09,430 é um espaço reservado, vírgula. 43 00:02:09,430 --> 00:02:13,210 E agora, ao invés de começar a contar a partir de 0 no programa em si, vamos pelo 44 00:02:13,210 --> 00:02:17,180 menor incremento I até 1 de modo que um normal, pessoa que usa este programa 45 00:02:17,180 --> 00:02:20,120 não tem para contar como um poderio cientista da computação. 46 00:02:20,120 --> 00:02:26,130 Vamos agora fazer as idades, adaptador externo, assim especificando que a idade i-th em nossa 47 00:02:26,130 --> 00:02:31,480 leque de idades vai ficar o valor de retorno de getInt. 48 00:02:31,480 --> 00:02:37,800 >> Agora abaixo deste loop, vamos prosseguir supor que algum tempo passe. 49 00:02:37,800 --> 00:02:41,690 E vamos agora prosseguir em outro loop realmente envelhecemos todos na sala 50 00:02:41,690 --> 00:02:42,800 por um ano. 51 00:02:42,800 --> 00:02:48,110 Então, novamente, para int eu recebo 0, I é menos de N, o número de pessoas no 52 00:02:48,110 --> 00:02:49,680 quarto, eu plus plus. 53 00:02:49,680 --> 00:02:57,210 >> E agora dentro deste loop, digamos printf um ano a partir de agora o número pessoa, 54 00:02:57,210 --> 00:03:00,990 por cento I é um espaço reservado, vai ser, por cento eu é outra 55 00:03:00,990 --> 00:03:03,210 espaço reservado anos de idade. 56 00:03:03,210 --> 00:03:07,230 E, em seguida, para ligar a esses espaços reservados, vamos primeiro dizer que eu mais 57 00:03:07,230 --> 00:03:11,220 1, de modo que mais uma vez, iniciar a contagem para o usuário a partir de 1. 58 00:03:11,220 --> 00:03:18,630 E então vamos ligar a idade da pessoa como as idades adaptador mais 1, assim 59 00:03:18,630 --> 00:03:23,740 especificando ir buscar a idade i-th em nossa variedade de idades, adicione 1 a ele, e, em seguida, 60 00:03:23,740 --> 00:03:28,370 inserir essa soma em nosso espaço reservado, paren próximos, ponto e vírgula. 61 00:03:28,370 --> 00:03:33,280 >> Vamos agora compilar este programa com o make as idades, e vamos executá-lo com um ponto 62 00:03:33,280 --> 00:03:34,990 reduzir as idades. 63 00:03:34,990 --> 00:03:38,770 E suponha que existem apenas três pessoas na sala, e alguém é de 18, 64 00:03:38,770 --> 00:03:40,700 alguém tem 19 anos, alguém é 20. 65 00:03:40,700 --> 00:03:45,350 Bem, em um ano, cada uma dessas pessoas vai ser 19, 20, e 21, 66 00:03:45,350 --> 00:03:46,600 respectivamente. 67 00:03:46,600 --> 00:03:48,948