Ciao Bentornato.
In questa lezione dimostrativa Voglio fornire una soluzione al nostro programma meteo
di cui ho parlato nella nostra precedente sfida.
Quindi iniziamo il codice blocchi creano un progetto.
Sto per nominare questo progetto meteo.
E ancora, solo un promemoria l'applicazione ci
consentirà di ottenere totali annuali e mensili medie per quantità di pioggia.
Quindi proprio in alto, vuoi per fornire commenti che ti dicono qual
è il programma.
Ancora una volta, questo programma sarà trovare i totali annuali, la media annuale
e la media mensile per diversi anni dei dati sulle precipitazioni, essenzialmente 5 anni.
Quindi proprio in cima, vado per definire un paio di costanti e non abbiamo esaminato
la definizione direttiva del preprocessore in dettaglio ancora, ma
hai familiarità con questo, non è davvero complicato.
Quindi lo includerò e io voglio scrivere un codice di buona qualità.
Quindi mi limiterò a definire uno chiamato mesi può
essere uguale a 12 e una costante.
Puoi anche usare la costante modificatore e definirò anche uno
chiamato anni uguale a 5.
Stiamo per recitare.
E la prima cosa che vogliamo davvero da fare nella nostra funzione
principale è creare il nostro array che è un array bidimensionale e vogliamo inizializzare
i dati.
Quindi inizializzeremo quantità di precipitazioni, dati sulle
precipitazioni per il 2010, 2011 e 2015 o qualcosa del genere.
E quindi sappiamo come creare un file array bidimensionale, abbiamo
appena specificato il nome del tipo di
dati e Penso che dovrebbero essere un float perché i float hanno punti decimali e gli importi delle precipitazioni possono essere decimali.
Quindi diremo solo float, chiameremo pioggia e
poi lo specificheremo noi desidera avere 5 righe e 12 colonne.
Quindi diremo solo anni che è la nostra costante e i mesi, quindi
lo inizializzeremo.
Lo abbiamo dichiarato di quella dimensione e ora vogliamo inizializzarlo.
E puoi inizializzarlo avendo parentesi proprio così e poi puoi avere parentesi
quadre per ogni riga.
Potremmo anche fare questo costante di matrice se lo
volessimo, ma non lo faremo.
Ora l'ho già fatto dati e non
voglio digitare cosa sarebbe.
Questo sarebbe 10 volte 50 o 12 per 5, sarebbero 60 elementi.
Non voglio digitare 60 elementi proprio ora perché
ci vorrà tempo e tu te ne vai sedersi lì e addormentarsi.
Quindi copierò e incolla la mia inizializzazione e
inizializza alcuni dati.
Questi sono solo alcuni dati fittizi; potrebbe non essere corretto.
Ma vedrai che abbiamo parentesi per ogni riga e quindi abbiamo 5 righe.
Stiamo separando ogni riga da un file virgola e abbiamo queste parentesi graffe
all'interno per ogni riga.
E poi dentro il riccio parentesi graffe, stiamo separando ogni
valore mensile con una virgola.
Quindi stiamo separando le righe per virgole e stiamo separando i
valori all'interno delle righe con virgole.
Eccone un mucchio quantità annue di pioggia.
Quindi per esempio questa prima riga rappresenterebbe l'anno 2011 e la prima colonna
sarebbe gennaio.
Quindi nel gennaio del 2011, noi aveva 4. 3 pollici di pioggia.
Quaggiù se dovessimo guardare il 6. 7, questo sarebbe per l'anno 2012, 13.
Per il mese di marzo noi aveva 6. 7 pollici di pioggia.
Quindi puoi vedere come questo rappresenta anni e mesi per le precipitazioni.
Ora che abbiamo inizializzato tutto i nostri dati, possiamo effettivamente inizializzare o creare
le nostre altre variabili locali.
Quindi creeremo solo un anno e un
mese perché questo ci aiuterà a mantenere i nostri anni dritto e i nostri mesi dritti.
Quindi dico solo anno,
mese li creerò sulla stessa linea e creerò anche una coppia galleggia subtotale e totale.
Il totale parziale sarà i totali annuali; totale sarà la pioggia totale in modo da
poter ottenere la media annuale.
E lo scopriremo anche come ottenere le medie mensili.
Quindi la prima cosa di cui ho bisogno
è necessario avere un ciclo for che stamperà il nostro file precipitazioni per un anno particolare.
Quindi prima lo farò stampare su una sola riga.
Stamperò solo l'anno, e aggiungerò una scheda ...
aggiungi una scheda per renderlo meglio formattato.
Aggiungiamo 2 schede, vedremo come questo sembra una volta che lo mostro.
E poi metterò la pioggia, e lo metterò in pollici e aggiungerò un
avanzamento riga.
E ancora, vorresti provare questo per vedere come appare.
E poi entrerò nel mio ciclo.
Allora cosa voglio fare in ordine per calcolare i totali parziali
per ogni anno visualizzarli, voglio andare attraverso tutte le righe, tutti gli anni, e poi per ogni anno,
io voglio passare attraverso tutti i mesi perché ho bisogno di
sommare i mesi.
Quindi il nostro ciclo esterno inizierà fuori con il primo anno, che è il 2011
ma in realtà è 0 all'interno del array perché gli array sono indicizzati 0.
E sto anche inizializzando un'altra variabile locale qui dentro.
Ricorda, i loop sono molto flessibili.
Puoi effettivamente crearne altri variabili nell'istruzione for.
Non avevo bisogno di creare una variabile che viene utilizzato al di fuori
dell'istruzione for nelle righe 19 o 20.
Quindi qui sto solo andando a creare una variabile chiamata total o inizializza la
mia variabile totale.
E poi vado fino a quando il mio anno è inferiore ai miei anni, il che è
costante e aumenterò il mio anno variabile di controllo del ciclo del contatore.
Quindi l'anno e il mese sono in loop variabili di controllo sulle righe 19.
E questo succederà rappresentano il mio ciclo esterno.
È un array bidimensionale, quindi lo sono avrà bisogno anche di un ciclo interno.
E il mio ciclo interiore sta andando per passare ogni mese.
Quindi qui sto per dire mese è uguale a 0, anche il subtotale per ogni
mese è uguale a 0 inizializzalo.
E vado avanti fino a quando Ho finito con tutti i miei mesi.
E sto per incrementare la mia variabile di controllo del ciclo, e questo sarà il mio
ciclo interno.
Quindi nel mio ciclo interiore posso davvero determinare i totali parziali, non ho bisogno
di visualizzare nulla.
Quindi tutto quello che farò nel mio ciclo interno
è che aggiungerò al mio totale parziale per ogni anno, il mio totale parziale è il totale annuale.
Ed eccomi qui per accedere all'array.
Il nome del mio array sarà la pioggia.
Quindi posso solo dire pioggia sub anno, quindi questo sarebbe tutto per il 2011 inizialmente
perché il mio esterno loop e poi per ogni mese.
E sto aggiungendo qualcosa.
Quindi sto dicendo che il totale parziale è uguale al totale parziale più pioggia più il valore dell'array.
Quindi il ciclo interno passa attraverso tutti i mesi di quell'anno ne
creano un totale parziale.
Ora voglio visualizzare il file subtotale al di fuori del
ciclo perché desidero solo visualizzare il subtotale 5 volte per 5 anni.
Quindi qui posso un bel po ' dichiarazione di stampa
che aiuta a formattare un po 'i dati e anche aiuta a visualizzarlo correttamente.
Ora questo sarà il file anno e il totale parziale.
Quindi probabilmente vorremo aggiungere al totale parziale, direi un paio di schede, ma vedremo cosa sembra, quindi
slash t slash t.
E poi l'unica altra cosa quello che vogliamo fare
è aggiungere al totale perché ne abbiamo bisogno avere il totale per tutti gli anni.
Quindi qui possiamo solo dire il totale più è uguale al totale parziale.
E poi noterai il totale parziale viene effettivamente reinizializzato ogni volta che
vai al ciclo interno, quindi non dobbiamo rimetterlo a posto.
E qui vogliamo solo fare certo che il rientro è buono.
Di nuovo, nota la mia rientranza per ogni blocco, e in realtà non ho bisogno
delle parentesi su 27 e 29 poiché è una singola affermazione, ma
le lascio lì.
Ora che l'ho fatto dopo di me stampato le precipitazioni annuali o le
precipitazioni per ogni anno, ora posso visualizzare la media annuale perché ho dati sufficienti,
ho il totale precipitazioni in ogni mese precipitazioni.
Quindi qui sto solo per visualizzare la media annuale che è solo
il totale diviso per anni.
Quindi aggiungi un'altra dichiarazione di stampa qui.
Ancora una volta, un altro buon posto per testare.
Quindi andiamo avanti e costruiamo questo, assicurati di non avere
errori poiché è un sacco di codice.
E abbiamo un file anno variabile non dichiarato.
Quando vedi un errore del compilatore, a volte è travisante
di quale sia l'errore effettivo.
Quindi in questo caso mi ha detto che l'avevo fatto un errore sulla riga 19, ma
in realtà la causa dell'errore era l'istruzione precedente che non aveva
un punto e virgola finale.
Facciamo questo e vediamo se noi può vedere la pioggia annuale, vedere
come è formattata.
Quindi eccoci all'anno 2010 precipitazioni in pollici.
Quindi probabilmente stiamo aggiungendo troppe schede dopo quando abbiamo visualizzato i subtotali, la media
annuale è 39. 4.
Quindi probabilmente vogliamo risolverlo semplicemente eliminando una scheda qui.
Ricorda, puoi aggiungere un file scheda nell'output utilizzando la sequenza
di escape barra t.
Quindi almeno sembra abbastanza buono.
Ora dobbiamo averne un altro loop che mostrerà
le medie mensili.
Quindi, prima di visualizzare il mensile medie Voglio stampare
tutto su una singola riga.
Quindi sto solo andando a stampare alcune informazioni utilizzando printf.
Stamperò il mio medie mensili e aggiungi feed di 2 righe
in modo che sia formattato meglio.
E poi vado a stampare fuori le mie altre informazioni.
Stiamo solo andando a separarci i mesi di alcuni spazi e poi aggiungi una nuova
riga.
Quindi faremo lo stesso quando passiamo attraverso il nostro ciclo for.
Ora abbiamo bisogno di un altro ciclo for ora per ottenere le medie mensili.
Quindi in questo ciclo for, quello esterno il ciclo inizierà al mese.
Invece di seguire ogni riga, cosa Quello che farò
qui è che esaminerò ogni colonna perché Devo ottenere la media mensile.
Quindi sto per iniziare e lo sono esamineremo
ogni colonna che è gennaio febbraio Marzo rappresentano le colonne.
E per ogni colonna, vado a ripercorro tutti
gli anni per quella colonna e poi posso usare il totale parziale e il totale di nuovo variabili.
Quindi qui sto per dire mese è uguale a 0, il mese è minore
di mesi e il mese più più.
E poi è il mio ciclo interiore andando a passare attraverso gli anni.
Quindi eccomi qui dire che l'anno è uguale a 0.
E ricorda che voglio anche io per reinizializzare il mio totale parziale.
Quindi qui sto per dire subtotale è uguale a 0
perché voglio iniziare da 0 una volta che ho il mio nuovo anno, passare attraverso tutti gli anni e
quindi incrementare l'anno, la variabile di controllo del salto.
E qui dentro voglio farlo inserisci il mio totale parziale che sarà uguale al mio array
per un anno e mesi.
E quindi è importante capire cosa sta succedendo qui è che cambiamo il modo in cui
siamo identità attraverso l'array.
E i primi loop che abbiamo ripetuto passando in rassegna ogni riga e
osservando ogni colonna.
In questo stiamo effettivamente andando attraverso
ogni colonna e guardando quella riga specifica perché siamo calcolo delle medie mensili.
Quindi otteniamo il totale parziale e poi noi voglio solo stampare il nostro totale parziale diviso
per anni per quel mese.
In modo che corrisponda a la nostra uscita sulla linea 37.
Quindi lo faremo qualcosa del genere, e
lo faremo con 4. 1 formato, subtotale diviso per anni.
E aggiungiamo un paio di spazi così che cercano di allinearlo al
meglio, potremmo voler aggiungere un altro spazio.
E poi dopo che abbiamo stampato tutto fuori, possiamo semplicemente aggiungere un avanzamento riga per la leggibilità,
e il gioco è fatto.
E questo ci darà il medie mensili perché allora abbiamo ottenuto tutti i subtotali l'abbiamo
diviso per anni.
Ora costruiamo questo, nessun errore ed eseguilo.
E ora vedremo ulteriori output per totali mensili o
medie mensili.
Quindi qui vediamo quel mensile medie e il formato
non si allinea bene.
Quindi tutto dipende perché dell'output del personaggio.
In realtà probabilmente vogliamo diminuire lo spazio, aggiungi solo uno spazio lì, vediamo se
funziona meglio.
Ora, quando lo eseguiamo, vediamo se sembra meglio perché vuoi essere
in grado di legare ogni mese con il medie, va un po 'meglio.
Scendiamo ancora un po 'perché i mesi sono 3 caratteri
e gli interi sono 2.
Siamo stati principalmente incasinati tra ottobre e novembre perché c'è un
solo spazio.
Ora posso rimediare solo andando così.
Quindi dovrebbe fare il formato tutto carino.
Ma puoi vedere come siamo solo stampare gli importi delle precipitazioni per
anni e le medie mensili.
Spero che questo ti abbia familiarizzato array bidimensionali, come iterarli,
come assegnare array e come accedere ai dati.
Grazie.