1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Здравейте, аз съм Роб, и нека да скочи в хакерската издание на Mario. 3 00:00:18,290 --> 00:00:21,760 Така че първото нещо, което трябва да направите, е да получите височината от потребителя. 4 00:00:21,760 --> 00:00:26,290 Тук сме с молба за неотрицателно цяло число, по-малко от 24 и 5 00:00:26,290 --> 00:00:31,710 ние използваме функцията CS50 GetInt да вземете че число от потребителя. 6 00:00:31,710 --> 00:00:35,260 Ние виждаме, че сме вътре на направи линия, докато че ще изпълнява командите докато 7 00:00:35,260 --> 00:00:38,400 височина е по-голяма от 23 или по-малко от 0. 8 00:00:38,400 --> 00:00:42,850 И така ще продължава, докато използващите всъщност ни дава това, което искаме. 9 00:00:42,850 --> 00:00:46,960 >> След като имаме такава височина, можем да стигнем до основните за линия на нашата програма. 10 00:00:46,960 --> 00:00:49,510 Така че нека първо разгледаме един пример от PSET спекулация. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Ние виждаме в този пример, че когато ние въведете височина от 4, най-долния ред 13 00:00:56,940 --> 00:01:01,520 първо отпечатва четири хешове, две пространства, и още четири хешове. 14 00:01:01,520 --> 00:01:06,280 >> Тогава един ред по-горе, който отпечатва едно космически три хешове, две помещения за 15 00:01:06,280 --> 00:01:09,690 разделяне на пирамидите, и след това още три хешове. 16 00:01:09,690 --> 00:01:13,460 И най-вече, че две помещения, две хешове, две помещения, две хешове. 17 00:01:13,460 --> 00:01:18,090 И накрая, три места един хашиш, две пространства един хеш. 18 00:01:18,090 --> 00:01:20,980 Така че вие ​​трябва да започнете да забележите модела тук. 19 00:01:20,980 --> 00:01:22,545 >> Нека да разгледаме кода за това как ние ще направим това. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Виждаме тук, че ние сме итерации през всички редове на пирамидата. 22 00:01:28,840 --> 00:01:31,720 Първо искаме да се изчисли броя на местата. 23 00:01:31,720 --> 00:01:34,690 И не забравяйте, че трябва да започне в на върха на пирамидата и работата ни 24 00:01:34,690 --> 00:01:37,790 път надолу, тъй като не можем да отпечатате дъно след това един ред нагоре и 25 00:01:37,790 --> 00:01:39,140 след това един ред нагоре. 26 00:01:39,140 --> 00:01:44,030 Така на върха на пирамидата, известието че броят на местата е равна 27 00:01:44,030 --> 00:01:45,720 височина минус 1. 28 00:01:45,720 --> 00:01:50,120 Отиваме, за да отпечатате три места след един хашиш и след две пространства за 29 00:01:50,120 --> 00:01:53,350 отделно и друга хеш. 30 00:01:53,350 --> 00:01:57,320 >> Така пространства, се равнява на височина минус ред. 31 00:01:57,320 --> 00:02:03,180 Ако ред е 1 и нашия височина е 4, че ще ни даде три пространства, както ние искаме. 32 00:02:03,180 --> 00:02:06,900 След това в продължение на контур само разпечатки че редица пространства. 33 00:02:06,900 --> 00:02:12,630 Ако пространства е три, а след това ние ще създаде едно пространство три пъти. 34 00:02:12,630 --> 00:02:18,750 >> Продължавайки, сега искаме да отпечатате хешове на лявата пирамидата, който е 35 00:02:18,750 --> 00:02:20,630 просто равно на номера на реда. 36 00:02:20,630 --> 00:02:23,250 Поглеждайки назад тук, в ред едно, отпечатваме един хашиш. 37 00:02:23,250 --> 00:02:25,960 В ред два отпечатваме две, в Поредни три отпечатваме три. 38 00:02:25,960 --> 00:02:30,440 Така че ние просто контур пъти ред печат символ хашиш. 39 00:02:30,440 --> 00:02:34,830 Тогава за всички редове на пирамидата, ние отпечатате точно две места, за да отделяте 40 00:02:34,830 --> 00:02:36,360 тези пирамиди. 41 00:02:36,360 --> 00:02:39,590 >> И накрая, ние искаме да отпечатате правото страна на пирамидата, който е 42 00:02:39,590 --> 00:02:42,160 отново същия брой хешове като лявата страна. 43 00:02:42,160 --> 00:02:45,680 И така, това е абсолютно същата за линия както по-горе тук. 44 00:02:45,680 --> 00:02:49,445 И накрая, ние трябва да създадем нов ред в За да се премине към следващия ред на 45 00:02:49,445 --> 00:02:51,690 пирамидата и продължи да печата. 46 00:02:51,690 --> 00:02:53,010 И това е всичко. 47 00:02:53,010 --> 00:02:54,860 Моето име е Роб и това е Марио. 48 00:02:54,860 --> 00:03:01,718