1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: kuruka Hebu katika Mario. 3 00:00:11,070 --> 00:00:14,850 Mario ni mpango ambapo tutaweza kufanya wetu mwenyewe, pamoja na mali, toleo la 4 00:00:14,850 --> 00:00:17,760 classic Super Mario Brothers mchezo background. 5 00:00:17,760 --> 00:00:21,100 Kwa ajili ya kuweka na tatizo hili, tunakwenda recreate nusu-piramidi kwa 6 00:00:21,100 --> 00:00:23,000 Mario kuruka juu. 7 00:00:23,000 --> 00:00:27,330 Mpango wetu itakuwa maingiliano, hivyo kuuliza mtumiaji pembejeo fulani 8 00:00:27,330 --> 00:00:28,660 urefu kwa piramidi. 9 00:00:28,660 --> 00:00:32,920 Na mpango wa magazeti nje nusu ya piramidi ya urefu kwamba, ambapo 10 00:00:32,920 --> 00:00:37,390 chini hash kushoto aligns na chini kushoto kona ya wastaafu 11 00:00:37,390 --> 00:00:39,710 pato dirisha. 12 00:00:39,710 --> 00:00:44,870 >> Hebu kuvunja tatizo hili katika sehemu mbili, moja, kupata user pembejeo, na wawili, 13 00:00:44,870 --> 00:00:47,040 magazeti nje ya piramidi. 14 00:00:47,040 --> 00:00:51,150 Kumbuka kwamba ingawa kazi GetInt mapenzi retrieve integer, wewe 15 00:00:51,150 --> 00:00:56,260 kuhakikisha kwamba pembejeo hii inafanya maana kwa ajili ya mpango wako, hivyo katika 16 00:00:56,260 --> 00:00:59,690 Mario, itakuwa si kufanya tu bidhaa kwa ajili ya integer. 17 00:00:59,690 --> 00:01:03,440 Utasikia haja ya kuhakikisha kwamba mtumiaji pembejeo integer kwamba ndani ya 18 00:01:03,440 --> 00:01:06,985 chini na juu ya mipaka ya piramidi kwamba unaweza magazeti. 19 00:01:06,985 --> 00:01:12,300 Kwa spec hii, hii ni 0 na 23 ya umoja. 20 00:01:12,300 --> 00:01:16,410 Kama mtumiaji pembejeo integer nje ya mipaka yetu kukubalika, basi tunataka 21 00:01:16,410 --> 00:01:20,840 kuwashawishi tena na tena mpaka wao kutupatia integer halali. 22 00:01:20,840 --> 00:01:25,990 >> Moja ya njia ya kuhakikisha sahihi mtumiaji pembejeo ni kwa kutumia kitanzi Do-Wakati, ambayo ni 23 00:01:25,990 --> 00:01:28,100 sawa na kitanzi Wakati. 24 00:01:28,100 --> 00:01:32,580 Do-Wakati kitanzi executes kanuni ndani ya mwili mara moja, na kisha hundi 25 00:01:32,580 --> 00:01:35,270 kama hali ni alikutana au la. 26 00:01:35,270 --> 00:01:38,830 Hii ni muhimu kwa ajili ya kupata user pembejeo kwa sababu unajua kwamba unahitaji 27 00:01:38,830 --> 00:01:41,805 kuwashawishi angalau mara moja. 28 00:01:41,805 --> 00:01:45,940 Kama hali ni kukutana, mpango nitafanya line baada ya 29 00:01:45,940 --> 00:01:47,270 yako Do-Wakati kitanzi. 30 00:01:47,270 --> 00:01:50,950 Kama hali ni alikutana, ingawa, kitanzi kurudia. 31 00:01:50,950 --> 00:01:55,560 >> Kitanzi Do-Wakati kwa ajili ya kuthibitisha mtumiaji pembejeo itakuwa kuangalia kitu kama hiki. 32 00:01:55,560 --> 00:02:02,920 Mimi kutangaza n kutofautiana, GetInt, na kurudia mpaka n ni halali. 33 00:02:02,920 --> 00:02:06,270 Kumbuka kwamba wakati kutangaza yako kutofautiana, inahitaji sahihi 34 00:02:06,270 --> 00:02:08,449 wigo, kama vile katika Scratch. 35 00:02:08,449 --> 00:02:12,510 Kama mimi kutangaza n ndani ya kitanzi yangu Do-Wakati, wengine wa mpango si kuwa 36 00:02:12,510 --> 00:02:13,750 uwezo wa kupata huduma hiyo. 37 00:02:13,750 --> 00:02:16,100 Ni mdogo na mipaka ya braces curly. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Haki ya wote, hivyo sasa kwamba tumekuwa Ilisahihishwa pembejeo mtumiaji, sisi kweli wanahitaji 40 00:02:23,090 --> 00:02:25,020 kuteka hii nusu-piramidi. 41 00:02:25,020 --> 00:02:29,700 Ni alifanya juu ya wahusika wa kuchapishwa, hivyo hebu kufanya nusu ya piramidi katika rahisi 42 00:02:29,700 --> 00:02:31,480 Nakala mhariri. 43 00:02:31,480 --> 00:02:35,920 Kama tunataka kufanya style Mario piramidi ya urefu wa tatu hiyo iliyokaa 44 00:02:35,920 --> 00:02:41,370 upande wa kushoto wa dirisha yetu, basi tunatarajia aina hashes mbili, bonyeza Enter, 45 00:02:41,370 --> 00:02:47,180 basi aina ya hashes tatu, bonyeza Kuingia, na basi aina ya nne. 46 00:02:47,180 --> 00:02:51,090 >> Lakini katika hili kuweka tatizo, yetu nusu-piramidi ina kuwa haki iliyokaa. 47 00:02:51,090 --> 00:02:55,550 Kutumia kiwango keyboard, jinsi gani wewe kurekebisha faili hii kwa hoja hashes 48 00:02:55,550 --> 00:02:57,210 juu kwa upande wa kulia? 49 00:02:57,210 --> 00:03:03,190 Mimi ili kutumia inasisitiza, mbili juu ya juu ya mstari na moja ya pili. 50 00:03:03,190 --> 00:03:07,690 Kwamba hana kuangalia kama nzuri, ingawa, hivyo hebu kuchukua nafasi inasisitiza na 51 00:03:07,690 --> 00:03:12,450 mazingira, na kuna tuna nusu ya piramidi ya urefu wa tatu. 52 00:03:12,450 --> 00:03:16,330 >> Jaribu na kumbuka hii Nakala mhariri mfano kama wewe kuanza kufikiri nyuma 53 00:03:16,330 --> 00:03:20,100 C. Hebu jaribu na kufikiri baadhi ya aina ya muundo kwamba tunaweza 54 00:03:20,100 --> 00:03:22,750 kuweka katika kujenga kitanzi. 55 00:03:22,750 --> 00:03:27,570 Kuchukua urefu mfano, kusema nane, na kuona kama unaweza kuanza 56 00:03:27,570 --> 00:03:29,470 kuja na muundo. 57 00:03:29,470 --> 00:03:34,710 safu ya kwanza itakuwa na nafasi ya saba ikifuatiwa na hashes mbili. 58 00:03:34,710 --> 00:03:40,090 safu ya pili itakuwa na nafasi sita na tatu hashes, na kadhalika mpaka 59 00:03:40,090 --> 00:03:41,440 nane mfululizo. 60 00:03:41,440 --> 00:03:45,210 >> Lakini jinsi gani ungependa kuwakilisha mstari nth? 61 00:03:45,210 --> 00:03:48,170 Kumbuka kwamba mkataba programu ni sifuri indexed. 62 00:03:48,170 --> 00:03:51,870 Hiyo ina maana kwamba wewe kuanza kuhesabu saa sifuri, hivyo safu ya kwanza ni ya kitaalam 63 00:03:51,870 --> 00:03:57,110 mstari idadi sifuri walioshika mbili, mstari namba moja ina hashes tatu, mstari 64 00:03:57,110 --> 00:04:01,860 namba mbili ina hashes nne, hivyo kufuatia huu kwa ajili ya safu yoyote 65 00:04:01,860 --> 00:04:05,800 idadi n, kuna n plus 2 hashes. 66 00:04:05,800 --> 00:04:09,270 Mimi itabidi kuondoka wewe, ingawa, na kupata nje mfano kwa nafasi. 67 00:04:09,270 --> 00:04:12,240 Kumbuka kwamba muundo yako itakuwa tofauti kidogo kama wewe kuchagua 68 00:04:12,240 --> 00:04:16,649 kuanza kuhesabu yako kutoka moja na sio sifuri. 69 00:04:16,649 --> 00:04:19,560 >> Sasa, una mfano kwa yoyote abstract mstari n. 70 00:04:19,560 --> 00:04:25,190 Unajua jinsi maeneo mengi na magazeti na wangapi hashes, hivyo kwa kila mstari, ili 71 00:04:25,190 --> 00:04:26,270 idadi itabadilika. 72 00:04:26,270 --> 00:04:30,700 Lakini mchakato huo wa kuchapa moja tabia, ama nafasi au 73 00:04:30,700 --> 00:04:33,200 hash, ni mara kwa mara. 74 00:04:33,200 --> 00:04:37,470 Hivyo wote kufanya ni kurudia magazeti kwamba tabia kwa mara kama wengi 75 00:04:37,470 --> 00:04:40,120 kama muundo yako huamua. 76 00:04:40,120 --> 00:04:42,522 >> Hivyo ni jinsi gani sisi kurudia michakato? 77 00:04:42,522 --> 00:04:45,160 Katika Scratch, sisi kutumika kuzuia kurudia. 78 00:04:45,160 --> 00:04:48,580 Katika C, tutaweza kutumia Kwa kitanzi. 79 00:04:48,580 --> 00:04:51,290 Hebu tuangalie syntax Kwa ajili ya matanzi. 80 00:04:51,290 --> 00:04:57,140 >> Kila Kwa kitanzi linajumuisha tatu sehemu, initialization, hali, 81 00:04:57,140 --> 00:04:58,592 na update. 82 00:04:58,592 --> 00:05:01,550 Kwa kitanzi yako itakuwa initialize kutofautiana wakati wa kwanza 83 00:05:01,550 --> 00:05:02,960 inaingia Kwa kitanzi. 84 00:05:02,960 --> 00:05:07,100 Kama hali ni alikutana, mwili ya kitanzi nitafanya. 85 00:05:07,100 --> 00:05:10,070 Baada ya hapo, update nitafanya. 86 00:05:10,070 --> 00:05:13,630 >> Kama hali bado ni alikutana, kitanzi nitafanya na na update 87 00:05:13,630 --> 00:05:18,580 kurudia kwa muda mrefu kama hali yako kutathmini kwa kweli. 88 00:05:18,580 --> 00:05:21,450 Wewe ni sharti lazima hatimaye tathmini ya kwa uongo, ingawa, kwa sababu 89 00:05:21,450 --> 00:05:24,490 tofauti Scratch, hatufanyi kuwa na mizunguko yoyote milele. 90 00:05:24,490 --> 00:05:28,270 Mpango wako lazima mwisho hatimaye. 91 00:05:28,270 --> 00:05:32,330 >> Hapa ni mfano wa Kwa kitanzi kwamba unaweza kutaka kutumia kwa ajili ya Mario. 92 00:05:32,330 --> 00:05:36,790 initialization anatangaza i integer na thamani ya 0. 93 00:05:36,790 --> 00:05:40,750 Muda mrefu kama i ni chini ya urefu, mwili wa kitanzi nitafanya na 94 00:05:40,750 --> 00:05:44,980 kuongeza i kwa moja na kurudia mpaka i ni zaidi au 95 00:05:44,980 --> 00:05:47,220 sawa na urefu. 96 00:05:47,220 --> 00:05:49,140 >> Sasa, yangu Kwa kitanzi ni sifuri index. 97 00:05:49,140 --> 00:05:52,270 Int i kuanza saa sifuri, hata mmoja. 98 00:05:52,270 --> 00:05:55,320 Kama mimi alichagua moja, basi hali yangu ingekuwa pia kuwa tofauti kwa 99 00:05:55,320 --> 00:05:58,740 kitanzi kutekeleza huo idadi ya nyakati. 100 00:05:58,740 --> 00:06:03,490 Kumbuka hii kwa makini wakati uko kuchagua initialization yako na yako 101 00:06:03,490 --> 00:06:08,660 hali, na kushauriana hii chati ya mara mbili ya hundi. 102 00:06:08,660 --> 00:06:13,430 >> Moja ya mambo makubwa kuhusu kompyuta sayansi ni kwamba kuna tu wengi 103 00:06:13,430 --> 00:06:15,490 njia ya kutekeleza mambo. 104 00:06:15,490 --> 00:06:19,450 Unaweza kuchagua kama wewe kuanza saa zero au moja. 105 00:06:19,450 --> 00:06:22,380 Kama hutaki kutumia Kwa kitanzi, unaweza pia kutumia kitanzi Wakati kwa 106 00:06:22,380 --> 00:06:26,530 kurudia kauli muda mrefu kama wewe kuweka kiini cha Kwa kitanzi, 107 00:06:26,530 --> 00:06:31,430 initialization, hali, na update. 108 00:06:31,430 --> 00:06:36,890 Mara sisi kufikiri kitanzi Kwa kuwa sisi ni vizuri zaidi na, basi sisi 109 00:06:36,890 --> 00:06:38,450 wanaweza kukamilisha Mario. 110 00:06:38,450 --> 00:06:41,540 >> Sisi kwanza checked kwa pembejeo user na kisha kutambuliwa 111 00:06:41,540 --> 00:06:43,580 mfano kwa n yoyote mfululizo. 112 00:06:43,580 --> 00:06:49,990 Hivyo kwa kila mstari kutoka sifuri kwa n minus 1 magazeti idadi sahihi ya 113 00:06:49,990 --> 00:06:55,340 nafasi, basi idadi sahihi ya hashes kulingana na muundo wetu, na 114 00:06:55,340 --> 00:06:57,180 kisha mstari mpya. 115 00:06:57,180 --> 00:06:59,640 Pamoja na kwamba, una piramidi yako. 116 00:06:59,640 --> 00:07:02,630 Jina langu ni Zamyla, na hii ilikuwa Mario. 117 00:07:02,630 --> 00:07:11,765