Olá, seja bem-vindo de volta.
Nesta palestra de demonstração Quero fornecer uma solução para o nosso programa meteorológico
de que falei sobre em nosso desafio anterior.
Então, vamos iniciar o código blocos criam um projeto.
Vou nomear este clima de projeto.
E, novamente, apenas um lembrete deste aplicativo
vai nos permitir obter totais anuais e mensais médias para quantidades de chuva.
Então, bem no topo, você quer para fornecer comentários informando qual
é o programa.
Novamente, este programa vai ser encontrar totais anuais, média anual e
média mensal por vários anos de dados de precipitação, 5 anos essencialmente.
Então, bem no topo, estou indo para definir algumas constantes, e não examinamos a definição
diretiva do pré-processador em detalhes ainda, mas você
está familiarizado com isso, não é muito complicado.
Então, vou incluí-lo e deseja escrever um código de boa qualidade.
Então, vou apenas definir aquele que é chamado de meses
pode ser igual a 12 e uma constante.
Você também pode usar a constante modificador, e também vou definir um que é
chamado de anos iguais a 5.
Isso nós vamos estrelar.
E a primeira coisa que realmente queremos para fazer em nossa função
principal é que queremos criar nosso array que é uma matriz bidimensional e queremos
inicializar os dados.
Então, vamos inicializar quantidades de chuvas, dados
de chuvas para 2010, 2011 e 2015 ou algo assim.
E então sabemos como criar um array bidimensional, apenas especificamos
o nome do tipo de dados e
Eu acho que eles deveriam ser um float porque os floats têm casas decimais e as quantidades de chuva podem ser decimais.
Então, vamos apenas dizer flutuar, vamos chamá-lo de chuva
e, em seguida, vamos especificar que deseja ter 5 linhas e 12 colunas.
Então vamos dizer anos que é nossa constante e meses, e então vamos
inicializá-lo.
Declaramos que é desse tamanho e agora queremos inicializá-lo.
E você pode inicializá-lo tendo colchetes assim e então você pode colocar colchetes
internos para cada linha.
Nós também poderíamos fazer isso constante de array
se quisermos, mas não vamos.
Agora eu já fiz isso dados e não quero
digitar o que seria.
Isso seria 10 vezes 50 ou 12 vezes 5, seriam 60 elementos.
Eu não quero digitar 60 elementos agora
porque vai demorar e você só vai sentar lá e adormecer.
Vou copiar e cole na minha inicialização e
inicialize alguns dados.
Estes são apenas alguns dados fictícios; pode não estar correto.
Mas você verá que temos colchetes para cada linha, portanto, temos 5 linhas.
Estamos separando cada linha por um vírgula e temos essas chaves lá
dentro para cada linha.
E então dentro do encaracolado colchetes, estamos separando cada
valor mensal por uma vírgula.
Então, estamos separando as linhas por vírgulas e estamos separando valores
dentro das linhas por vírgulas.
Aqui está um monte de quantidades anuais de chuvas.
Então, por exemplo, esta primeira linha representaria o ano de 2011 e a primeira
coluna seria janeiro.
Então, em janeiro de 2011, nós teve 4. 3 polegadas de chuva.
Aqui embaixo, se fôssemos olhar para o 6. 7, isso seria para o ano de 2012, 13.
Para o mês de março nós teve 6. 7 polegadas de chuva.
Então você pode ver como isso representa anos e meses para chuvas.
Agora que inicializamos todos os nossos dados, podemos inicializar ou criar
nossas outras variáveis locais.
Então, vamos apenas criar um ano e
um mês porque isso ajudará a manter nossos anos em linha reta e nossos meses em linha reta.
Então, estou apenas dizendo ano
mês que estou vou criá-los na mesma linha e também vou criar alguns flutuam subtotal e total.
O subtotal será o total anual; total será a precipitação total para que eu
possa obter a média anual.
E também vamos descobrir como obter médias mensais.
Então, a primeira coisa que preciso
preciso fazer um loop for que imprima nosso precipitação para um determinado ano.
Então, primeiro eu vou imprima em uma única linha.
Eu só vou imprimir o ano, e vou adicionar uma guia ...
adicionar uma guia para torná-lo melhor formatado.
Vamos adicionar 2 guias, veremos como isso parece assim que eu exibo.
E então vou colocar chuva, e vou colocá-lo em polegadas e vou adicionar um feed
de linha.
E, novamente, você gostaria de testar isso para ver como fica.
E então vou entrar no meu ciclo.
Então, o que eu quero fazer para para calcular os subtotais
para cada ano exibi-los, quero ir por todas as linhas, todos os anos, e então para cada
ano, eu quero passar todos os meses porque preciso
somar os meses.
Então, nosso loop externo vai começar fora do primeiro ano, que é 2011, mas
na verdade é 0 dentro do array porque os arrays são 0 indexados.
E também vou inicializar outra variável local aqui dentro.
Lembre-se de que os loops for são muito flexíveis.
Você pode realmente criar outros variáveis na instrução for.
Não precisei criar uma variável que é usado fora da instrução
for nas linhas 19 ou 20.
Então aqui vou apenas criar uma variável chamada total ou inicializar
minha variável total.
E então vou continuar até meu ano é menor do que meus anos, o que é
constante, e vou incrementar meu ano variável de controle de loop de contador.
Então, o ano e o mês são repetidos variáveis de controle nas linhas 19.
E isso vai representam meu loop externo.
É uma matriz bidimensional, então estou vai precisar de um loop interno também.
E meu loop interno está indo para passar por cada mês.
Então aqui vou dizer mês é igual a 0, o subtotal para cada mês
também é igual a 0 inicialize-o.
E vou continuar até Eu terminei com todos os meus meses.
E vou incrementar minha variável de controle de loop, e este será meu
loop interno.
Então, no meu ciclo interno, posso realmente determinar os subtotais, não preciso
exibir nada.
Então, tudo que vou fazer no meu loop
interno é que vou adicionar ao meu subtotal para cada ano, meu subtotal é meu total anual.
E aqui estou indo para acessar a matriz.
Meu nome de array vai ser chuva.
Então eu posso apenas dizer chuva sub ano, então isso seria tudo para 2011 inicialmente
porque meu exterior loop e depois para cada mês.
E eu estou adicionando a isso.
Então, estou dizendo que subtotal é igual a subtotal mais chuva mais o valor da matriz.
Então, o loop interno passa por todos os meses daquele ano
criam um subtotal disso.
Agora eu quero exibir o subtotal fora do loop
porque eu só quero exibir o subtotal 5 vezes por 5 anos.
Então aqui eu posso um pouco legal declaração de impressão
que ajuda a formatar um pouco os dados e também ajuda a exibi-lo corretamente.
Agora este será o ano e o subtotal.
Então, provavelmente, vamos querer adicionar ao subtotal, eu diria algumas guias, mas veremos o que parece, então
barra t barra t.
E então a única outra coisa o que queremos
fazer é adicionar ao total porque precisamos tem o total para todos os anos.
Então, aqui podemos apenas dizer total mais igual a subtotal.
E então você notará o subtotal está sendo reinicializado toda vez que você vai
para o loop interno, então não temos que atrasar isso.
E aqui nós só queremos fazer certifique-se de que o recuo está bom.
Novamente, observe meu recuo para cada bloco e, na verdade, não preciso dos colchetes
em 27 e 29 já que é uma única declaração, mas vou
deixá-los aí.
Agora que fiz isso depois de imprimi a precipitação anual ou a precipitação
de cada ano, agora posso exibir a média anual porque tenho dados suficientes, tenho
o total precipitação em cada precipitação do mês.
Então aqui vou apenas mostrar a média anual, que é apenas
o total dividido pelos anos.
Portanto, adicione outra declaração de impressão aqui.
Novamente, outro bom lugar para testar.
Então, vamos prosseguir e construir isso, certifique-se de que não
haja nenhum erro, pois é muito código.
E nós temos um ano variável não declarado.
Quando você vê um erro do compilador, às vezes é uma representação incorreta
de qual é o erro real.
Então, neste caso, ele me disse que eu tinha um erro na linha 19, mas o que
realmente estava causando o erro era a instrução anterior que não
tinha um ponto e vírgula final.
Vamos rodar isso e ver se nós pode ver a precipitação anual,
ver como está formatada.
Então aqui vamos nós, ano de 2010 precipitação em polegadas.
Provavelmente estamos adicionando muitas guias depois, quando exibimos os subtotais, a média
anual é 39. 4
Então, provavelmente queremos consertar isso simplesmente eliminando uma guia aqui.
Lembre-se, você pode adicionar um guia em sua saída usando a barra
de sequência de escape t
Então isso parece muito bom, pelo menos.
Agora temos que ter outro loop que vai
mostrar as médias mensais.
Então, antes de exibir o mensal médias Quero imprimir
tudo em uma única linha.
Então, vou apenas imprimir algumas informações usando printf.
Vou imprimir meu médias mensais e adicionar feeds de 2
linhas para que seja formatado melhor.
E então vou imprimir minhas outras informações.
Nós vamos apenas separar os meses por alguns espaços e, em seguida, adicione uma nova
linha.
Então, vamos fazer o mesmo quando passamos por nosso loop for.
Agora precisamos de outro loop for agora para obter as médias mensais.
Então, neste loop for, o externo o loop vai começar no mês.
Em vez de passar por cada linha, o que Vou
fazer aqui é passar por cada coluna porque Preciso obter a média mensal.
Então, vou começar e vou passando por
cada coluna que é janeiro fevereiro Março representam colunas.
E para cada coluna, vou percorrer todos
os anos para essa coluna e então posso usar o subtotal e o total novamente as variáveis.
Então aqui vou dizer mês é igual a 0, mês é menor
que meses e mês mais mais.
E então meu loop interno é vai passar pelos anos.
Então aqui estou indo dizer que o ano é igual a 0.
E lembre-se que eu também quero para reinicializar meu subtotal.
Então aqui vou dizer subtotal é igual a 0 porque
quero começar do zero assim que chegar meu ano novo, passar todos os anos e então incrementar
o ano, a variável de controle do salto.
E aqui dentro eu quero colocar no meu subtotal, que será igual ao meu array
por um ano e meses.
E por isso é importante entender o que está acontecendo aqui é que mudamos a maneira como estamos
identidade por meio da matriz.
E os primeiros loops que iteramos passando por cada linha e olhando para
cada coluna.
Neste nós vamos através de cada
coluna e olhando para aquela linha específica porque estamos cálculo de médias mensais.
Obtemos o subtotal e, em seguida, deseja apenas imprimir nosso subtotal dividido
por anos nesse mês.
Para que corresponda com nossa saída na linha 37.
Então, vamos apenas fazer algo assim, e
faremos com 4. 1 formato, subtotal dividido por anos.
E adicionamos alguns espaços para para tentar alinhá-lo da
melhor maneira, podemos adicionar outro espaço.
E então, depois de imprimirmos tudo pronto, podemos apenas adicionar um feed de linha para
facilitar a leitura e pronto.
E isso nos dará o médias mensais porque obtivemos todos os subtotais então nós o
dividimos pelos anos.
Agora vamos construir isso, sem erros e execute-o.
E agora veremos produção para totais mensais ou
médias mensais.
Então, aqui vemos que mensalmente médias e o formato não
se alinham muito bem.
Então tudo depende porque da saída do personagem.
Na verdade, provavelmente queremos diminuir o espaço, só acrescente um espaço aí, vamos ver
se funciona melhor.
Agora, quando o executamos, vemos se parece melhor porque você quer
ser capaz de amarrar cada mês com o médias, isso é um pouco melhor.
Ainda ficamos um pouco fora porque os meses têm 3 caracteres
e os inteiros são 2.
Nós principalmente nos ferramos entre outubro e novembro porque há apenas
um espaço.
Agora posso consertar isso apenas indo assim.
Então isso deve fazer o formato todo legal.
Mas você pode ver como estamos apenas imprimindo quantidades de chuva
para anos e médias mensais.
Espero que isso tenha te familiarizado com matrizes bidimensionais, como iterar por
meio delas, como atribuir matrizes e como acessar dados.
Obrigada.