>> [MUZYKA GRA]
>> ROB BOWDEN: To ja, Rob.
Przejdźmy przez how wdrożyć Mario.
Tak więc pierwszą rzeczą, którą musisz zrobić, to pyta użytkownika o wejściu.
>> Musimy zadać je dokładnie tak, jak wysoka piramida powinna być.
Więc widzimy, że robimy Wysokość = GetInt.
I pamiętaj, że funkcja GetInt jest realizowany w CS50
biblioteki, więc do góry, musimy pamiętać o # include cs50.h.
>> Więc dlaczego mamy to zapakowane w pętli do-while?
Cóż, musimy także pamiętać, że Wejście użytkownika musi być ważny.
Co to jest nieprawidłowe wejście?
Dobrze mówi specyfikacja pset specjalnie że wysokość mniejszą niż 0 lub większa
niż 23 jest nieważny.
>> Więc tutaj widzimy, że mamy do definiowania stała się nazywa MAX_HEIGHT
wartość 23.
Pętla do-while będzie kontynuowane podczas wysokość jest mniejsza niż 0 lub MAX_HEIGHT jest
mniejszej niż wysokość, co oznacza, że 23 jest mniejsza niż wysokość.
Więc jeśli wysokość wynosi 24 lub więcej, jesteśmy zamierza kontynuować pętli.
Pamiętaj, że do-while Pętle są dość pomocna, gdy chcemy uzyskać
wprowadzania danych przez użytkownika, a następnie zatwierdź go, ponieważ nieuchronnie zadać użytkownikowi na
najmniej raz na wartości chcą.
>> Więc raz mamy swój wkład, mamy może teraz zbudować piramidę.
Jednym z trików jest ten problem określonymi że ma rozpocząć się na górze
piramidy.
Nie możesz printf dno piramidy, a następnie budować swój sposób.
Więc spójrzmy na przykład od specyfikacji pset.
>> Widzimy tutaj, że kiedy wchodzimy w wysokości 8, na samym dole
Piramida drukuje dziewięć skrótów.
O jeden poziom wyżej niż wydruki jedno miejsce i osiem skróty.
Jeden poziom wyżej od to dwa miejsca i siedem skróty, aż do czasu
dotrzeć do górnej części piramidy, której osiem poziomów up, które drukuje siedem
przestrzenie i dwa skróty.
Więc pamiętaj, że mamy do zrobić pierwszy ten najwyższy poziom.
>> Tutaj mamy iteracji od najwyższego poziomu, rząd 8, kontynuując
dopóki rząd osiągnie 0.
Tak jak wiele miejsc nie musimy wydrukować w tym górnym rzędzie?
Mamy wydrukowane siedem miejsc i dwa skróty.
Tak, liczba miejsc chcemy to wiersz, który był na minus 1.
>> Jeśli górny rząd jest 8, 8 minus 1 daje nam siedem miejsc.
Następnie mamy pętlę, która będzie drukować z każdego miejsca na raz.
Więc kiedy to obowiązuje 7, to pętla siedem razy, drukowanie
siedem poszczególne pomieszczenia.
>> Więc teraz musimy drukować te hashe Na koniec piramidy.
Więc, musimy obliczyć liczba skrótów.
Widzimy, że robimy wysokość minus wiersz oraz 2.
Więc jak mamy to?
>> Pamiętaj, że szczyt piramidy jest wiersz 8, a wysokość to 8.
I nadal drukowane dwa hashe.
Więc przynajmniej, 8 minus 8 Plus 2 daje nam właściwą odpowiedź.
A następnie rozważyć dno piramidy, wiersz 1.
Wzrost minus rząd da nam 7 i następnie dodać 2 daje nam dziewięć skrótów,
który jest dokładnie liczba Sumy, które z drukowane.
Więc to jest formuła chcemy wykorzystywać do obliczania liczby
Sumy w każdym rzędzie.
>> Korzystanie z tej liczby, to wtedy inna dla pętli, bardzo podobne do
dla pętli, że stosowane do pomieszczeń, że iteracje liczba mieszań razy
Drukowanie jednej Hash każdym razem.
W górnym rzędzie, że będzie wydrukować dwa hashe.
W dolnym rzędzie, że będzie wydrukować dziewięć skrótów.
I wzajemnie każdy rząd będzie drukować liczba skrótów pomiędzy.
>> A następnie na samym końcu, musimy wydrukować naszą nową linię, aby przejść do następnego
wiersz w piramidzie.
Wreszcie, musimy wydrukować nową linię na końcu rzędu w celu
kontynuować następne wiersz piramidy.
I na koniec naszego programu, mamy powrót 0.
>> Wg specyfikacji pset, powrót 0 nie jest to bezwzględnie konieczne.
Ale to nie oznacza, że ​​głównym jest wykonywana.
Nazywam się Rob, i to był Mario.
>> [MUZYKA GRA]