1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Walkthrough] [Tatizo Set 3] 2 00:00:03,000 --> 00:00:05,000 [Zamyla Chan] [Chuo Kikuu cha Harvard] 3 00:00:05,000 --> 00:00:08,000 [Hii ni CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:10,000 Haki wote, welcome kila mtu walkthrough 3. 5 00:00:10,000 --> 00:00:12,000 Pset 3 ni moja kweli fun. 6 00:00:12,000 --> 00:00:14,000 Ni mwezi mmoja kwa CS50 kuitwa kinyang'anyiro, 7 00:00:14,000 --> 00:00:18,000 hivyo kama wewe ve milele kucheza kinyang'anyiro au sawa bodi Boggle mchezo 8 00:00:18,000 --> 00:00:20,000 kimsingi ni mchezo ambapo una gridi ya barua, 9 00:00:20,000 --> 00:00:24,000 na katika wakati kura unahitaji kupata kama wengi 10 00:00:24,000 --> 00:00:28,000 2-barua au maneno tena ambazo zipo kwenye bodi, 11 00:00:28,000 --> 00:00:32,000 na hivyo kuna sheria fulani kama vile unaweza kutumia tu barua moja 12 00:00:32,000 --> 00:00:37,000 katika gridi ya taifa, moja block katika gridi ya taifa mara moja, na huwezi kwenda nyuma yake. 13 00:00:37,000 --> 00:00:42,000 Unaweza tu kujenga barua kwa kuunganisha pamoja barua karibu, 14 00:00:42,000 --> 00:00:50,000 hivyo hii ni kwenda kuwa pset kweli fun, hivyo hebu angalia toolbox yetu. 15 00:00:50,000 --> 00:00:53,000 >> Tena, appliance bado ni kuwa updated, ili kuhakikisha 16 00:00:53,000 --> 00:00:56,000 kila wakati wewe kuingia appliance na haki kufungua terminal yako dirisha 17 00:00:56,000 --> 00:01:02,000 na katika vituo kufanya Sudo amri yum-y update. 18 00:01:02,000 --> 00:01:04,000 Hii ni muhimu pia kama unataka kuwa na uwezo wa 19 00:01:04,000 --> 00:01:06,000  kukimbia ufumbuzi wafanyakazi, ambayo sisi dhahiri kupendekeza. 20 00:01:06,000 --> 00:01:09,000 Wakati mwingine ni vizuri mara tu ya kumaliza ya code yako 21 00:01:09,000 --> 00:01:12,000 mtihani ni dhidi ya ufumbuzi wafanyakazi, kuhakikisha kuwa kila kitu 22 00:01:12,000 --> 00:01:15,000 wewe kuingia katika ufumbuzi wafanyakazi, chochote kinachotoka huko, 23 00:01:15,000 --> 00:01:18,000 kitu kimoja kinachotokea kwa kificho yako. 24 00:01:18,000 --> 00:01:20,000 Haki wote, ili kuhakikisha ya update appliance yako. 25 00:01:20,000 --> 00:01:23,000 Sasa, pia, tangu sisi ni kushughulika na gridi ya taifa katika kesi hii 26 00:01:23,000 --> 00:01:26,000 sisi ni kweli kwenda kuwa delving katika arrays 2-dimensional. 27 00:01:26,000 --> 00:01:28,000 Tumekuwa kushughulikiwa na arrays 1-dimensional, 28 00:01:28,000 --> 00:01:31,000 lakini sasa tunakwenda kupanua yao ili waweze kuwa na 29 00:01:31,000 --> 00:01:35,000 nyingi safu kama vile nguzo nyingi. 30 00:01:35,000 --> 00:01:38,000 Kisha tunakwenda dhahiri kuwa kutumia utendaji katika pset hii, 31 00:01:38,000 --> 00:01:43,000 kimsingi wito kazi, kutuma vigezo baadhi ya nje 32 00:01:43,000 --> 00:01:46,000 na kisha kupata thamani ya kurudi nyuma. 33 00:01:46,000 --> 00:01:50,000 Na katika kinyang'anyiro sisi siyo kuuliza wewe kweli kufanya jambo zima kutoka mwanzo, 34 00:01:50,000 --> 00:01:53,000 lakini badala yake, sisi ni kweli kutoa kitu kinachoitwa usambazaji kificho, 35 00:01:53,000 --> 00:01:56,000 hivyo code kazi ambayo tumekuwa tayari imeandikwa kwamba aina ya inaweka 36 00:01:56,000 --> 00:02:00,000 mifupa ya pset kama vile kutekeleza baadhi ya mambo magumu 37 00:02:00,000 --> 00:02:04,000 kwamba wewe utakuwa dhahiri kuwa na uwezo wa kusoma na kuelewa juu ya 38 00:02:04,000 --> 00:02:10,000 lakini hawana haja ya kufanya hivyo bado kabisa. 39 00:02:10,000 --> 00:02:15,000 >> Kwa haraka juu ya rehash arrays 1-dimensional. 40 00:02:15,000 --> 00:02:18,000 Arrays ni data miundo kwamba kushikilia maadili mbalimbali ya aina moja, 41 00:02:18,000 --> 00:02:21,000 na kama ukumbusho, hizi arrays ni sifuri-indexed, 42 00:02:21,000 --> 00:02:26,000 hivyo zaidi ya wewe pengine ni ukoo na safu kama huu. 43 00:02:26,000 --> 00:02:29,000 Kama sisi alitaka safu int na urefu 3, 44 00:02:29,000 --> 00:02:32,000 basi tunaweza initialize ni kwa kuwa na maadili int 45 00:02:32,000 --> 00:02:35,000 na kisha mabano mraba kuonyesha urefu wake, 46 00:02:35,000 --> 00:02:39,000 na kisha tunataka hawawajui maadili kwa vipengele maalum ndani ya safu hiyo. 47 00:02:39,000 --> 00:02:44,000 Hapa tuna safu int na index kwanza katika index 0, 2, 48 00:02:44,000 --> 00:02:47,000 index 1 ni 4, index 2 ni 6. 49 00:02:47,000 --> 00:02:52,000 Sema tulitaka safu kubwa na kushikilia maadili mbalimbali. 50 00:02:52,000 --> 00:02:55,000 Kisha sisi inaweza kuwa na safu 2D. 51 00:02:55,000 --> 00:02:58,000 Sasa, hii ni sawa na safu yetu 1-dimensional. 52 00:02:58,000 --> 00:03:02,000 Ni 0 indexed, hivyo hiyo ina maana kwamba safu ya kwanza 53 00:03:02,000 --> 00:03:04,000 ni indexed ifikapo 0. 54 00:03:04,000 --> 00:03:07,000 moja ijayo ni saa 1, kisha mmoja ijayo ni saa 2, 55 00:03:07,000 --> 00:03:11,000 na kisha vile vile tuna safu, na hivyo unaweza kuona kwamba wakati sisi 56 00:03:11,000 --> 00:03:15,000 kutangaza safu yetu sisi pia-kama tu kabla-sisi unahitajika ukubwa wa safu. 57 00:03:15,000 --> 00:03:18,000 Sisi pia vile vile zinaonyesha kawaida ambapo bracket kwanza 58 00:03:18,000 --> 00:03:21,000 inaonyesha jinsi wengi safu una, na ya pili inaonyesha 59 00:03:21,000 --> 00:03:25,000 wangapi nguzo. 60 00:03:25,000 --> 00:03:30,000 >> Haki zote, katika pset hii utasikia wanataka kuwa na uwezo wa 61 00:03:30,000 --> 00:03:35,000 iterate juu ya safu 2D, kuweza kupata kila kipengele 62 00:03:35,000 --> 00:03:39,000 katika safu hii 2D, hivyo kimsingi unataka kufikia 63 00:03:39,000 --> 00:03:42,000 wote michanganyiko ya uwezekano wa safu na maadili ya safu. 64 00:03:42,000 --> 00:03:47,000 Tunataka kufikia mstari 0 katika safu ya 1, 2, na 3. 65 00:03:47,000 --> 00:03:54,000 Tunataka kufikia safu ya 1 katika safu 0, 1 na 2. 66 00:03:54,000 --> 00:03:58,000 Tuna kuwa na aina fulani ya muundo kwamba inaruhusu sisi 67 00:03:58,000 --> 00:04:02,000 iterate juu ya yote ya mistari na wote wa mchanganyiko 68 00:04:02,000 --> 00:04:08,000 ya nguzo ndani ya kwamba. 69 00:04:08,000 --> 00:04:10,000 Hapa nina 2D int safu. 70 00:04:10,000 --> 00:04:14,000 Ina mistari 3 na nguzo 3, 71 00:04:14,000 --> 00:04:19,000 na hivyo hii ni njia ya haraka ya 72 00:04:19,000 --> 00:04:22,000 kupata zima 2D safu. 73 00:04:22,000 --> 00:04:25,000 Mimi kusema safu ya kwanza ni kwenda na 2, 4, na 6, 74 00:04:25,000 --> 00:04:30,000 aina ya sawa na mfano wa awali katika slide hii. 75 00:04:30,000 --> 00:04:35,000 Kisha mimi naenda kuwa mstari 2 kuwa 3, 6, 9, 76 00:04:35,000 --> 00:04:39,000 na kisha mstari 3 ni 4, 8, 12. 77 00:04:39,000 --> 00:04:43,000 Tuna safu yetu 2D, 78 00:04:43,000 --> 00:04:46,000 na tunajua kwamba inaonekana kama hii. 79 00:04:46,000 --> 00:04:52,000 Tuna 2, 4, 6, 80 00:04:52,000 --> 00:04:55,000 3, 6, 9, 81 00:04:55,000 --> 00:05:02,000 4, 8, 12. 82 00:05:02,000 --> 00:05:05,000 Sasa kama sisi kuongeza katika fahirisi, 83 00:05:05,000 --> 00:05:08,000 hii itakuwa mstari 0. 84 00:05:08,000 --> 00:05:11,000 Hii itakuwa mstari 1. 85 00:05:11,000 --> 00:05:13,000 Hii itakuwa mstari 2. 86 00:05:13,000 --> 00:05:19,000 Vile vile tuna safu 0, 87 00:05:19,000 --> 00:05:23,000 safu 1, na safu 2. 88 00:05:23,000 --> 00:05:25,000 Ndiyo. 89 00:05:25,000 --> 00:05:28,000 [Kiume] gani tatu ni safu, na ambayo moja ni mstari? 90 00:05:28,000 --> 00:05:31,000 nguzo ni haya ndio, 91 00:05:31,000 --> 00:05:34,000 hivyo nguzo yako ni haya ndio. 92 00:05:34,000 --> 00:05:37,000 Hii ni safu 0, na hii ni safu ya 1. 93 00:05:37,000 --> 00:05:39,000 Hii ni safu ya 2. 94 00:05:39,000 --> 00:05:44,000 [Kiume] ngapi katika tamko la int kwa meza [3] [3]? 95 00:05:44,000 --> 00:05:50,000 Wakati wewe ni kutangaza safu 2D kisha namba ya kwanza katika mabano mraba 96 00:05:50,000 --> 00:05:53,000 ni kwenda kuwa jinsi wengi safu una, 97 00:05:53,000 --> 00:05:57,000 na kisha moja ya pili ni kwenda kuwa jinsi wengi nguzo. 98 00:05:57,000 --> 00:06:01,000 >> Kubwa, hivyo tunataka baadhi ya aina ya muundo, 99 00:06:01,000 --> 00:06:06,000 baadhi ya aina ya kitanzi ambacho kinaenda kutupa kila mchanganyiko iwezekanavyo. 100 00:06:06,000 --> 00:06:13,000 Sema sisi kuanza kwa kusema-sawa, kupata kitu chochote katika mstari huu- 101 00:06:13,000 --> 00:06:18,000 hebu tu kuangalia safu hii kwa sasa. 102 00:06:18,000 --> 00:06:20,000 Hizi ni safu hapa. 103 00:06:20,000 --> 00:06:23,000 Tunajua kwamba safu yetu index ni kwenda kuwa 0, 104 00:06:23,000 --> 00:06:27,000 lakini kwa kupata hii kipengele ni katika mstari 0 na safu 0, 105 00:06:27,000 --> 00:06:34,000 hivyo basi tunataka kupata hiyo na index ya [0] [0]. 106 00:06:34,000 --> 00:06:38,000 Kisha mmoja hii, vile vile, bado ni juu ya safu ya kwanza, 107 00:06:38,000 --> 00:06:43,000 lakini ni juu ya safu ya pili, hivyo sisi kupata kwamba kwa [0] [1]. 108 00:06:43,000 --> 00:06:48,000 Kisha mmoja wa mwisho itakuwa [0] [2]. 109 00:06:48,000 --> 00:06:52,000 Kila mara tuko katika mstari maalum tunakwenda wanataka 110 00:06:52,000 --> 00:07:00,000 iterate juu ya yote ya maadili iwezekanavyo safu. 111 00:07:00,000 --> 00:07:06,000 Hebu kuanza na kwa kitanzi 112 00:07:06,000 --> 00:07:15,000 kwamba kuanza saa 0, na huenda na urefu wa ngapi safu tuna. 113 00:07:15,000 --> 00:07:26,000 Hii ni njia ya baiskeli kila mstari. 114 00:07:26,000 --> 00:07:29,000 Kisha nini tunataka kufanya ni ndani ya kwamba, 115 00:07:29,000 --> 00:07:33,000 wakati sisi ni saa safu maalum tunataka mzunguko kwa njia zote za nguzo inapatikana, 116 00:07:33,000 --> 00:07:36,000 hivyo basi tutaweza kuwa na mwingine kitanzi. 117 00:07:36,000 --> 00:07:38,000 Hebu simu yake j. 118 00:07:38,000 --> 00:07:42,000 Mimi, j na k ni ya kawaida sana mstari Indexing kitanzi vigezo, 119 00:07:42,000 --> 00:07:48,000 hivyo unaweza kutumia hizi kama wewe kama. 120 00:07:48,000 --> 00:07:52,000 Pia jaribu kuepuka basi-kama vigezo hizi ni kawaida kutumika katika matanzi 121 00:07:52,000 --> 00:07:56,000 kujaribu kuzuia kutumia yao kama majina kama variable kwa mambo mengine katika code yako 122 00:07:56,000 --> 00:08:04,000 sababu tu ya mkataba ni kawaida kutumia i, j, k na ndani ya kitanzi au fahirisi. 123 00:08:04,000 --> 00:08:11,000 Okay, basi hapa tuna kwa kitanzi kwamba iterates juu ya yote ya safu. 124 00:08:11,000 --> 00:08:14,000 Ndipo kila wakati kwamba ni katika mstari tofauti 125 00:08:14,000 --> 00:08:17,000 tutaweza iterate juu ya yote ya nguzo tofauti. 126 00:08:17,000 --> 00:08:23,000 Njia hii tunaweza kweli kupata mchanganyiko kila iwezekanavyo 127 00:08:23,000 --> 00:08:27,000 ya 0, 1, 2 na kwa 0, 1, na 2. 128 00:08:27,000 --> 00:08:29,000 Hiyo mantiki? 129 00:08:29,000 --> 00:08:32,000 Kwa njia hii sisi ni uwezo wa kupata zaidi ya kila thamani. 130 00:08:32,000 --> 00:08:36,000 Sasa, sisi inaweza kuwa amechaguliwa kufanya nguzo ya kwanza pia. 131 00:08:36,000 --> 00:08:39,000 Ni kweli si jambo muda mrefu kama wewe iterate kupitia 132 00:08:39,000 --> 00:08:41,000 wote wa nguzo na wote wa safu. 133 00:08:41,000 --> 00:08:44,000 >> Sasa hebu kufanya kitu kwa maadili haya. 134 00:08:44,000 --> 00:08:48,000 Hebu sema magazeti. 135 00:08:48,000 --> 00:08:55,000 Sasa hebu magazeti integers yao 136 00:08:55,000 --> 00:09:02,000 na kisha variable katika eneo ambalo ni-itakavyo kuwa thamani n meza. 137 00:09:02,000 --> 00:09:07,000 Sasa maalum mstari index itakuwa i kwa sababu sisi kutumika kwamba kwa iterate kupitia safu yetu, 138 00:09:07,000 --> 00:09:14,000 na kisha j kwa iterate kupitia nguzo yetu. 139 00:09:14,000 --> 00:09:24,000 Sasa wacha kufanya 2D. 140 00:09:24,000 --> 00:09:29,000 Sasa wakati sisi kukimbia 2D ni Prints nje wote wa maadili 141 00:09:29,000 --> 00:09:32,000 ili kwamba sisi maalum hapo juu, 142 00:09:32,000 --> 00:09:35,000 hivyo unaweza kuona kwamba huenda kwa njia ya safu yote ya kwanza, 143 00:09:35,000 --> 00:09:38,000 hivyo ni katika mstari 0, na kisha Prints wote wa maadili ndani ya safu ya kwamba 144 00:09:38,000 --> 00:09:40,000 na kisha inaendelea. 145 00:09:40,000 --> 00:09:43,000 Hiyo ni mfano wa njia ya kuwa bila iterate juu ya 146 00:09:43,000 --> 00:09:52,000 na kufanya vitendo juu ya maadili ndani ya safu 2D. 147 00:09:52,000 --> 00:09:59,000 Mkuu, sasa, nini tutaweza kuona katika kanuni ya usambazaji ni wengi, kazi 148 00:09:59,000 --> 00:10:01,000 na hivyo baadhi ya kazi hizi itakuwa bulin kazi 149 00:10:01,000 --> 00:10:03,000 ambapo wao kurudi bulin na wewe. 150 00:10:03,000 --> 00:10:07,000 >> Baadhi itakuwa integers, kwa mfano, na hivyo kimsingi kwa 151 00:10:07,000 --> 00:10:10,000 mapitio utendaji kidogo kimsingi kazi na 152 00:10:10,000 --> 00:10:15,000 thamani ya kurudi, jina, na ambayo unaweza kutumia simu ya mpango, 153 00:10:15,000 --> 00:10:21,000 na kisha wao wanaweza kuwa na idadi yoyote ya vigezo. 154 00:10:21,000 --> 00:10:25,000 Kimsingi wakati wewe piga kazi ndani ya kazi ya pili, 155 00:10:25,000 --> 00:10:27,000 kimsingi kama wewe ni kusema sasa mimi nataka wewe nitafanya kazi hii, 156 00:10:27,000 --> 00:10:31,000 una kupita katika maadili fulani, hivyo katika kesi hii kazi yetu foo 157 00:10:31,000 --> 00:10:36,000 ingekuwa kuchukua integers 2, na ndani ya kazi ambayo kisha 158 00:10:36,000 --> 00:10:40,000 itakuwa na uwezo wa kuzipata, rejea yao kama x na y. 159 00:10:40,000 --> 00:10:44,000 mfano sawa ni chini majukumu 160 00:10:44,000 --> 00:10:48,000 kwamba unaweza kuwa kutumika katika mpango wako crypto, 161 00:10:48,000 --> 00:10:51,000 na hivyo kimsingi kazi hizo walikuwa tayari imeandikwa kwa ajili yenu, 162 00:10:51,000 --> 00:10:57,000 lakini kwa kutegemea kurudi aina yao unaweza kuzitumia ndani ya kazi. 163 00:10:57,000 --> 00:11:00,000 Sema wewe kuwa na kazi ya bulin kuitwa foo. 164 00:11:00,000 --> 00:11:04,000 Basi unaweza kutumia kwa sababu unajua kwamba itakuwa kuwakilisha bulin. 165 00:11:04,000 --> 00:11:06,000 Kimsingi wakati simu yake, itakuwa kurejea nyuma bulin, 166 00:11:06,000 --> 00:11:11,000 hivyo unaweza kutibu kwamba kama hii kuwakilisha bulin. 167 00:11:11,000 --> 00:11:13,000 Ndani ya hali yako unaweza tu kusema 168 00:11:13,000 --> 00:11:17,000 ikiwa foo, na kisha kupita katika vigezo wake required, 169 00:11:17,000 --> 00:11:20,000 5 na 9 kwa mfano, integers 2, 170 00:11:20,000 --> 00:11:22,000 basi, unajua kwamba atarudi ama kweli au uongo, 171 00:11:22,000 --> 00:11:26,000 na hivyo basi unaweza kutumia kama hali yako yenyewe. 172 00:11:26,000 --> 00:11:30,000 Vile vile pia unaweza kusema foo (5, 9) == kweli 173 00:11:30,000 --> 00:11:33,000 au == uongo au kitu kama hicho, 174 00:11:33,000 --> 00:11:38,000 lakini kwamba ni kidogo unnecessary kama kazi yenyewe 175 00:11:38,000 --> 00:11:41,000 tayari inathamini ama kweli au uongo. 176 00:11:41,000 --> 00:11:47,000 Sisi ni kwenda kuweka hii katika akili wakati tunaona baadhi ya mifano katika code usambazaji. 177 00:11:47,000 --> 00:11:50,000 >> Okay, kwa nyuma baada ya kinyang'anyiro tuna arrays 2D 178 00:11:50,000 --> 00:11:53,000 na kuelewa kazi chini ya mikanda yetu. 179 00:11:53,000 --> 00:11:59,000 Katika kinyang'anyiro kimsingi wewe utaenda kuwa na gridi ya barua, 180 00:11:59,000 --> 00:12:02,000 na kisha utaenda kusaidia kutekeleza mpango 181 00:12:02,000 --> 00:12:06,000 ambapo mtumiaji unaweza pembejeo barua tofauti kwamba wao kuona kwenye gridi ya taifa, 182 00:12:06,000 --> 00:12:10,000 ili pia ina maana kwamba wewe ni pia kwenda na kuteka bodi mchezo. 183 00:12:10,000 --> 00:12:13,000 Kisha user itakuwa inputting maneno fulani, 184 00:12:13,000 --> 00:12:17,000 lakini wewe na kuangalia, iwapo maneno hayo ni halali katika kamusi, 185 00:12:17,000 --> 00:12:23,000 au B, kama kweli zipo katika bodi, inaweza kupatikana katika bodi. 186 00:12:23,000 --> 00:12:28,000 Kisha katika code usambazaji tutaweza kwenda juu ya kwamba katika pili. 187 00:12:28,000 --> 00:12:31,000 Utaona nini tayari kwa ajili yenu, 188 00:12:31,000 --> 00:12:35,000 na kisha ndani ya muundo aliyopewa ya maadili ya usambazaji kuongeza utendaji. 189 00:12:35,000 --> 00:12:37,000 Kuna baadhi ya kazi ambazo ni kushoto tupu. 190 00:12:37,000 --> 00:12:40,000 Kuna baadhi ya kazi ambayo wewe tu na kuongeza. 191 00:12:40,000 --> 00:12:43,000 kazi fulani kwamba wewe ni kwenda kufanya kazi na ni sare, 192 00:12:43,000 --> 00:12:45,000 hivyo kuwa na kutekeleza kazi ya sare, 193 00:12:45,000 --> 00:12:47,000 kweli kuchora wote wa barua ubaoni. 194 00:12:47,000 --> 00:12:51,000 Wewe utaenda kuwa na kutekeleza kazi lookup ambapo wewe na kuangalia 195 00:12:51,000 --> 00:12:55,000 kama kamba kwamba mtumiaji inputted ni neno halali, 196 00:12:55,000 --> 00:12:59,000 na hivyo basi kama nilivyoeleza hapo awali, kwamba ni pamoja na kama hiyo ni katika kamusi au si 197 00:12:59,000 --> 00:13:03,000 kama vile kama ni halali mchezo hoja. 198 00:13:03,000 --> 00:13:06,000 Kisha utaenda kutekeleza kinyang'anyiro 199 00:13:06,000 --> 00:13:11,000 ambapo katika mchezo kama mtumiaji ni, kwa mfano, kuwa na shida ya kupata yoyote neno 200 00:13:11,000 --> 00:13:16,000 basi wakiwa aina katika "kinyang'anyiro" ndani ya haraka 201 00:13:16,000 --> 00:13:19,000 kisha bodi mchezo kweli rotates 90 °, 202 00:13:19,000 --> 00:13:24,000 kutunza barua hiyo lakini tu kupokezana ° 90 clockwise. 203 00:13:24,000 --> 00:13:27,000 Na kisha hatimaye tunakwenda kushughulikia kesi na unyeti, 204 00:13:27,000 --> 00:13:35,000 kimsingi wakati wote wa maneno katika kamusi ni pamoja na katika code usambazaji 205 00:13:35,000 --> 00:13:38,000 wote ni kuhifadhiwa kama uppercase, lakini tunataka kuruhusu mtumiaji, kwa mfano, 206 00:13:38,000 --> 00:13:41,000 kama wao kuingia katika mchanganyiko wa herufi ndogo na uppercase 207 00:13:41,000 --> 00:13:45,000 Herufi za chini au tu barua basi kama neno kwamba ni halali 208 00:13:45,000 --> 00:13:50,000 basi wanapaswa kuwa na uwezo wa kupata pointi kwa kuwa vilevile. 209 00:13:50,000 --> 00:13:56,000 >> Sawa, hivyo code usambazaji, inaweza kuwa kidogo mgumu wa kupata njia wakati wa kwanza. 210 00:13:56,000 --> 00:13:59,000 Unaweza kutaka kusoma yote na kupata tu moja kwa moja kwa 211 00:13:59,000 --> 00:14:03,000 kuandika mpango wako, lakini tafadhali kusoma mara moja, 212 00:14:03,000 --> 00:14:06,000 kusoma mara mbili, kusoma mara tatu, kusoma tena na tena 213 00:14:06,000 --> 00:14:09,000 ili kuwa na hisia nzuri na unaweza kuhisi kweli starehe 214 00:14:09,000 --> 00:14:13,000 kwa kificho, hata kama wewe hatukuandika kazi hizi mwenyewe, 215 00:14:13,000 --> 00:14:17,000 kwamba aina ya kujua nini wao ni kufanya na unaweza kutarajia 216 00:14:17,000 --> 00:14:22,000 njia ili wapate kuingiliana na majukumu ya kuwa wewe kutekeleza. 217 00:14:22,000 --> 00:14:25,000 Bila wasiwasi zaidi, hebu kweli kupata katika kanuni hii ya usambazaji, 218 00:14:25,000 --> 00:14:32,000 na mimi itakusaidia guys kufanya maana yake. 219 00:14:32,000 --> 00:14:36,000 Nimekuwa tayari kupakuliwa code usambazaji. 220 00:14:36,000 --> 00:14:38,000 Unaweza kufanya hivyo. 221 00:14:38,000 --> 00:14:41,000 Kuna maelekezo katika spec ambapo una kufanya saraka yako mwenyewe kwa pset 3, 222 00:14:41,000 --> 00:14:46,000 na kisha kama nitafanya amri hiyo hupatikana katika spec 223 00:14:46,000 --> 00:14:49,000 basi utakuwa na uwezo wa shusha faili maneno, 224 00:14:49,000 --> 00:14:56,000 ambayo ina kimsingi faili kamusi, kama sisi tu kuangalia kwamba haraka. 225 00:14:56,000 --> 00:15:03,000 Hii kimsingi ina orodha yote ya maneno ambayo itakuwa ni ya kamusi yetu. 226 00:15:03,000 --> 00:15:05,000 >> Okay, hebu kuanza kwa juu. 227 00:15:05,000 --> 00:15:11,000 Pia hapa utasikia taarifa kwamba mtindo mzuri wa kanuni hii ya usambazaji 228 00:15:11,000 --> 00:15:14,000 ni kwa faida yetu kwa sababu tunaweza kuona comments 229 00:15:14,000 --> 00:15:20,000 kwamba kueleza jinsi code ni kuwa kutumika. 230 00:15:20,000 --> 00:15:22,000 Sisi tuna hii, ikiwa ni pamoja na maktaba yetu. 231 00:15:22,000 --> 00:15:25,000 Ona kwamba hapa sisi ni pamoja # , 232 00:15:25,000 --> 00:15:29,000 na hivyo maktaba ambayo inaruhusu sisi kuweka wimbo wa muda kwa sababu 233 00:15:29,000 --> 00:15:33,000 katika kinyang'anyiro una kimsingi kuingia katika maneno kama wengi iwezekanavyo 234 00:15:33,000 --> 00:15:36,000 ndani ya frame kupewa muda. 235 00:15:36,000 --> 00:15:38,000 Hapa tuna baadhi ya vigezo. 236 00:15:38,000 --> 00:15:42,000 muda wa mchezo tumekuwa kuweka kwa kuwa sekunde 30. 237 00:15:42,000 --> 00:15:45,000 Sisi tunasema kwamba mwelekeo wa gridi-ni mraba gridi- 238 00:15:45,000 --> 00:15:47,000 ni kwenda kuwa 4 x 4. 239 00:15:47,000 --> 00:15:54,000 Sisi tunasema kwamba kuna maneno, idadi ya maneno katika kamusi, 240 00:15:54,000 --> 00:16:01,000 kwamba mahali popote unaweza tu kuwa na upeo wa barua 29. 241 00:16:01,000 --> 00:16:03,000 Basi hapa kuna faili inayoitwa logi. 242 00:16:03,000 --> 00:16:07,000 Kimsingi sisi mtaenda automating baadhi ya matokeo kutoka code yako, 243 00:16:07,000 --> 00:16:11,000 hivyo si kujaribu kubadilisha kitu cha kufanya na logi sababu tutaweza kuwa kukabiliana na kwamba. 244 00:16:11,000 --> 00:16:14,000 Huna kwa kuelewa kabisa kwamba bado, 245 00:16:14,000 --> 00:16:19,000 lakini tu jaribu kubadilisha kitu cha kufanya na gogo. 246 00:16:19,000 --> 00:16:25,000 Ona kwamba hapa hii gridi variable, ambayo ni safu 2D ya wahusika, 247 00:16:25,000 --> 00:16:27,000 ni alitangaza nje ya kazi yetu kuu, 248 00:16:27,000 --> 00:16:29,000 hivyo hii ni kile tunachokiita variable kimataifa. 249 00:16:29,000 --> 00:16:31,000 Kwa sababu sisi ni kushughulika na mchezo hapa, 250 00:16:31,000 --> 00:16:34,000 kama unakumbuka njia yote nyuma scratch 251 00:16:34,000 --> 00:16:36,000 wakati sisi alikuwa na kitu kama alama, kwa mfano, 252 00:16:36,000 --> 00:16:39,000 tulipokuwa kushughulika na mchezo, kwamba alikuwa na kuwa kupatikana kwa 253 00:16:39,000 --> 00:16:43,000 mengi ya scripts mbalimbali, hivyo vile vile, tuna hii variable 254 00:16:43,000 --> 00:16:48,000 kwamba mahitaji ya kuwa kupatikana kwa mengi ya utendaji katika mpango wetu, 255 00:16:48,000 --> 00:16:52,000 hivyo gridi hapa ni safu 2-dimensional kwamba mapenzi kuhifadhi 256 00:16:52,000 --> 00:16:55,000 barua katika mchezo kinyang'anyiro. 257 00:16:55,000 --> 00:16:59,000 Baadaye tutaweza kuona matumizi ya hii baadaye, 258 00:16:59,000 --> 00:17:03,000 lakini basi sisi pia safu ya 2D booleans kuitwa alama, 259 00:17:03,000 --> 00:17:07,000 na hivyo kimsingi wakati sisi kwenda katika kuangalia kama neno 260 00:17:07,000 --> 00:17:12,000 ni halali au si tunahitaji kujua kama tumekuwa alitembelea block fulani, 261 00:17:12,000 --> 00:17:15,000 alitembelea barua fulani, na hivyo basi alama kimsingi ni kwenda 262 00:17:15,000 --> 00:17:20,000 vyenye ama kweli au uongo katika index aliyopewa, 263 00:17:20,000 --> 00:17:23,000 hivyo itakuwa hebu kujua kama sisi tumekuwa huko mbele, 264 00:17:23,000 --> 00:17:26,000 kama tumekuwa alitembelea kwamba barua wakati hundi yetu fulani, 265 00:17:26,000 --> 00:17:30,000 na hivyo alama, kama utaona baadaye, 266 00:17:30,000 --> 00:17:41,000 kimsingi hasa kioo gridi ya taifa. 267 00:17:41,000 --> 00:17:46,000 >> Hapa sisi aliamua kwamba tulitaka wetu data wenyewe aina. 268 00:17:46,000 --> 00:17:48,000 Sisi hatukuwa na furaha na kamba tu. 269 00:17:48,000 --> 00:17:51,000 Sisi kwa kweli alitaka kitu kinachoitwa neno, 270 00:17:51,000 --> 00:17:55,000 hivyo tuna hii struct typedef hapa, 271 00:17:55,000 --> 00:17:58,000 na kisha ndani yake ina bulin kuitwa kupatikana, 272 00:17:58,000 --> 00:18:01,000 hivyo kama neno hili imekuwa kupatikana au la. 273 00:18:01,000 --> 00:18:04,000 Basi ina safu ya wahusika, 274 00:18:04,000 --> 00:18:10,000 kimsingi neno halisi kwamba ni. 275 00:18:10,000 --> 00:18:14,000 Sasa basi, neno ni halisi data mpya aina ya kwamba tumekuwa kufanywa, 276 00:18:14,000 --> 00:18:17,000 ili tuweze kuwa na safu ya maneno, kwa mfano, 277 00:18:17,000 --> 00:18:23,000 au tunaweza kufanya neno mpya na kuwa na matukio mbalimbali ya kwao. 278 00:18:23,000 --> 00:18:26,000 Lakini sisi tu moja kamusi, na hivyo ndiyo sababu sisi tu 279 00:18:26,000 --> 00:18:29,000 struct kuwaita kamusi kinyume na struct typedef. 280 00:18:29,000 --> 00:18:34,000 struct ina integer na ukubwa wa kamusi 281 00:18:34,000 --> 00:18:37,000 kama vile array ya maneno, na tena, 282 00:18:37,000 --> 00:18:41,000 sisi kutumia maneno kimataifa variable, ambayo ni yaliyoelezwa hapo juu, 283 00:18:41,000 --> 00:18:46,000 kuwa idadi ya maneno kwamba ni kweli katika kamusi yetu. 284 00:18:46,000 --> 00:18:49,000 Hapa tuna orodha nzima ya prototypes, kazi prototypes, 285 00:18:49,000 --> 00:18:52,000 kimsingi akisema, sawa, sasa unaweza kutarajia kuwa na 286 00:18:52,000 --> 00:18:55,000 yote ya kazi hizi baadaye katika mpango. 287 00:18:55,000 --> 00:18:57,000 Mimi naenda kuwa kazi utupu kuitwa wazi, 288 00:18:57,000 --> 00:19:00,000 kazi bulin kuitwa kutambaa kwamba inachukua katika 289 00:19:00,000 --> 00:19:05,000 kamba na kisha integers 2, nakadhalika, hivyo unaweza kuona haya hapa. 290 00:19:05,000 --> 00:19:09,000 Pia kipengele nice katika gedit ni kwamba pamoja upande hapa 291 00:19:09,000 --> 00:19:14,000 kama wewe kuhakikisha kuwa wewe kuchaguliwa hii tab kazi hapa, 292 00:19:14,000 --> 00:19:18,000 chanzo code tab, basi itakuwa kweli kuonyesha ninyi wote wa kazi 293 00:19:18,000 --> 00:19:20,000 kwa kuwa katika programu yako. 294 00:19:20,000 --> 00:19:24,000 Ni nitakuonyeshea mambo kadhaa ambayo unaweza kutumia. 295 00:19:24,000 --> 00:19:29,000 Kwa mfano, hapa ina kwamba ve defined data aina mpya inayoitwa neno 296 00:19:29,000 --> 00:19:33,000 na kisha baadhi ya kimataifa vigezo kwamba wewe. 297 00:19:33,000 --> 00:19:37,000 Lakini hii ni kazi tab muhimu kabisa kwa sababu unaweza bonyeza na kurudi 298 00:19:37,000 --> 00:19:42,000 na kuruka kwa maeneo maalum katika programu yako. 299 00:19:42,000 --> 00:19:48,000 >> Haki zote, tuko katika hafla kuu sasa. 300 00:19:48,000 --> 00:19:52,000 Wakati mtumiaji inaingia katika amri, 301 00:19:52,000 --> 00:19:55,000 kimsingi wanaweza ama kusema. / kinyang'anyiro, 302 00:19:55,000 --> 00:19:59,000 au wanaweza pia kuingia katika idadi baada ya kuwa na kimsingi zinaonyesha 303 00:19:59,000 --> 00:20:02,000 ambayo bodi wanataka kucheza na. 304 00:20:02,000 --> 00:20:05,000 Kawaida wakati wowote wewe tu kuingia katika hoja moja ya mstari amri 305 00:20:05,000 --> 00:20:09,000 basi tu kwenda kukupa bodi random, lakini kusema kwa madhumuni debugging 306 00:20:09,000 --> 00:20:12,000 wewe unataka kuhakikisha kwamba wewe tu angalia ubao huo tena na tena 307 00:20:12,000 --> 00:20:15,000 basi nini unaweza kufanya ni kusema tu ./scramble1, kwa mfano, 308 00:20:15,000 --> 00:20:19,000 na itakuwa daima kukupa bodi hiyo. 309 00:20:19,000 --> 00:20:21,000 Hapa ni kuhakikisha matumizi sahihi, 310 00:20:21,000 --> 00:20:26,000 hivyo kama mtumiaji inaingia katika zaidi ya 2 hoja mstari amri, 311 00:20:26,000 --> 00:20:29,000 basi itakuwa kuwafundisha juu ya jinsi ya kutumia vizuri mpango 312 00:20:29,000 --> 00:20:34,000 na kisha exit. 313 00:20:34,000 --> 00:20:38,000 Hapa ikiwa argc ni 2, kwamba maana kama mtumiaji ina idadi inputted 314 00:20:38,000 --> 00:20:42,000 ya neno maalum kwamba wanataka kutumia basi 315 00:20:42,000 --> 00:20:47,000 kimsingi wakati mpango baadaye hufanya bodi random 316 00:20:47,000 --> 00:20:51,000 kisha sisi kimsingi ni kutoa ni mbegu, aina ya kama kulazimisha 317 00:20:51,000 --> 00:20:57,000 kutumia thamani fulani. 318 00:20:57,000 --> 00:21:02,000 Ndipo hapa sisi mzigo maneno yetu faili. 319 00:21:02,000 --> 00:21:06,000 Kimsingi kama hawezi kufungua kamusi, kama kitu fulani kitaenda vibaya, 320 00:21:06,000 --> 00:21:08,000 basi atarudi 1. 321 00:21:08,000 --> 00:21:11,000 Sisi initialize gridi ya taifa. Tutaweza kuangalia ndani ya kazi ambayo baadaye. 322 00:21:11,000 --> 00:21:13,000 Sisi kuweka alama kwa 0. 323 00:21:13,000 --> 00:21:18,000 Sisi hesabu wakati mchezo itakuwa mwisho, 324 00:21:18,000 --> 00:21:20,000 hivyo ndiyo sekunde 30, kama sisi kuweka. 325 00:21:20,000 --> 00:21:27,000 Ndipo hapa, tena, ni faili logi, ambayo huna haja ya kubadilisha. 326 00:21:27,000 --> 00:21:33,000 >> Hapa ni nyama ya mpango ambapo tuna wakati (wa kweli) kitanzi, 327 00:21:33,000 --> 00:21:36,000 hivyo taarifa kwamba kama wewe tu wakati (wa kweli) kitanzi na yenyewe 328 00:21:36,000 --> 00:21:39,000 basi itakuwa tu kuendelea kutekeleza chochote ni katika mwili wake, 329 00:21:39,000 --> 00:21:42,000 lakini kama utaona baadaye, sisi kweli kuwa mapumziko 330 00:21:42,000 --> 00:21:46,000 hivyo sisi kweli kuruhusu-tuna baadhi ya njia ya ni kweli kuvunja nje 331 00:21:46,000 --> 00:21:50,000 ya kazi na si utekelezaji milele. 332 00:21:50,000 --> 00:21:52,000 Kwanza kile kinachotokea ni screen itakuwa wazi 333 00:21:52,000 --> 00:21:59,000 ili uweze kuteka bodi mpya, na kisha itakuwa na kazi ya kuitwa kuteka. 334 00:21:59,000 --> 00:22:03,000 Tena, itakuwa ni kuingia, hivyo kimsingi kila wakati kwamba huenda kwa njia ya kitanzi hii 335 00:22:03,000 --> 00:22:06,000 itakuwa kuripoti score na wewe. 336 00:22:06,000 --> 00:22:09,000 Angalia kama mchezo lazima mwisho, 337 00:22:09,000 --> 00:22:12,000 kama wewe ni nje ya muda au la, na kisha kuripoti muda kiasi gani wameondoka 338 00:22:12,000 --> 00:22:15,000 ikiwa ni mchezo bado katika kucheza. 339 00:22:15,000 --> 00:22:19,000 Basi hapa tuna haraka kwa ajili ya neno, 340 00:22:19,000 --> 00:22:21,000 na kisha sisi kuwa na kazi GetString, 341 00:22:21,000 --> 00:22:26,000 hivyo ndiyo ambapo mtumiaji kweli pembejeo neno kwa ajili yenu. 342 00:22:26,000 --> 00:22:31,000 Kisha kimsingi kama wameweza kweli aliingia neno, kama si null, 343 00:22:31,000 --> 00:22:38,000 kisha mpango logi yake. 344 00:22:38,000 --> 00:22:41,000 Kisha unataka kuangalia kama unahitaji kinyang'anyiro gridi ya taifa, 345 00:22:41,000 --> 00:22:44,000 hivyo kimsingi kama wao kuingia katika kinyang'anyiro amri, kinyang'anyiro neno, 346 00:22:44,000 --> 00:22:48,000 basi ni kwenda mzunguko 90 °. 347 00:22:48,000 --> 00:22:51,000 Kisha vinginevyo kama si kinyang'anyiro neno 348 00:22:51,000 --> 00:22:57,000 basi nini unataka kufanya ni wewe utakuwa unataka kuangalia kwa neno. 349 00:22:57,000 --> 00:22:59,000 (Kupata (neno) ni kweli tutaweza kwenda katika kazi hiyo baadaye.. 350 00:22:59,000 --> 00:23:02,000 Na kisha utasikia wanataka kuangalia ni juu, hivyo kimsingi ni juu ya gridi ya taifa, 351 00:23:02,000 --> 00:23:04,000 na ni katika kamusi? 352 00:23:04,000 --> 00:23:08,000 Na kama ni kesi, basi itakuwa kuongeza alama zako kwa idadi ya herufi 353 00:23:08,000 --> 00:23:12,000 kwamba neno kwamba ni. 354 00:23:12,000 --> 00:23:16,000 Hiyo ni kazi yetu kuu huko. 355 00:23:16,000 --> 00:23:19,000 >> Hii hapa ni kimsingi kama code kutoroka, 356 00:23:19,000 --> 00:23:21,000 hivyo huna haja ya kuwa na wasiwasi juu ya kwamba kabisa sana, 357 00:23:21,000 --> 00:23:25,000 lakini kimsingi kila wewe piga wazi itakuwa wazi terminal 358 00:23:25,000 --> 00:23:32,000 na kuhamia nyuma mshale na aina ya kufuta chochote ameandika kabla. 359 00:23:32,000 --> 00:23:40,000 Hebu si kwenda kutambaa kabisa bado tu. 360 00:23:40,000 --> 00:23:43,000 Badala yake tutaweza kitabu chini na kuona kazi sare ya hapa, 361 00:23:43,000 --> 00:23:45,000 ambayo ni kazi yako TODO. 362 00:23:45,000 --> 00:23:48,000 Kimsingi una magazeti gridi katika hali yake ya sasa, 363 00:23:48,000 --> 00:23:52,000 hivyo tumekuwa tayari kuchukuliwa huduma ya kweli initializing gridi ya taifa, 364 00:23:52,000 --> 00:23:56,000 na hivyo hawana haja ya kuwa na wasiwasi kuhusu barua ambayo kuweka katika gridi ya taifa 365 00:23:56,000 --> 00:24:01,000 au kitu kama hicho, lakini katika kazi sare ya wewe ni kwenda kutaka 366 00:24:01,000 --> 00:24:04,000 magazeti nje viliomo katika gridi ya taifa. 367 00:24:04,000 --> 00:24:07,000 Basi hapa tuna kazi ya bulin kuitwa kupata, 368 00:24:07,000 --> 00:24:10,000 ambayo tuliona juu katika kazi kuu. 369 00:24:10,000 --> 00:24:17,000 Kama neno alikutwa na pia alikuwa inaonekana up katika kamusi, 370 00:24:17,000 --> 00:24:21,000 kama wote wawili wa alirudi kweli, basi ingekuwa kuongeza score. 371 00:24:21,000 --> 00:24:26,000 Hapa ni kazi kupata ambapo inachukua katika neno kama kamba, 372 00:24:26,000 --> 00:24:32,000 na ina kuwa 2 au zaidi wahusika, 373 00:24:32,000 --> 00:24:36,000 na kisha nini hii haina ni ninayechunguza gridi kwa neno hilo. 374 00:24:36,000 --> 00:24:41,000 Hapa tunaona mfano wa iterating juu ya kila kipengele katika gridi ya taifa 375 00:24:41,000 --> 00:24:47,000 ambapo wao iterate juu ya safu na kisha ndani ya iterate kwamba zaidi ya nguzo. 376 00:24:47,000 --> 00:24:50,000 Hapa kumbuka alama 2D safu kwamba kimsingi maduka ama kweli au uongo 377 00:24:50,000 --> 00:24:52,000 kama sisi tumekuwa na barua kwamba tayari. 378 00:24:52,000 --> 00:24:58,000 Kimsingi hii resets yote ya alama kwa sababu tuko tu kushughulika na alama 379 00:24:58,000 --> 00:25:01,000 kila wakati kwamba sisi ni kuangalia neno maalum. 380 00:25:01,000 --> 00:25:04,000 Ndipo hapa mara moja tumekuwa upya alama zote 381 00:25:04,000 --> 00:25:08,000 ni kweli ninayechunguza kwa neno, na hivyo kutafuta neno 382 00:25:08,000 --> 00:25:13,000 hiyo ambapo sisi kutumia kazi kutambaa, hivyo hebu kwenda nyuma hadi kutambaa 383 00:25:13,000 --> 00:25:16,000 na kuangalia ni. 384 00:25:16,000 --> 00:25:20,000 Nini kutambaa haina ni inachukua katika string kuitwa barua 385 00:25:20,000 --> 00:25:27,000 kama vile kimsingi x na y, ambayo ni kuanzia index 386 00:25:27,000 --> 00:25:33,000 ambapo mtumiaji wa amesema neno ni. 387 00:25:33,000 --> 00:25:38,000 Kimsingi ni hundi ikiwa ni x <0 au> mwelekeo 388 00:25:38,000 --> 00:25:41,000 kimsingi ina maana kwamba index kwamba kweli haipo katika mchezo wetu, 389 00:25:41,000 --> 00:25:43,000 hivyo basi kuwa anarudi uongo. 390 00:25:43,000 --> 00:25:47,000 Kama ve tayari alitembelea barua maalum 391 00:25:47,000 --> 00:26:02,000 kisha ambayo inaenda kurudi uongo kama vile kwa sababu ya utawala katika kinyang'anyiro 392 00:26:02,000 --> 00:26:11,000 ni kwamba wakati una 393 00:26:11,000 --> 00:26:14,000 barua hapa, kwa mfano, 394 00:26:14,000 --> 00:26:20,000 unaweza kujiunga barua kwa kwenda juu au kama Ulalo hii, 395 00:26:20,000 --> 00:26:24,000 hivyo kimsingi barua yako ijayo inaweza kuwa wakati wowote wa vitalu haya adjoining, 396 00:26:24,000 --> 00:26:31,000 lakini nini hawezi kufanya, kwa mfano, kwenda barua hii 397 00:26:31,000 --> 00:26:37,000 na kwenda nyuma ya, hivyo unaweza kutumia tu kila barua mara moja. 398 00:26:37,000 --> 00:26:42,000 Kisha kwamba inafanya hisia kwamba hapa ni alama kwamba kama sisi tumekuwa huko mbele, 399 00:26:42,000 --> 00:26:47,000 kama alama ni kuweka kweli, basi si kwamba neno halali. 400 00:26:47,000 --> 00:26:49,000 >> Ndipo kile yake ni hundi. 401 00:26:49,000 --> 00:26:53,000 Ni anasema mimi nina kwenda kuangalia kama wakati huu mahali maalum 402 00:26:53,000 --> 00:26:55,000 barua kwamba tunataka ni huko. 403 00:26:55,000 --> 00:26:57,000 Kama siyo, ni anarudi uongo. 404 00:26:57,000 --> 00:27:02,000 Tangu ni tayari checked kwamba kuzuia, basi ni kwenda kuweka alama 405 00:27:02,000 --> 00:27:06,000 katika hatua hiyo maalum kama kweli. 406 00:27:06,000 --> 00:27:09,000 Sasa ni hundi ya kwamba kimsingi kama sisi ni kuendelea 407 00:27:09,000 --> 00:27:13,000 hiyo ina maana kwamba sisi ni kwenda kutafuta barua ya pili 408 00:27:13,000 --> 00:27:18,000 katika neno kwamba mtumiaji ni kujaribu kuwasilisha. 409 00:27:18,000 --> 00:27:20,000 Hapa kukumbuka nyuma na sheria. 410 00:27:20,000 --> 00:27:24,000 Wewe ni kujaribu kuangalia maadili yote ya karibu, 411 00:27:24,000 --> 00:27:28,000 ndio hapo juu, chini, kushoto na haki kama vile diagonals, 412 00:27:28,000 --> 00:27:32,000 na hivyo vile vile wakati sisi mawazo ya iterating juu ya arrays 2D 413 00:27:32,000 --> 00:27:35,000 ambapo tulitaka iterate juu ya kila iwezekanavyo na kuangalia 414 00:27:35,000 --> 00:27:41,000 kila permutation iwezekanavyo kati ya mstari na fahirisi fahirisi safu 415 00:27:41,000 --> 00:27:43,000 hapa tunataka kuangalia kila mchanganyiko inawezekana, 416 00:27:43,000 --> 00:27:49,000 kama ni upande wa kushoto wa barua, moja kwa moja hapo juu, au kwa haki. 417 00:27:49,000 --> 00:27:56,000 Hapa tunaona kuwa kitanzi hii hundi ya kushoto 418 00:27:56,000 --> 00:27:58,000 wakati i ni -1. 419 00:27:58,000 --> 00:28:04,000 Wakati ni saa 0 ni hundi katika safu sawa kwamba barua ni katika, 420 00:28:04,000 --> 00:28:08,000 na kisha kama i ni 1, ambayo ni ya thamani yake ya mwisho, basi ni hundi ya haki, 421 00:28:08,000 --> 00:28:10,000 na kisha hiyo haitoshi, haki? 422 00:28:10,000 --> 00:28:13,000 Sisi haja ya kuangalia yote ya maadili wima, 423 00:28:13,000 --> 00:28:19,000 hivyo basi hapa tuna kitanzi kwamba anapata checked kama unaendelea chini ya 424 00:28:19,000 --> 00:28:22,000 katika ngazi moja au zaidi, hivyo basi macho ya kwamba 425 00:28:22,000 --> 00:28:28,000 itakuwa kupata kila moja karibu block kwa A. 426 00:28:28,000 --> 00:28:38,000 Hata hivyo, pia hundi block hapa, 427 00:28:38,000 --> 00:28:44,000 hivyo basi tunataka kuhakikisha kwamba sisi si kuangalia kwamba moja. 428 00:28:44,000 --> 00:28:51,000 Sasa basi, kwa kweli kuangalia kama maneno uliotangulia ni halali au si 429 00:28:51,000 --> 00:28:56,000 kisha tunataka kufanya mchakato huo kwa ajili ya mapumziko ya neno 430 00:28:56,000 --> 00:29:00,000 barring moja kwamba tumekuwa tayari kufanyika, hivyo basi hapa ni kazi mtangulizi. 431 00:29:00,000 --> 00:29:03,000 Ni wito yenyewe, na tutaweza kupata katika kuwa kidogo baadaye, 432 00:29:03,000 --> 00:29:13,000 lakini inafanya mchakato huo kwa masharti yote ya baadae. 433 00:29:13,000 --> 00:29:16,000 Tumekuwa aliongea kuhusu kazi kupata. 434 00:29:16,000 --> 00:29:18,000 Sisi kuelewa nini ni kufanya. 435 00:29:18,000 --> 00:29:23,000 Ni kimsingi kuangalia kama hii neno kwamba mtumiaji alitoa 436 00:29:23,000 --> 00:29:27,000 kweli lipo kwenye bodi na kama ni hoja thamani. 437 00:29:27,000 --> 00:29:29,000 Hapa tuna kazi initialize. 438 00:29:29,000 --> 00:29:33,000 Ona kwamba utupu ni, hivyo si kwenda kuwa kurudi kwetu kitu chochote, 439 00:29:33,000 --> 00:29:36,000 lakini ni tu kwenda kufanya kitu kwa ajili yetu. 440 00:29:36,000 --> 00:29:39,000 >> Hapa mbali ya Wikipedia kuna frequency 441 00:29:39,000 --> 00:29:42,000 kwa kila herufi juu ya alfabeti ya msingi juu ya jinsi mara nyingi 442 00:29:42,000 --> 00:29:45,000 ni kutumika katika lugha ya Kiingereza. 443 00:29:45,000 --> 00:29:50,000 Unaweza kuona kwamba e ni, kwa mfano, moja ya barua maarufu kutumika. 444 00:29:50,000 --> 00:29:52,000 Tunataka populate gridi ya taifa. 445 00:29:52,000 --> 00:29:55,000 Nini kazi hii haina ni populate gridi na barua 446 00:29:55,000 --> 00:30:06,000 aina ya jamaa na frequency yao katika safu hii. 447 00:30:06,000 --> 00:30:11,000 Sasa, hii ni kwa kutumia lugha hii hapa 448 00:30:11,000 --> 00:30:14,000 akisema ukubwa wa masafa, 449 00:30:14,000 --> 00:30:16,000 Ni aina ya kesi tu maalum. 450 00:30:16,000 --> 00:30:21,000 Tunaweza kweli matumizi ya kawaida ya masafa, hivyo wakati wewe kweli unataka 451 00:30:21,000 --> 00:30:26,000 kupata urefu wa safu pengine si kwenda kuwa na kutumia ya kawaida ya 452 00:30:26,000 --> 00:30:29,000 lakini badala tu kwa kutumia urefu safu. 453 00:30:29,000 --> 00:30:33,000 Unaweza kuuliza TFS yako ya kuzungumza na wewe kidogo zaidi juu ya kwamba, 454 00:30:33,000 --> 00:30:40,000 lakini tu kujua kwamba hii syntax hapa ni zaidi ya kesi maalum. 455 00:30:40,000 --> 00:30:49,000 Sasa, kwa kila kipengele katika gridi ya taifa 456 00:30:49,000 --> 00:30:53,000 tunataka kufanya barua, na hii ni kwenda kuwa pseudorandom, 457 00:30:53,000 --> 00:30:55,000 hivyo random lakini kabisa. 458 00:30:55,000 --> 00:30:58,000 Kimsingi nini hii haina ni sisi kuweka mbili mpya 459 00:30:58,000 --> 00:31:01,000 na thamani ya kati ya random 0 na 1. 460 00:31:01,000 --> 00:31:03,000 Kulingana na kwamba tunakwenda ramani kwamba, 461 00:31:03,000 --> 00:31:08,000 hivyo kusema kwamba d ni kuweka 0.6, kwa mfano. 462 00:31:08,000 --> 00:31:13,000 Kisha kama d ni 60% katika 463 00:31:13,000 --> 00:31:16,000 basi sisi ni kwenda kuangalia yote ya barua na kupata 464 00:31:16,000 --> 00:31:19,000 jamaa na jinsi mara nyingi wao ni kutumika 465 00:31:19,000 --> 00:31:21,000 nini 60% in 466 00:31:21,000 --> 00:31:24,000 Hii si tu 60% ya alfabeti lakini badala 467 00:31:24,000 --> 00:31:28,000 inachukua hadi nafasi hii kubwa, na kisha b inachukua hadi kiasi hiki, 468 00:31:28,000 --> 00:31:31,000 na kisha e, kwa mfano, itachukua kiasi hiki. 469 00:31:31,000 --> 00:31:35,000 Kulingana na urefu jamaa au masafa 470 00:31:35,000 --> 00:31:39,000 ya barua hizi tunakwenda ramani kwamba thamani random 471 00:31:39,000 --> 00:31:43,000 kati ya 0 na 1 kwa barua maalum. 472 00:31:43,000 --> 00:31:45,000 Hiyo ni nini code hii haina hapa, 473 00:31:45,000 --> 00:31:52,000 na kisha hapa k ni kama mabadiliko ya pamoja ambapo 474 00:31:52,000 --> 00:31:59,000 katika barua tunataka kuwa, na hivyo sisi kuweka tabia katika gridi ya taifa 475 00:31:59,000 --> 00:32:04,000 kuwa k +. 476 00:32:04,000 --> 00:32:07,000 >> Ona kwamba nyuma kufikiri kwa tamaa 477 00:32:07,000 --> 00:32:11,000 tulikuwa na kutumia kazi pande zote ya kukabiliana na kutokuwa sahihi floating-kumweka hapa, 478 00:32:11,000 --> 00:32:14,000 hivyo vile vile tulikuwa kuchukua katika akaunti ya kwamba wakati mwingine 479 00:32:14,000 --> 00:32:18,000 ikifungwa si nini hasa sisi nia yao kuwa, 480 00:32:18,000 --> 00:32:27,000 hivyo tunataka kufanya catch kwa ajili hiyo. 481 00:32:27,000 --> 00:32:32,000 Ndipo hapa sisi kwenda katika faili I / O, kimsingi kusoma na kuandika kwa files, 482 00:32:32,000 --> 00:32:34,000 ambayo utapata ndani ya baadaye lakini sio kabisa bado, 483 00:32:34,000 --> 00:32:39,000 hivyo kimsingi hii kufungua faili kamusi, wasomaji nini katika hilo, 484 00:32:39,000 --> 00:32:42,000 na kisha unaweka ndani ya safu. 485 00:32:42,000 --> 00:32:46,000 Ona kwamba sisi kuweka katika struct kwamba tumekuwa alitangaza, struct kamusi, 486 00:32:46,000 --> 00:32:53,000 na hivyo kamusi ina safu kuitwa maneno yanayohusiana na hayo, 487 00:32:53,000 --> 00:33:00,000 hivyo kile ni kufanya ni kusema kamusi, maneno katika ripoti hii hasa 488 00:33:00,000 --> 00:33:04,000 ni vile vile na thamani. 489 00:33:04,000 --> 00:33:10,000 Kisha sisi ni karibu kumaliza code usambazaji. 490 00:33:10,000 --> 00:33:13,000 Sisi hatimaye kuwa na kazi lookup ambapo una maoni 491 00:33:13,000 --> 00:33:18,000 mwelekezaji juu ya nini kificho kwamba lazima kufanya. 492 00:33:18,000 --> 00:33:21,000 Luke utaangalia juu neno katika kamusi 493 00:33:21,000 --> 00:33:24,000 na kwa muda mrefu kama kama neno kwamba haijawahi kupatikana tayari 494 00:33:24,000 --> 00:33:29,000 kisha bendera ni kama kupatikana hivyo user wanaweza kutumia tena 495 00:33:29,000 --> 00:33:33,000 lakini pia anarudi kufikiri kweli nyuma kazi kuu tena, 496 00:33:33,000 --> 00:33:37,000 anarudi kweli, hivyo anasema kuwa neno ambalo linaweza alifunga. 497 00:33:37,000 --> 00:33:39,000 >> Na kisha hatimaye una kazi kinyang'anyiro, 498 00:33:39,000 --> 00:33:42,000 ambayo ni kazi nyingine ya utupu sababu ni kufanya kitu 499 00:33:42,000 --> 00:33:45,000 lakini si kurudi chochote, ili kile kinyang'anyiro kufanya kazi 500 00:33:45,000 --> 00:33:51,000 ni mzunguko gridi 90 ° clockwise. 501 00:33:51,000 --> 00:33:55,000 Najua kwamba anaweza kuwa kidogo mbaya, lakini ni muhimu kufanya. 502 00:33:55,000 --> 00:33:57,000 Watch mimi kwenda kwa code usambazaji, 503 00:33:57,000 --> 00:33:59,000 lakini pia, jaribu kwenda kwa njia hiyo mwenyewe. 504 00:33:59,000 --> 00:34:04,000 Nini mimi kama kwa kufanya ni ramani ni nje ya kuelewa 505 00:34:04,000 --> 00:34:15,000 nini mpango huu na wote wa kazi hizo kwa kweli kufanya? 506 00:34:15,000 --> 00:34:18,000 Kama ningekuwa kupitia code usambazaji tena, 507 00:34:18,000 --> 00:34:21,000 sasa kwamba mimi aina ya hisia ya nini kinaendelea basi napenda kusema 508 00:34:21,000 --> 00:34:28,000 sisi kuanza na kazi yetu kuu, 509 00:34:28,000 --> 00:34:36,000 na kisha Nadhani kitu cha kwanza ni gani ni wito mzigo, 510 00:34:36,000 --> 00:34:40,000 hivyo kuu wito mzigo, lakini mzigo ni kazi bure, 511 00:34:40,000 --> 00:34:45,000 hivyo basi kile mimi kufanya zinaonyesha kwamba ni kuweka tu arrow moja 512 00:34:45,000 --> 00:34:48,000 akizungumzia mzigo kwa sababu kuu anaiita. 513 00:34:48,000 --> 00:34:56,000 Jambo la pili ni initialize. 514 00:34:56,000 --> 00:34:59,000 Wito Kuu initialize, 515 00:34:59,000 --> 00:35:02,000 na kisha kama sisi kuangalia nyuma katika kazi yetu kuu 516 00:35:02,000 --> 00:35:06,000 Nadhani hii Kilichofuata kwamba itakuwa hivyo, 517 00:35:06,000 --> 00:35:09,000 haki hapa kuna tani ya mambo mbalimbali ambayo ni wito kuu, 518 00:35:09,000 --> 00:35:13,000 lakini sasa hivi mimi tu kulenga ndio kubwa zaidi 519 00:35:13,000 --> 00:35:18,000 husika kwa kificho, hivyo mimi si ikiwa ni pamoja na i au mambo kama hayo. 520 00:35:18,000 --> 00:35:25,000 Kisha kilichofuata kwamba hana ni clears yake, 521 00:35:25,000 --> 00:35:29,000 na wakati huo kuteka, 522 00:35:29,000 --> 00:35:36,000 na hivyo najua kwamba kusogea ni kitu ambacho sisi ni kwenda kufanya. 523 00:35:36,000 --> 00:35:38,000 Hiyo ni kazi sare. 524 00:35:38,000 --> 00:35:44,000 Baadaye tunaona kwamba moja ijayo ni kidogo- 525 00:35:44,000 --> 00:35:57,000 hivyo basi tuna kinyang'anyiro. 526 00:35:57,000 --> 00:36:02,000 Na kisha sisi kupata, hivyo kupata ni kazi nyingine. 527 00:36:02,000 --> 00:36:07,000 Tunaona kwamba kupata ni-kama unakumbuka nyuma ni kazi ya bulin, 528 00:36:07,000 --> 00:36:09,000 hivyo kwamba ni kweli kwenda na kurudi kitu nyuma yetu. 529 00:36:09,000 --> 00:36:18,000 Ndipo hapa mimi zinaonyesha kwamba kwa sisi kuwa na kupata, 530 00:36:18,000 --> 00:36:29,000 na kisha sisi pia Luke. 531 00:36:29,000 --> 00:36:32,000 Lakini basi kukumbuka kwamba pia kuna kazi hii kutambaa 532 00:36:32,000 --> 00:36:35,030 kwamba haionekani wameitwa katika kuu, 533 00:36:35,030 --> 00:36:39,000 hivyo hiyo ina maana kwamba baadhi ya kazi nyingine ni wito kutambaa, 534 00:36:39,000 --> 00:36:41,000 na kama wewe tafuta nyuma kupitia code usambazaji 535 00:36:41,000 --> 00:36:46,000 unaweza kuona kwamba kupata hapa ni moja kwamba anatumia kutambaa, 536 00:36:46,000 --> 00:36:52,000 hivyo basi kupata basi pia Viungo kutambaa, 537 00:36:52,000 --> 00:36:55,090 ambayo ni thamani ya bulin, ambayo anarudi kitu, 538 00:36:55,090 --> 00:36:58,000 hivyo mimi nina akiongeza mwingine kitu, na kisha tangu kutambaa ni kujirudia 539 00:36:58,000 --> 00:37:03,000 pia matanzi nyuma yenyewe. 540 00:37:03,000 --> 00:37:07,000 >> Kisha kama unaweza kuona hapa Nimekuwa kuchora picha ya nini mpango wetu inaonekana kama, 541 00:37:07,000 --> 00:37:10,000 hivyo kuelewa mahusiano kati ya baadhi ya kazi, 542 00:37:10,000 --> 00:37:14,000 na kwenda nyuma na kwamba wewe pia kuona utaratibu wa mchezo 543 00:37:14,000 --> 00:37:24,000 na mantiki ya jinsi gani mpango mchezo ni kwenda kuendelea. 544 00:37:24,000 --> 00:37:27,000 Tumekuwa kusoma code usambazaji. 545 00:37:27,000 --> 00:37:29,000 kazi ya kwanza kwamba wewe ni kwenda kutaka kutekeleza, 546 00:37:29,000 --> 00:37:32,000 au moja ya kazi ya kwamba unataka kutekeleza ni kuteka, 547 00:37:32,000 --> 00:37:37,000 na hivyo hapa kwa kweli kuwa na kidogo ya uhuru na hili. 548 00:37:37,000 --> 00:37:43,000 Tukiangalia wafanyakazi ufumbuzi- 549 00:37:43,000 --> 00:37:54,000 Mimi naenda kufungua dirisha terminal, kwa kweli, 550 00:37:54,000 --> 00:38:05,000 pset3/scramble. 551 00:38:05,000 --> 00:38:09,000 Scratch kwamba. Nadhani haja ya update appliance yangu. 552 00:38:09,000 --> 00:38:12,000 Kama wewe kucheza na ufumbuzi wafanyakazi wa kinyang'anyiro- 553 00:38:12,000 --> 00:38:14,000 maelekezo ni katika spec kwa kuwa- 554 00:38:14,000 --> 00:38:20,000 basi unaweza kuona jinsi wameweza kuchapishwa bodi mchezo, 555 00:38:20,000 --> 00:38:23,000 lakini kimsingi wanachokifanya ni wao kuweka mazingira kati ya tabia ya kila, 556 00:38:23,000 --> 00:38:27,000 lakini una uhuru kidogo kwa hili, hivyo kama unataka magazeti mistari, kwa mfano, 557 00:38:27,000 --> 00:38:31,000 baina yao basi unaweza kufanya hivyo. 558 00:38:31,000 --> 00:38:38,000 Unataka kufikiri nyuma kwa jinsi sisi iterate juu ya mambo yote ya safu 2D, 559 00:38:38,000 --> 00:38:41,000 na utasikia wanataka magazeti hayo, kuhakikisha kwamba una kitanzi yako 560 00:38:41,000 --> 00:38:49,000 na kuwa na magazeti majukumu yako kama kwamba wewe ni uchapishaji ili haki. 561 00:38:49,000 --> 00:38:54,000 Kama unataka iteration yako kitanzi kwa-wakati iterate juu yake 562 00:38:54,000 --> 00:39:03,000 na wewe kutumia fahirisi kuhakikisha kuwa wewe ni katika uchapishaji ili haki. 563 00:39:03,000 --> 00:39:06,000 >> Kushughulika na arrays 2D kwa mara ya kwanza inaweza kuwa utata kidogo, 564 00:39:06,000 --> 00:39:12,000 hivyo hapa kwenye slide hii nimepata alifanya meza kwamba inaonyesha wewe 565 00:39:12,000 --> 00:39:16,000 kwa kila doa kutolewa katika safu 2D nini fahirisi ni, 566 00:39:16,000 --> 00:39:19,000 hivyo kama unataka kurejea katika hili kwa ajili ya kuangalia haraka 567 00:39:19,000 --> 00:39:22,000 au kwa ajili ya kumbukumbu au kitu kama hicho basi unaweza kutumia hii. 568 00:39:22,000 --> 00:39:30,000 nguzo ni katika rangi za bluu, na safu ni katika nyekundu. 569 00:39:30,000 --> 00:39:34,000 kazi lookup ni namna mbili. 570 00:39:34,000 --> 00:39:37,000 Luke-na ni bulin kazi-kutuambia 571 00:39:37,000 --> 00:39:43,000 kweli au uongo kwamba neno user-in 572 00:39:43,000 --> 00:39:46,000 unaweza kukubalika kama thamani halali, 573 00:39:46,000 --> 00:39:51,000 na hivyo neno katika kinyang'anyiro ni halali tu 574 00:39:51,000 --> 00:39:56,000 ikiwa ni kupatikana katika kamusi na kama ni kweli kupatikana katika bodi, 575 00:39:56,000 --> 00:40:02,000 na hivyo kumbuka kwamba lookup una kutekeleza hili na wewe mwenyewe, 576 00:40:02,000 --> 00:40:10,000 hivyo unataka kuangalia mambo mawili, 577 00:40:10,000 --> 00:40:16,000 kama ni kweli neno katika kamusi na kama ni kuwa kupatikana tayari. 578 00:40:16,000 --> 00:40:18,940 Kumbuka nyuma kamusi kimataifa variable, 579 00:40:18,940 --> 00:40:24,160 ambayo ni struct kwamba tumekuwa alifanya kwamba kimsingi ina int kuitwa ukubwa 580 00:40:24,160 --> 00:40:27,290 yanayohusiana na hayo kama vile array ya maneno, 581 00:40:27,290 --> 00:40:32,030 ambapo neno ni mpya data aina. 582 00:40:32,030 --> 00:40:36,910 Hivyo kupata, kwa mfano, na ukubwa wa kamusi au safu maneno, 583 00:40:36,910 --> 00:40:39,840 basi nini unaweza kufanya ni kuandika tu 'dictionary.size,' 584 00:40:39,840 --> 00:40:42,580 sawa na njia ambayo wewe ingekuwa tu kutumia yoyote variable nyingine. 585 00:40:42,580 --> 00:40:48,550 Hivyo kama dictionary.size inawakilisha ukubwa wa kamusi, 586 00:40:48,550 --> 00:40:51,450 vile vile, dictionary.words inawakilisha safu. 587 00:40:51,450 --> 00:40:54,690 Hivyo kama alitaka kupata neno fulani ndani ya kamusi, 588 00:40:54,690 --> 00:40:59,020 basi ingekuwa kuongeza index 589 00:40:59,020 --> 00:41:03,130 kwa sababu wewe ingekuwa kusema 'dictionary.words katika index i' 590 00:41:03,130 --> 00:41:06,050 na kisha kufanya kitu kwa kuzingatia kwamba. 591 00:41:06,050 --> 00:41:09,950 Hivyo kujua kwamba kamusi ina ukubwa fulani yanayohusiana na hayo, 592 00:41:09,950 --> 00:41:13,720 kama vile array ya maneno, kwa kuangalia kama kitu ni katika kamusi, 593 00:41:13,720 --> 00:41:16,870 basi ingekuwa kwa interate juu ya kamusi 594 00:41:16,870 --> 00:41:20,610 kuangalia kama neno kwamba ni kupatikana. 595 00:41:20,610 --> 00:41:25,720 >> Sasa, kama unafikiri nyuma kwa hotuba, wakati sisi aliyesema kuhusu njia mbalimbali kutafuta mambo, 596 00:41:25,720 --> 00:41:30,690 basi kumbuka kwamba tafuta linear pengine daima si njia bora ya kwenda. 597 00:41:30,690 --> 00:41:36,600 Lakini ni dhahiri ni njia moja ya kutafuta kitu fulani. 598 00:41:36,600 --> 00:41:39,540 Wakati mwingine unaweza kupata kwamba wewe kutekeleza kazi yako na kupata 599 00:41:39,540 --> 00:41:42,650 linear tafuta kwa mara ya kwanza na kisha kupata mapumziko ya mpango wako kwenda. 600 00:41:42,650 --> 00:41:47,480 Na kisha baadaye unaweza kurudi na kubadilisha njia kwamba wewe kutafuta njia kwa ajili ya neno. 601 00:41:47,480 --> 00:41:52,010 Ili kukabiliana - kimsingi kujua kwamba - kujua jinsi ya kupata 602 00:41:52,010 --> 00:41:55,650 maneno safu ya kamusi, kwamba kukabiliana kuangalia kuona 603 00:41:55,650 --> 00:41:58,190 kama neno kwamba ni kweli katika kamusi au la. 604 00:41:58,190 --> 00:42:06,540 Lakini basi sisi pia haja ya kukabiliana na kwamba neno kwamba ni juu ya bodi. 605 00:42:06,540 --> 00:42:08,540 Na kama hiyo imekuwa kupatikana tayari. 606 00:42:08,540 --> 00:42:12,670 Hivyo sisi tayari kupata kazi, kumbuka. 607 00:42:12,670 --> 00:42:18,310 Inaonyesha su, lakini ni neno gani? 608 00:42:18,310 --> 00:42:22,330 Hii si suala falsafa lakini, badala yake, kuangalia ufafanuzi aina. 609 00:42:22,330 --> 00:42:27,250 Tuna bulin iitwayo 'kupatikana' kama vile array ya wahusika 610 00:42:27,250 --> 00:42:29,570 kwamba inawakilisha kwamba neno. 611 00:42:29,570 --> 00:42:35,940 Hivyo wakati wewe kurudi lookup, wewe unataka kuangalia kama neno kwamba imekuwa kupatikana au la. 612 00:42:35,940 --> 00:42:43,040 Sasa, wakijua kwamba bulin kupatikana - kupatikana ni jina la bulin 613 00:42:43,040 --> 00:42:49,660 hiyo ni kuhusishwa na kila neno - basi, jinsi gani unaweza kupata kwamba variable, 614 00:42:49,660 --> 00:43:01,590 kufikiri nyuma jinsi sisi kupatikana vigezo ndani ya kamusi? 615 00:43:01,590 --> 00:43:05,120 Hivyo hapa tulikuwa na kamusi, na kisha sisi alisema dot kawaida, sawa? 616 00:43:05,120 --> 00:43:08,170 Vile vile, wakati tuna neno na, katika kesi hii, kuwa makini kwa sababu 617 00:43:08,170 --> 00:43:13,340 neno ni tu nyingine yoyote data aina, kama tu int au kamba. 618 00:43:13,340 --> 00:43:19,640 Hivyo unaweza si tu kusema 'neno' isipokuwa hiyo ni jina yake. 619 00:43:19,640 --> 00:43:24,540 Mtakuja kuwa na kutofautiana kwa jina, na kisha mara moja tu na kwamba, 620 00:43:24,540 --> 00:43:29,980 kusema kwamba ni wito foo, kwa mfano, basi unaweza kusema 'foo.found,' 621 00:43:29,980 --> 00:43:39,560 na kwamba atarudi wewe thamani ya bulin ya kwamba neno kwamba imekuwa kupatikana au la. 622 00:43:39,560 --> 00:43:46,960 >> Hivyo basi sehemu ya pili ya pset ni kutekeleza kinyang'anyiro, 623 00:43:46,960 --> 00:43:51,630 ambapo wakati wowote pembejeo user kinyang'anyiro - na ambayo tayari yameshughulikiwa 624 00:43:51,630 --> 00:43:54,280 hapa katika code usambazaji - wewe tu haja ya kutekeleza 625 00:43:54,280 --> 00:44:03,170 kinyang'anyiro kazi ambayo tayari aliwaelekeza wewe kwa mzunguko wa bodi 90 ° clockwise. 626 00:44:03,170 --> 00:44:07,380 Kama kwa spec, maelekezo kusema kwamba bodi rotates 90 ° clockwise 627 00:44:07,380 --> 00:44:16,180 vile kwamba thamani katika gridi ya taifa [0] [0] kisha wahamie kwenye gridi ya Taifa [0] [mwelekeo -1.] 628 00:44:16,180 --> 00:44:38,240 Katika kesi hiyo, kwa kinyang'anyiro, mwelekeo wetu ni 4, hivyo 0-0 ingekuwa basi ramani kwa 0-3. 629 00:44:38,240 --> 00:44:41,210 Hebu kuteka hii nje kuona nini ili kuangalia kama. 630 00:44:41,210 --> 00:44:49,620 Sitakuja kufanya 4 x 4 gridi lakini badala x 3 3 moja. 631 00:44:49,620 --> 00:44:52,470 Hebu kusema hii ni inchi 2D safu. 632 00:44:52,470 --> 00:45:02,040 Mimi tu anaenda tu - wote haki. 633 00:45:02,040 --> 00:45:12,110 Hivyo kusema tunataka kinyang'anyiro hii; tunataka mzunguko ni 90 ° clockwise. 634 00:45:12,110 --> 00:45:22,320 Tunajua kwamba, kama kianzio, thamani katika 0-0, ambayo katika kesi hii ni 0 idadi, 635 00:45:22,320 --> 00:45:28,950 ni kwenda ramani kwa mstari 0, basi safu mwelekeo -1. 636 00:45:28,950 --> 00:45:31,570 Na hivyo kwamba, katika kesi hii, mwelekeo ni 3. 637 00:45:31,570 --> 00:45:37,400 Hivyo basi 0 ingekuwa hoja ya mstari 0, safu 2. 638 00:45:37,400 --> 00:45:41,910 Hivyo tuna 0 idadi huko. 639 00:45:41,910 --> 00:45:45,970 Kimsingi nini tuko kufanya ni sisi ni kuchukua hii, 640 00:45:45,970 --> 00:45:52,840 kimwili kupokezana hivyo basi 2 wangeweza kwenda kona hii, 641 00:45:52,840 --> 00:45:57,620 8 ingekuwa kisha kwenda kona hii, 6 na hii. 642 00:45:57,620 --> 00:46:07,840 Na kisha wengine ni bila kuangalia kama - 643 00:46:07,840 --> 00:46:15,180 Hivyo kwamba ni nini gridi inaonekana kama wakati una mafanikio scrambled yake. 644 00:46:15,180 --> 00:46:17,410 Wakati wewe ni kutekeleza kazi kinyang'anyiro, nini utasikia wanataka kufanya 645 00:46:17,410 --> 00:46:22,520 ni kuona, vizuri, jinsi gani naweza kuchukua nafasi ya maadili haya? 646 00:46:22,520 --> 00:46:26,090 Je, kuna baadhi ya aina ya muundo au aina fulani ya formula kuamua 647 00:46:26,090 --> 00:46:29,900 ambapo index fulani huenda? 648 00:46:29,900 --> 00:46:42,470 Kwa mfano, mimi ili kuangalia kuona kwamba 3-4-5 hapa ni mfululizo. 649 00:46:42,470 --> 00:46:44,650 Ambapo mwingine, ninaona 3-4-5? 650 00:46:44,650 --> 00:46:49,410 Naam mimi kuona hapa. 651 00:46:49,410 --> 00:47:02,360 Vile vile, naona kama 6-7-8 mstari, lakini basi ni kweli safu hapa. 652 00:47:02,360 --> 00:47:07,830 Hiyo ni mfano kwamba mimi kuona sasa hivi, lakini kuna wachache ndio pengine nyingine. 653 00:47:07,830 --> 00:47:11,980 Kulingana na kwamba, kufikiri ya baadhi ya aina ya muundo, baadhi ya aina ya njia. 654 00:47:11,980 --> 00:47:20,290 Mara ve kutambuliwa moja, basi wewe ni kwenda kutaka upya maadili katika gridi ya taifa. 655 00:47:20,290 --> 00:47:25,480 Hivyo gridi 0-0 itakuwa 6, gridi ya 0-1 itakuwa 3. 656 00:47:25,480 --> 00:47:32,990 Lakini kumbuka kwamba you'll - kwa mfano, kama wewe upya hii haki mbali, 657 00:47:32,990 --> 00:47:49,170 kusema kwamba gridi 0-2 inakuwa 0 sasa, basi kupoteza kile 2 alikuwa huko. 658 00:47:49,170 --> 00:47:52,380 Hivyo kufikiri nyuma, ni haitoshi tu reassign haki mbali. 659 00:47:52,380 --> 00:47:56,420 Pengine utasikia wanataka kufanya nakala ya muda ya kitu 660 00:47:56,420 --> 00:48:08,380 kabla ya wewe kweli kuiweka katika mahali sahihi. 661 00:48:08,380 --> 00:48:11,860 >> Jambo la mwisho ni kutekeleza kesi insensitivity. 662 00:48:11,860 --> 00:48:19,310 Kama ukiangalia nyuma, tafuta na doa katika spec ambapo mtumiaji pembejeo kamba. 663 00:48:19,310 --> 00:48:22,700 Kama unakumbuka nyuma, kufikiri nyuma - oh, mimi erased ramani. 664 00:48:22,700 --> 00:48:30,300 Kama unafikiri nyuma kwa ramani ya mpango wako, ni ndani ya kazi kuu, 665 00:48:30,300 --> 00:48:33,850 ili kuangalia kwa ambapo wewe ni kushughulika na kamba user-inputted, 666 00:48:33,850 --> 00:48:38,260 na kisha ndani ya huko, nadhani ya zana kwamba kujifunza kutoka yako 667 00:48:38,260 --> 00:48:43,690 crypto pset, pset 2, na kisha kufikiria njia ambayo unaweza kuwa na uwezo wa 668 00:48:43,690 --> 00:48:48,640 kuruhusu kwa mtumiaji pembejeo kama kesi mchanganyiko. 669 00:48:48,640 --> 00:48:53,980 Hivyo wangeweza kuwa na mchanganyiko wa uppercases na lowercases, lakini kwamba lazima bado kuwa halali. 670 00:48:53,980 --> 00:48:59,770 Katika kamusi, wanakumbuka wakati sisi wazi juu ya kwamba faili, kila neno alikuwa kuhifadhiwa kama uppercase wote. 671 00:48:59,770 --> 00:49:05,880 Lakini hatutaki mtumiaji kuwa na pembejeo uppercase wakati wote. 672 00:49:05,880 --> 00:49:12,150 Je, mtu yeyote kufikiria njia ili tuweze kuwa na uwezo wa kuruhusu user, 673 00:49:12,150 --> 00:49:18,320 ingawa wao inputted wote lowercase, kwa mfano? Yeah? 674 00:49:18,320 --> 00:49:20,540 [Mwanafunzi] Unaweza kufanya hivyo kwa juu? 675 00:49:20,540 --> 00:49:23,470 Yeah, kwa uhakika. Unaweza kufanya hivyo kwa juu. 676 00:49:23,470 --> 00:49:27,670 Hivyo unaweza kubadilisha wote wa barua ya uppercase, na kisha 677 00:49:27,670 --> 00:49:30,950 kwamba njia ya kuhakikisha kwamba kwamba ni kwenda kuwa nakala halisi 678 00:49:30,950 --> 00:49:35,410 wa chochote kupatikana katika kamusi, ikiwa ni katika kamusi. 679 00:49:35,410 --> 00:49:40,910 Mkuu. Tuna kidogo ya kushoto wakati. 680 00:49:40,910 --> 00:49:47,530 >> Hivyo baadhi ya mambo ambayo unaweza kukutana katika pset hii ni haja ya kujua 681 00:49:47,530 --> 00:49:52,400 nini vigezo yako ni katika hatua fulani katika muda. 682 00:49:52,400 --> 00:49:57,000 Kwa sababu katika spec tuna kazi wazi kwamba kimsingi 683 00:49:57,000 --> 00:50:05,500 clears chochote ve inayotolewa juu ya bodi, erases yote na kisha liandike tena juu ya kwamba, 684 00:50:05,500 --> 00:50:10,630 unaweza, wakati wewe kuandika pset yako, si kweli unataka kuwa kutokea. 685 00:50:10,630 --> 00:50:13,810 Kwa sababu utasikia wanataka kuona, sawa, mara moja mimi kuingia katika kinyang'anyiro hiki, kwa mfano, 686 00:50:13,810 --> 00:50:19,720 mara moja mimi kuingia katika kinyang'anyiro, ni nini kufanya na nini ilikuwa ni kabla, tu kwa ajili ya kumbukumbu. 687 00:50:19,720 --> 00:50:24,680 Hivyo basi nini unaweza kutaka kufanya ni kwenda nyuma kazi yako kuu 688 00:50:24,680 --> 00:50:31,530 na maoni nje ya wazi, kwa mfano. 689 00:50:31,530 --> 00:50:34,060 Hivyo basi wakati wewe kuendesha programu yako wakati ujao, 690 00:50:34,060 --> 00:50:45,210 mpango wenu si wazi badala na mapenzi tu kuendelea kuchapa juu ya kwamba. 691 00:50:45,210 --> 00:50:47,210 Kuna baadhi ya njia nyingine ya utatuaji pia. 692 00:50:47,210 --> 00:50:51,500 Nini unaweza kufanya ni unaweza pamoja kauli f magazeti, nadhani. 693 00:50:51,500 --> 00:50:57,460 Jambo moja kwamba nikaona katika psets kwamba mimi graded ilikuwa kwamba watu ni pamoja na kauli f magazeti 694 00:50:57,460 --> 00:51:02,710 kuchapa nje vigezo katika hatua fulani katika muda wa kuweka wimbo. 695 00:51:02,710 --> 00:51:06,820 Lakini tu kuhakikisha kwamba mwishoni, mara moja ya kumaliza kuandika magazeti yako kauli f wote 696 00:51:06,820 --> 00:51:11,610 kwa wewe kuweka wimbo wa mambo, kwamba maoni yao nje, baadaye, 697 00:51:11,610 --> 00:51:15,530 au kuzifuta mara moja ya kumaliza. 698 00:51:15,530 --> 00:51:21,890 Hiyo ni njia nyingine kwamba unaweza kufanya kitu, ungeweza kuandika tu katika taarifa f magazeti 699 00:51:21,890 --> 00:51:26,260 mahali fulani kwamba ni muhimu na kuona, kwa kuzingatia kile terminal Prints nje, 700 00:51:26,260 --> 00:51:28,950 nini variable kwamba alikuwa. 701 00:51:28,950 --> 00:51:33,320 >> Njia nyingine ya kufanya hivyo, kwamba tutaweza kuingia kwa undani zaidi wakati wa hotuba, 702 00:51:33,320 --> 00:51:36,710 ni GDB, ambayo ni chombo debugging. 703 00:51:36,710 --> 00:51:47,270 Kimsingi, wakati wewe kukimbia, hivyo itabidi kwenda katika mpango wako na unaweza kuwa ni mapema 704 00:51:47,270 --> 00:51:51,500 hatua moja kwa wakati badala ya kutathmini kila kitu. 705 00:51:51,500 --> 00:51:54,770 Hivyo basi unaweza kuvunja juu katika hatua kidogo, na kisha kwa kuzingatia njia - 706 00:51:54,770 --> 00:52:00,230 na kisha njiani magazeti mambo na kuona nini maadili ni. 707 00:52:00,230 --> 00:52:07,830 Na kwamba husaidia takwimu nje ambapo mdudu katika code yako inaweza kuwa. 708 00:52:07,830 --> 00:52:12,970 Nini tunaweza kufanya hivi sasa ni kuandika kazi haraka na kisha 709 00:52:12,970 --> 00:52:19,780 kuona jinsi sisi inaweza kuwa na uwezo wa kutumia GDB kuona nini kinaendelea. 710 00:52:19,780 --> 00:52:23,410 Basi hebu na int kuu, na kisha nini sisi kama vigezo kwa kuu? 711 00:52:23,410 --> 00:52:32,690 Tuna int ARG c, na ARG string v 712 00:52:32,690 --> 00:52:44,900 Mimi naenda kuwaokoa hii katika walkthrough kama GDB.z. Wote haki. 713 00:52:44,900 --> 00:52:48,300 Mimi naenda kuwa kurudi 0. 714 00:52:48,300 --> 00:52:59,390 Hivyo jinsi kuhusu hebu kuwa na rahisi kwa kitanzi; hebu kuwa 12. 715 00:52:59,390 --> 00:53:06,750 Hebu pia kuwa int aitwaye counter, na 716 00:53:06,750 --> 00:53:11,910 tunaweza kuanza kwamba ifikapo 0. Sawa. 717 00:53:11,910 --> 00:53:17,760 Hivyo katika kila hatua katika kwa kitanzi, hebu kusema kwamba tunataka kuongeza counter 718 00:53:17,760 --> 00:53:26,980 au kuzidisha hivyo kwa chochote i ni. 719 00:53:26,980 --> 00:53:39,650 Hii ni kazi pretty mfupi. 720 00:53:39,650 --> 00:53:46,290 Hebu kufanya GDB. Oh! Na kisha - Clang ni smart. 721 00:53:46,290 --> 00:54:03,780 Inaniambia kwamba sikuwa pamoja cs50.h. 722 00:54:03,780 --> 00:54:16,160 Wote haki. Hivyo sasa tunataka - 723 00:54:16,160 --> 00:54:32,740 Kweli, sorry guys. Mimi naenda rename faili tu kwa sababu ni kidogo utata. 724 00:54:32,740 --> 00:54:43,630 >> Wote haki. Hivyo sasa ni nini tunataka kufanya ni, tunataka kuanza GDB. 725 00:54:43,630 --> 00:54:51,750 Mimi alisema 'GDB debugging,' hivyo kimsingi ni kwenda kuwa na kuweka kulenga debugging hii, 726 00:54:51,750 --> 00:54:55,540 faili debugging. 727 00:54:55,540 --> 00:54:57,930 Mimi naenda kuweka breakpoint. 728 00:54:57,930 --> 00:55:01,160 Kimsingi, mpango huo kwenda kukimbia mpaka hits saa breakpoint fulani. 729 00:55:01,160 --> 00:55:04,910 Mimi nina kwenda kusema mapumziko katika hafla kuu. 730 00:55:04,910 --> 00:55:12,680 Hivyo sasa mimi naenda kukimbia debugging; hivyo ndani ya GDB siwezi kukimbia code. 731 00:55:12,680 --> 00:55:17,710 Ni mbio mpango, na hata ingawa kuu ilikuwa moja ya mambo ya kwanza kwamba sisi aliandika, 732 00:55:17,710 --> 00:55:20,870 sisi pia kuwa ni pamoja na files; kuna mambo kinachoendelea tayari. 733 00:55:20,870 --> 00:55:25,930 Ina breakpoint katika kuu. 734 00:55:25,930 --> 00:55:29,900 Hebu sema 'ijayo,' ili tuweze kuendelea. 735 00:55:29,900 --> 00:55:33,300 Ni anasema "int counter = 0." 736 00:55:33,300 --> 00:55:39,310 Mimi naenda kusema 'magazeti counter.' 737 00:55:39,310 --> 00:55:42,980 Hii ni ajabu. Hivyo kimsingi tunatarajia counters kuwa 0, 738 00:55:42,980 --> 00:55:46,680 lakini GDB ni hatua moja nyuma, hivyo wakati wowote wewe kusema ijayo, 739 00:55:46,680 --> 00:55:50,350 inasema int counter = 0. Hiyo ni jambo la pili kwamba ni kwenda kutekeleza. 740 00:55:50,350 --> 00:55:56,160 Kisha bonyeza - unaweza kusema karibu tena, au unaweza kusema tu 'n' 741 00:55:56,160 --> 00:56:02,400 na sasa kama wewe magazeti counter, counter ni 0, kama sisi kutarajia. 742 00:56:02,400 --> 00:56:07,570 Kimsingi, ni inajenga aina yake mwenyewe ya vigezo kwa ajili yake, lakini chochote pale - 743 00:56:07,570 --> 00:56:12,120 kama haki hapa; kwamba ni nini counter inawakilisha. 744 00:56:12,120 --> 00:56:15,180 Hivyo nina kwenda kwa bonyeza ijayo, na Mimi nataka kujua nini i ni. 745 00:56:15,180 --> 00:56:21,270 Wewe utakuwa magazeti i, i ni 0, kama sisi kutarajia. 746 00:56:21,270 --> 00:56:25,630 Next tena, ni kuonyesha kwamba ni kwenda kupitia kwa kitanzi tena, 747 00:56:25,630 --> 00:56:32,970 hivyo kama mimi i magazeti, kwa mfano, naona ya kuwa sisi ni juu - kuwa i ni 1 kwa sasa. 748 00:56:32,970 --> 00:56:36,150 Basi hiyo ni njia, kwamba kama wewe kuweka breakpoint katika kazi fulani 749 00:56:36,150 --> 00:56:39,520 na kisha kuendelea kwenda ijayo, na kisha kuangalia nini i ni, 750 00:56:39,520 --> 00:56:45,790 kama una dhana kwamba labda mahali fulani kitu si kinachotokea kama ni lazima, 751 00:56:45,790 --> 00:56:51,340 na mtuhumiwa kuwa labda ni katika index kwanza au index mwisho au kitu, 752 00:56:51,340 --> 00:57:00,110 unaweza kutumia GDB, kuendelea kuchapa i, kuwa na uwezo wa kuangalia nini wale maadili ni. 753 00:57:00,110 --> 00:57:05,830 Hivyo basi, katika GDB, kwa sababu magazeti na ijayo ni vile hoja ya kawaida, 754 00:57:05,830 --> 00:57:11,240 kawaida amri, kama mimi abbreviated ijayo n, 755 00:57:11,240 --> 00:57:22,010 Mimi pia naweza kusema tu p counter; kwamba bado 0. 756 00:57:22,010 --> 00:57:25,610 Kisha mimi bonyeza ijayo. Nataka magazeti counter tena. 757 00:57:25,610 --> 00:57:26,790 Naam, hivyo kwamba bado 0. 758 00:57:26,790 --> 00:57:39,010 >> Na wewe ni aina ya wanashangaa - vizuri, nataka counter kuwa kazi factorial. 759 00:57:39,010 --> 00:57:43,930 Kwa nini - tu katika mbinu ya debugging - kwa nini wapate kuwa kuwa? 760 00:57:43,930 --> 00:57:48,160 Kwa nini ni counter si kuongeza thamani yake? 761 00:57:48,160 --> 00:57:53,100 Kwa nini ni kukaa 0? 762 00:57:53,100 --> 00:57:59,320 Naam, hapa nina - nyuma katika hapa nasema counter counter = x i. 763 00:57:59,320 --> 00:58:02,180 Hivyo basi kama mimi kwenda nyuma mwanzo wa kazi yangu, 764 00:58:02,180 --> 00:58:09,520 Mimi naona kwamba wakati mimi printed i, i ni 0, na nini 0 x chochote? 765 00:58:09,520 --> 00:58:13,700 Ni 0, haki? Hivyo kwamba pengine sababu counter 766 00:58:13,700 --> 00:58:16,960 ni kamwe kwenda kuwa namba nyingine yoyote. 767 00:58:16,960 --> 00:58:21,920 Hivyo basi nini mimi kutaka kufanya ni kwenda nyuma fuction yangu, 768 00:58:21,920 --> 00:58:27,410 kusema, sawa, vizuri kwa kweli, mimi nataka kuanza ni saa 1. 769 00:58:27,410 --> 00:58:32,150 Ni kwamba kwenda kutatua mambo? 770 00:58:32,150 --> 00:58:34,550 Si kabisa, kwa sababu counter bado 0 hapa. 771 00:58:34,550 --> 00:58:42,390 Basi hebu kuweka kwamba kwa 1. 772 00:58:42,390 --> 00:58:49,040 Tunataka kuweka upya debugging wetu chombo, hivyo hebu kujiondoa. 773 00:58:49,040 --> 00:58:54,000 Na kisha nini tunaweza kufanya ni tunaweza GDB debugging tena, 774 00:58:54,000 --> 00:59:05,620 kuweka mapumziko katika kuu, na kisha kukimbia debugging tena, pili, pili, pili. 775 00:59:05,620 --> 00:59:12,520 Hebu hit ijayo mara chache, na kisha tutaweza magazeti counter, kuona kwamba - 776 00:59:12,520 --> 00:59:16,140 hatukuwa usahihi kufanya faili tena. 777 00:59:16,140 --> 00:59:19,500 Hata ingawa sisi iliyopita chanzo code, basi sisi kweli 778 00:59:19,500 --> 00:59:21,660 hawakuwa update executable yetu. 779 00:59:21,660 --> 00:59:27,310 Naamini kwamba unaweza kufanya - yeah. 780 00:59:27,310 --> 00:59:29,880 Ndani ya GDB yenyewe, unaweza kweli kufanya faili. 781 00:59:29,880 --> 00:59:31,880 Hivyo huna kuacha GDB tena. 782 00:59:31,880 --> 00:59:36,180 Unaweza kwenda nyuma ya faili chanzo, ila ni, nyuma katika GDB, unaweza kufanya hivyo tena. 783 00:59:36,180 --> 00:59:40,850 Mkuu. Basi hebu kukimbia debugging. 784 00:59:40,850 --> 00:59:45,900 Tunataka kuanza yake tangu mwanzo kwa sababu tuna executable mpya. 785 00:59:45,900 --> 00:59:54,870 Tunaweza kwenda kwa wanandoa wa nyakati, na kisha magazeti i, magazeti counter, kuendelea. 786 00:59:54,870 --> 00:59:59,090 Wote haki. Hivyo sasa tunaona kwamba counter ni kweli kuongeza thamani yake kama sisi unataka kwa. 787 00:59:59,090 --> 01:00:03,340 >> Hiyo tu kidogo kidogo bite ukubwa mfano wa jinsi unavyoweza kutumia GDB 788 01:00:03,340 --> 01:00:09,700 kuingia code yako, magazeti maadili fulani, bonyeza ujao na kuendelea na mstari unaofuata, 789 01:00:09,700 --> 01:00:12,960 na abbreviate hiyo na magazeti nje. 790 01:00:12,960 --> 01:00:18,690 Ni wazi, code katika kinyang'anyiro ni kidogo ngumu zaidi kuliko kuwa, lakini nini unaweza kufanya 791 01:00:18,690 --> 01:00:26,980 ni kuweka katika breakpoint - unaweza kuweka breakpoint katika kazi yako lookup, kitu kama hicho. 792 01:00:26,980 --> 01:00:29,440 Hiyo wakati wowote itafikia mahali ambapo inahitaji kuangalia kitu juu, 793 01:00:29,440 --> 01:00:37,340 kisha GDB kukimbia kila kitu hadi kufikia hatua ile na basi unaweza kuanza maadili uchapishaji nje. 794 01:00:37,340 --> 01:00:42,030 Kama ni alama katika hatua hii ya uongo au ni kweli? 795 01:00:42,030 --> 01:00:46,580 Kwamba pengine kitu ambacho wewe kutaka kutumia. 796 01:00:46,580 --> 01:00:49,060 GDB, si mkazo sana kuhusu hilo, 797 01:00:49,060 --> 01:00:51,270 kwa sababu sisi kuingia kwa undani zaidi katika hotuba, 798 01:00:51,270 --> 01:00:54,570 lakini mimi tu alitaka basi wewe guys kujua jinsi unaweza kuwa na uwezo wa kutumia 799 01:00:54,570 --> 01:01:00,120 kama wewe ni kupata ilianza na pset na unataka kuelewa 800 01:01:00,120 --> 01:01:05,040 njia bora zaidi kuliko kuweka tu kauli f magazeti na kuchafua mazingira yao yote kwa njia ya code yako. 801 01:01:05,040 --> 01:01:10,430 Kuwa GDB kwa kweli magazeti ni kwa ajili yenu na kuwa na uwezo wa kuweka breakpoints wale 802 01:01:10,430 --> 01:01:12,980 hivyo kuwa mpango wako wanaweza kukimbia hadi hatua fulani 803 01:01:12,980 --> 01:01:21,660 na kisha kuruhusu kweli hatua ndani yake na takwimu nje tatizo pale. 804 01:01:21,660 --> 01:01:29,600 >> Haki. Hivyo basi kama sisi kuangalia nyuma katika kinyang'anyiro, tumekuwa kusoma code usambazaji. 805 01:01:29,600 --> 01:01:35,670 Tumekuwa aliyesema kuhusu njia ya iterate juu ya arrays 2D, na wewe utakuwa dhahiri 806 01:01:35,670 --> 01:01:40,910 kuwa kutaka iterate juu ya safu 2D wakati kuja kuchora mchezo wako gridi ya taifa. 807 01:01:40,910 --> 01:01:45,090 Kuongelea kazi lookup, kuhusu jinsi tunataka kuhakikisha ya wanandoa wa mambo. 808 01:01:45,090 --> 01:01:48,300 Tunataka kuhakikisha kwamba sisi si kwa neno kabla. 809 01:01:48,300 --> 01:01:51,220 Sisi pia wanataka kuhakikisha kwamba ni kweli katika kamusi. 810 01:01:51,220 --> 01:01:54,220 Kisha tuliongea kuhusu kinyang'anyiro, kuhusu jinsi tunataka mzunguko bodi. 811 01:01:54,220 --> 01:01:58,170 Na kujua kwamba unaweza kutaka kufanya nakala ya kitu 812 01:01:58,170 --> 01:02:00,440 kuwa na uwezo wa hoja hiyo. 813 01:02:00,440 --> 01:02:03,250 Hatimaye, sisi aliyesema kuhusu kesi na unyeti, kuhusu jinsi wewe unataka kuhakikisha 814 01:02:03,250 --> 01:02:07,290 kwamba licha ya kila mchanganyiko wa kesi kuwa pembejeo user, 815 01:02:07,290 --> 01:02:10,170 kama ni neno halali katika kamusi, 816 01:02:10,170 --> 01:02:14,400 basi ni kwenda kupatikana kwa usahihi. 817 01:02:14,400 --> 01:02:21,290 Hivyo basi yote ya kwamba pamoja ni pset kinyang'anyiro, na kwamba ni walkthrough 3. 818 01:02:21,290 --> 01:02:29,180 Shukrani kila mtu kwa ajili ya kuja, na bahati nzuri na kinyang'anyiro. 819 01:02:29,180 --> 01:02:32,180 CS50.TV