>> [음악 연주]
>> ROB 보덴 : 그것은 롭 나야.
의 방법을 통해 살펴 보겠습니다 마리오를 구현합니다.
그래서 우리가해야 할 첫번째 일은이다 사용자 입력하라는 메시지를 표시합니다.
>> 우리는 정확히 어떻게 그들에게 필요 키가 큰 피라미드해야합니다.
그래서 여기, 우리는 우리가하고있는 참조 높이 = getInt를.
그리고 기억이 getInt와 기능 CS50에서 구현
라이브러리는, 그래서 정상까지, 우리는 필요 #으로 기억이 cs50.h. 포함
>> 그럼 왜 우리는이 포장해야합니까 DO-whil​​e 루프에서?
음, 우리는 또한 기억해야합니다 사용자의 입력이 유효합니다.
유효하지 않은 입력은 무엇입니까?
그럼 PSET 사양은 구체적으로 말한다 그 높이가 0보다 작거나
23이 잘못보다.
>> 그래서 여기까지, 우리는 우리가 정의하는 것을 볼 수 와 MAX_HEIGHT라는 상수
23의 값.
이 DO-whil​​e 루프 동안 계속됩니다 높이가 0보다 작거나 MAX_HEIGHT입니다
것을 의미한다 높이보다 도 23은 높이보다 작다.
높이가 24 이상인 경우에, 우리는거야 계속해서 반복 할 것.
는 것을 기억 할 - 동안 루프가 사랑스러운 도움이 우리가하고 싶어 할 때마다
사용자 입력과 그 이후, 유효성을 검사 우리는 필연적으로 사용자를 요청해야
적어도 한 번 이상 자신이 원하는 값.
>> 그래서 일단 우리가 입력을 가지고, 우리 이제 피라미드를 구축 할 수 있습니다.
설정이 문제의 트릭 중 하나는 우리는 상단에 시작해야한다는
피라미드.
당신의 바닥을 printf를 할 수 없습니다 피라미드 다음까지 당신의 방법을 구축 할 수 있습니다.
그럼 예를 살펴 보자 PSET 사양에서.
>> 우리는 여기에서 보는 우리는 높이를 입력 할 때 8, 맨 아래
피라미드 구 해시를 인쇄합니다.
그에서 한 레벨 위로 인쇄 하나의 공간과 여덟 해시.
그에서 한 레벨 위로는 두 개의 공간과입니다 일곱 해시, 모든 방법까지 우리
인 피라미드의 정상에 도착 일곱 출력 최대 8 수준,
공간과 두 해시.
그래서 우리가이 사실을 기억 먼저이 최고 수준을한다.
>> 여기에 우리가에서 반복하고 최상위 레벨, 8 행, 계속
행이 0에 도달 할 때까지.
그래서 얼마나 많은 공간을 우리가 필요로 않았다 그 위쪽 행에 인쇄 할?
우리는 일곱 공백을 인쇄 두 해시.
그래서 우리가 원하는 공간의 수는 - 1에 있던 행.
>> 맨 윗줄은 8, 8 마이너스 인 경우 1은 우리에게 일곱 공간을 제공합니다.
그럼 우리가 인쇄됩니다 루프가 한 번에 각각의 공간을 하나의 중.
이렇게하면 공간이 루프는 7이다 7 번 인쇄
7 개의 독립적 인 공간.
>> 그래서 지금 우리는이 해시를 인쇄해야 피라미드의 끝에.
그래서 여기, 우리가 계산해야 해시의 수.
우리는 우리가 높이를하고있는 것을 볼 수 마이너스 행 플러스 2.
어떻게 우리는 그것을 거죠?
>> 기억이 피라미드의 꼭대기 8 행이고, 높이가 13이다.
그리고 우리는 여전히 두 해시 인쇄.
그래서 적어도, 8 마이너스 8 플러스 2 우리에게 정답을 제공합니다.
그리고 하단 참고 피라미드, 1 행.
높이 마이너스 행은 우리에게 7을, 그리고 해줄 것이다 후 플러스 2는 우리에게 아홉 해시를 제공,
정확히 어떤 번호 의 우리가 인쇄 된 것을 해시.
그래서 이것은 우리가 원하는 식입니다 수를 계산하기 위해 사용
각 행에서 해시.
>> 해당 번호를 사용하여, 우리는 또 다른이 매우 유사 루프에 대한
우리가 공간에 사용되는 루프, 그 해시 시간의 반복 번호
하나의 해시마다 인쇄.
맨 윗줄에, 그 거 두 해시를 인쇄 할 수 있습니다.
맨 아래 행에 그 거 구 해시를 인쇄 할 수 있습니다.
서로 행마다 인쇄됩니다 그 사이에 해시의 수.
>> 그리고 맨 마지막에, 우리는 필요 다음에 가서 우리의 새로운 라인을 인쇄
피라미드에 행.
마지막으로, 우리는 새로운 라인을 인쇄 할 필요가 행의 마지막 순서에서
다음에 계속 피라미드의 행.
그리고 우리의 프로그램의 끝에서, 우리는 0을 반환있다.
>> PSET 사양, 반환에게 당 0 엄격하게 할 필요가 없습니다.
그러나 기본이 완료 한 것을 나타냅니다 않습니다.
내 이름은 롭,이 마리오했다.
>> [음악 연주]