1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Cześć, jestem Rob, i niech skakać do edycji hakerów Mario. 3 00:00:18,290 --> 00:00:21,760 Tak więc pierwszą rzeczą, którą musisz zrobić, to uzyskać wysokość od użytkownika. 4 00:00:21,760 --> 00:00:26,290 Tutaj mamy z prośbą o nieujemna liczba całkowita mniejsza niż 24 i 5 00:00:26,290 --> 00:00:31,710 używamy funkcji CS50 GetInt chwycić tego całkowitą od użytkownika. 6 00:00:31,710 --> 00:00:35,260 Widzimy, że jesteśmy wewnątrz pętli do-while , które będą kontynuować tak długo, jak zapętlenia 7 00:00:35,260 --> 00:00:38,400 wysokość jest większa niż 23 lub mniej niż 0. 8 00:00:38,400 --> 00:00:42,850 A więc będziemy kontynuować aż użytkownik faktycznie daje nam to, co chcemy. 9 00:00:42,850 --> 00:00:46,960 >> Kiedy już mamy tę wysokość, mamy do Głównym pętli naszego programu. 10 00:00:46,960 --> 00:00:49,510 Więc pierwsze spojrzenie na przykład od specyfikacji pset. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Widzimy w tym przykładzie, że kiedy Wprowadź wysokość 4, dolny rząd 13 00:00:56,940 --> 00:01:01,520 Pierwszy drukuje cztery skrótów, dwa miejsca, i cztery więcej hashe. 14 00:01:01,520 --> 00:01:06,280 >> Wtedy jeden wiersz wyżej, który drukuje jedną Przestrzeń trzy skróty, dwa miejsca do 15 00:01:06,280 --> 00:01:09,690 oddzielić piramidy, a następnie trzy kolejne skróty. 16 00:01:09,690 --> 00:01:13,460 I powyżej, że dwa miejsca, dwa skróty, dwa miejsca, dwa skróty. 17 00:01:13,460 --> 00:01:18,090 I w końcu, trzy obowiązuje jeden hash, hash dwie przestrzenie jedną. 18 00:01:18,090 --> 00:01:20,980 Należy więc zacząć zwracać uwagę wzór tutaj. 19 00:01:20,980 --> 00:01:22,545 >> Spójrzmy na kod do jak mamy zamiar zrobić. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Widzimy tutaj, że mamy iteracji nad wszystkimi rzędami piramidy. 22 00:01:28,840 --> 00:01:31,720 Najpierw chcemy obliczyć liczba miejsc. 23 00:01:31,720 --> 00:01:34,690 I pamiętaj, że musimy zacząć się Szczyt piramidy i pracy naszych 24 00:01:34,690 --> 00:01:37,790 w dół, ponieważ nie możemy wydrukować Następnie na dole i jeden wiersz w górę 25 00:01:37,790 --> 00:01:39,140 następnie jeden wiersz w górę. 26 00:01:39,140 --> 00:01:44,030 Więc na szczycie piramidy, zawiadomienia że liczba miejsc jest równa 27 00:01:44,030 --> 00:01:45,720 wysokość minus 1. 28 00:01:45,720 --> 00:01:50,120 Idziemy do pomieszczenia, a następnie wydrukować trzy jeden hash i następnie dwa miejsca do 29 00:01:50,120 --> 00:01:53,350 odrębny i inny hash. 30 00:01:53,350 --> 00:01:57,320 >> Więc obowiązuje jest równa wysokość minus wiersz. 31 00:01:57,320 --> 00:02:03,180 Jeśli wiersz jest 1, a nasz wzrost jest 4, To da nam 3 spacje, jak chcemy. 32 00:02:03,180 --> 00:02:06,900 Wtedy to na pętlę wydruków że liczba miejsc. 33 00:02:06,900 --> 00:02:12,630 Jeśli to trzy przestrzenie, a następnie jedziemy do utworzenia jednolitej przestrzeni trzy razy. 34 00:02:12,630 --> 00:02:18,750 >> Kontynuując, teraz chcemy wydrukować skróty z lewej piramidy, która jest 35 00:02:18,750 --> 00:02:20,630 prostu równa liczbie wierszy. 36 00:02:20,630 --> 00:02:23,250 Patrząc z powrotem tutaj, w wierszu jeden, drukujemy jeden hash. 37 00:02:23,250 --> 00:02:25,960 W drugim rzędzie drukujemy dwa, w wiersz trzy drukujemy trzy. 38 00:02:25,960 --> 00:02:30,440 Więc po prostu rząd pętli razy Drukowanie symbolu krzyżyka. 39 00:02:30,440 --> 00:02:34,830 Następnie dla wszystkich wierszy piramidy, my wydrukować dokładnie dwa spacji aby rozdzielić 40 00:02:34,830 --> 00:02:36,360 te piramidy. 41 00:02:36,360 --> 00:02:39,590 >> I w końcu, chcemy wydrukować prawo boku piramidy, której 42 00:02:39,590 --> 00:02:42,160 ponownie taką samą liczbę skrótów od lewej strony. 43 00:02:42,160 --> 00:02:45,680 A więc jest to dokładnie taki sam dla pętli jak wyżej tutaj. 44 00:02:45,680 --> 00:02:49,445 Wreszcie, musimy stworzyć nową linię w Aby przejść do następnego wiersza 45 00:02:49,445 --> 00:02:51,690 piramidy i kontynuować drukowanie. 46 00:02:51,690 --> 00:02:53,010 I to jest to. 47 00:02:53,010 --> 00:02:54,860 Nazywam się Rob i to był Mario. 48 00:02:54,860 --> 00:03:01,718