1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Ciao, mi chiamo Rob e facciamo un salto nella edizione degli hacker di Mario. 3 00:00:18,290 --> 00:00:21,760 Quindi prima cosa che dobbiamo fare è ottenere l'altezza dall'utente. 4 00:00:21,760 --> 00:00:26,290 Qui li stiamo chiedendo un intero non negativo inferiore a 24 e 5 00:00:26,290 --> 00:00:31,710 stiamo usando la funzione CS50 GetInt per afferrare che intero da parte dell'utente. 6 00:00:31,710 --> 00:00:35,260 Vediamo siamo all'interno di un ciclo do-while che continuerà esecuzione finché 7 00:00:35,260 --> 00:00:38,400 altezza è superiore alla 23 o inferiore a 0. 8 00:00:38,400 --> 00:00:42,850 E così continueremo finché l'utente in realtà ci dà quello che vogliamo. 9 00:00:42,850 --> 00:00:46,960 >> Una volta che abbiamo che l'altezza, si arriva a il principale ciclo for del nostro programma. 10 00:00:46,960 --> 00:00:49,510 Quindi diamo prima un'occhiata a un esempio dalla specifica pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Vediamo in questo esempio che quando immettere un'altezza di 4, riga inferiore 13 00:00:56,940 --> 00:01:01,520 stampa prima quattro hash, due spazi, e altri quattro hash. 14 00:01:01,520 --> 00:01:06,280 >> Poi una riga sopra che stampa una spazio tre hash, due spazi a 15 00:01:06,280 --> 00:01:09,690 separare le piramidi, e poi altri tre hash. 16 00:01:09,690 --> 00:01:13,460 E soprattutto che, due spazi, due hash, due spazi, due hash. 17 00:01:13,460 --> 00:01:18,090 E, infine, tre spazi uno hash, due spazi un hash. 18 00:01:18,090 --> 00:01:20,980 Quindi, si dovrebbe iniziare a notare il modello qui. 19 00:01:20,980 --> 00:01:22,545 >> Diamo un'occhiata al codice per come stiamo andando a fare. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Vediamo qui che stiamo scorrendo su tutte le righe della piramide. 22 00:01:28,840 --> 00:01:31,720 In primo luogo vogliamo calcolare il numero di spazi. 23 00:01:31,720 --> 00:01:34,690 E ricordate che dobbiamo cominciare a la parte superiore della piramide e lavorare il nostro 24 00:01:34,690 --> 00:01:37,790 fino in fondo poiché non possiamo stampare il fondo poi una riga verso l'alto e 25 00:01:37,790 --> 00:01:39,140 poi una riga verso l'alto. 26 00:01:39,140 --> 00:01:44,030 Così nella parte superiore della piramide, avviso che il numero di spazi è uguale a 27 00:01:44,030 --> 00:01:45,720 Altezza meno 1. 28 00:01:45,720 --> 00:01:50,120 Stiamo andando a stampare tre spazi quindi un hash e poi due spazi a 29 00:01:50,120 --> 00:01:53,350 separata e un altro hash. 30 00:01:53,350 --> 00:01:57,320 >> Così gli spazi è pari a fila meno di altezza. 31 00:01:57,320 --> 00:02:03,180 Se la riga è 1 e la nostra altezza è 4, che ci darà 3 spazi, come vogliamo. 32 00:02:03,180 --> 00:02:06,900 Allora questo per il ciclo solo stampe quel numero di spazi. 33 00:02:06,900 --> 00:02:12,630 Se gli spazi sono tre, allora stiamo andando a creare un unico spazio tre volte. 34 00:02:12,630 --> 00:02:18,750 >> Proseguendo, ora vogliamo stampare il hash della piramide di sinistra, che è 35 00:02:18,750 --> 00:02:20,630 proprio uguale al numero di riga. 36 00:02:20,630 --> 00:02:23,250 Guardando indietro qui, in fila uno, stampare una hash. 37 00:02:23,250 --> 00:02:25,960 In fila due stampiamo due, in fila tre stampiamo tre. 38 00:02:25,960 --> 00:02:30,440 Volte di fila Così abbiamo semplicemente ciclo stampa il simbolo cancelletto. 39 00:02:30,440 --> 00:02:34,830 Poi per tutte le righe della piramide, abbiamo stampare esattamente due spazi per separare 40 00:02:34,830 --> 00:02:36,360 quelle piramidi. 41 00:02:36,360 --> 00:02:39,590 >> E, infine, vogliamo stampare la destra lato della piramide, che è 42 00:02:39,590 --> 00:02:42,160 nuovamente lo stesso numero di hash come il lato sinistro. 43 00:02:42,160 --> 00:02:45,680 E così è esattamente lo stesso per il ciclo come sopra qui. 44 00:02:45,680 --> 00:02:49,445 Infine, abbiamo bisogno di creare una nuova linea nel Per passare alla riga successiva di 45 00:02:49,445 --> 00:02:51,690 la piramide e continuare la stampa. 46 00:02:51,690 --> 00:02:53,010 E questo è tutto. 47 00:02:53,010 --> 00:02:54,860 Il mio nome è Rob e questo era Mario. 48 00:02:54,860 --> 00:03:01,718