Ciao e bentornato.
Vorrei fornirti un altro sfida, un altro compito.
Questo incarico verrà risolto con gli array multidimensionali, acquisisci
familiarità con quello, principalmente un array 2D in quanto è qualcosa
che dovresti capire.
Quindi in questa sfida sei andando a creare
un programma c che utilizzi un file bidimensionale array e un programma meteo.
Questo programma troverà il totale precipitazioni per ogni anno, la media annuale
delle precipitazioni e il precipitazioni medie per ogni mese.
Quindi quelle 3 cose sono sarà l'output.
L'input sarà un file matrice bidimensionale
con valori hardcoded per le precipitazioni importi per gli ultimi 5 anni.
Quindi questo significa che sei tu dovrebbe creare un array 2D
con 5 righe e 12 colonne.
Le righe rappresenteranno il file ultimi 5 anni e poi le colonne
rappresenteranno i mesi.
Quindi quanta pioggia hai avuto a gennaio Febbraio marzo aprile per ogni anno.
E la quantità di pioggia dovrebbe essere numeri in virgola mobile.
Perché spesso ti fai conoscere 7. 8 pollici per pioggia per un mese, dovranno
essere punti fluttuanti.
Quando crei questo file bidimensionale array, assicurati che sia un float.
L'output per il programma è assomiglierà a qualcosa di simile.
Qui l'ho appena formattato come file in un certo modo, ma
quello che dovresti prima visualizzare come output è tutto ciò che è nell'array 2D.
Quindi dovresti avere solo un semplice file ciclo che attraversa l'array 2D, visualizza l'anno per il
file array e l'anno sarà solo se è la prima riga, la seconda
riga, la terza riga, puoi semplicemente creare
un numero intero.
E incrementalo e poi il file le precipitazioni saranno tutte le precipitazioni
per tutti i mesi.
Quindi devi aggiungerli mentre procedi.
Quindi quello che dovresti fare prima sei tu dovrebbe effettivamente avere un ciclo for
e un ciclo for interno e attraversarlo fino a calcola la pioggia totale per ogni anno e poi
fai un ciclo per stamparla.
E inoltre, in quel primo ciclo
o in realtà probabilmente vuoi creare un secondo
ciclo con un ciclo interno che attraversa tutti i mesi di ogni anno e calcola le medie mensili.
Quindi di nuovo, il modo in cui immagino il
design per questo programma è numeri in virgola mobile array
2D, dovrai inizializzarlo con tutti i dati hardcoded.
Avrai un primo ciclo che passerà e calcolerà
i totali dell'intero anno.
E poi è facile ottenere il file media annuale perché prendi
solo i totali e li dividi per il numero di anni che è 5.
Quindi la media annuale, non lo fai calcolare in un ciclo.
Ma dovrai calcolare le precipitazioni totali per ogni anno
nel ciclo.
E quindi, avrei un loop.
Dovrai avere un file ciclo interno perché ogni matrice
dimensionale devi avere un ciclo interno, due dimensioni hanno un anello interno.
Quindi un anello esterno e uno interno loop, un ciclo annidato, dovrei dire.
E passi attraverso il tuo primo array.
Inizi all'anno e quindi lascia passo attraverso i miei suggerimenti in realtà penso
di averlo messo nei suggerimenti.
Ma questo è il risultato, tu puoi formattarlo come preferisci.
Ma quello che vedo di nuovo qui è precipitazioni annuali, media annua e
poi medie mensili.
Quindi vuoi prima quello che vuoi per inizializzare il tuo array
2D con mesi di pioggia hard-coded.
Sappiamo come inizializzare un array.
Per un array 2D, tu può inizializzare le righe.
Quindi puoi avere parentesi all'interno delle parentesi per rappresentare ogni riga e
ogni riga ha 12 colonne in modo da avere 12
valori, 12 valori in virgola mobile.
E poi li separi ciascuno riga per virgole e crei solo nuove
parentesi, noi dovrebbe sapere come farlo.
E poi di nuovo solo un promemoria per iterare attraverso
un array bidimensionale, dovrai avere un file ciclo annidato, fondamentalmente un ciclo interno.
Se fosse un array 3D, lo faresti devono avere 2 anelli interni.
La chiave di questa soluzione sarà essere quello di visualizzare
un array 2D e capire come iterare attraverso uno tramite un ciclo annidato.
Se sai come iterare attraverso un array nidificato o un array
2D, starai bene.
Mentre stai iterando puoi mantenere un totale parziale che è il nostro primo set di loop,
lo farà un loop esterno iterare per anno nel ciclo interno o iterare per
mese e è possibile mantenere un totale parziale per ottenere il totale delle
precipitazioni per tutti gli anni.
Quindi il tuo primo obiettivo dovrebbe farti
ottenere solo quella pioggia totale per tutti gli anni.
E mentre ottieni il totale pioggia, puoi anche
stampare il totale annuale.
Poi, dopo che sei uscito da quel giro, tu può stampare la media annuale.
Allora avrai bisogno di un altro loop per visualizzare la media mensile.
E per visualizzare la media mensile ha un anello esterno per ogni mese e il labbro interno passa attraverso
ogni anno.
Penso che questo darà tu una media mensile.
Quindi quelli annuali possono essere in quel primo ciclo e il mensile
sarà nel secondo.
Quindi dovrebbe dire di farli arrivare ottenere le precipitazioni medie mensili.
Quindi imparerai tutto sull'inizializzazione degli
array, capirai come iterare attraverso una matrice bidimensionale, molti
concetti importanti qui.
Buona fortuna e ti fornirò un soluzione nella prossima lezione. Grazie.