1 00:00:00,000 --> 00:00:03,944 >> [MUSIC PLAYING] 2 00:00:03,944 --> 00:00:10,732 3 00:00:10,732 --> 00:00:11,690 DAVID Malan: Bütün hüququ. 4 00:00:11,690 --> 00:00:14,674 Bu CS50 və bu Həftə 2 sonu. 5 00:00:14,674 --> 00:00:16,840 Mən ola bilməz çox təəssüf edirəm orada bütün gün sizinlə, 6 00:00:16,840 --> 00:00:18,300 lakin çox yaxşı əlində istəyirik. 7 00:00:18,300 --> 00:00:21,710 Mənə təqdim izin ver CS50 öz Rob Bowden. 8 00:00:21,710 --> 00:00:29,106 9 00:00:29,106 --> 00:00:31,730 Rob Bowden: Əlbəttə, onda biz əslində əyləncə etmək lazımdır 10 00:00:31,730 --> 00:00:36,820 o bizə bir şaquli göndərdi video və bu göstərir. 11 00:00:36,820 --> 00:00:38,320 >> [Video playback] 12 00:00:38,320 --> 00:00:39,820 >> [MUSIC PLAYING] 13 00:00:39,820 --> 00:00:42,350 >> [Izi] 14 00:00:42,350 --> 00:00:44,730 >> -Bu Video vermədi bu şəkildə baxmaq lazımdır. 15 00:00:44,730 --> 00:00:46,570 Bu qarşısı bilərdi. 16 00:00:46,570 --> 00:00:49,070 Heç bir şaquli video söyləyin. 17 00:00:49,070 --> 00:00:53,310 >> -Şaquli Videos zaman baş Sizin kamera yanlış yol saxlayın. 18 00:00:53,310 --> 00:00:55,880 Sizin video sona çatacaq up crap kimi axtarır. 19 00:00:55,880 --> 00:00:57,650 >> - [Xortultu] 20 00:00:57,650 --> 00:01:02,240 >> Asılılığı daha çox insanların, var hər gün şaquli video edilməsi üçün. 21 00:01:02,240 --> 00:01:06,240 Bu çat və ya heç bir şey deyil, lakin hələ də həqiqətən pis. 22 00:01:06,240 --> 00:01:10,410 Iki müxtəlif növ var VVS dərdli insanlar. 23 00:01:10,410 --> 00:01:14,160 Birinci qrup alır videos onlar şəkillər kimi vur. 24 00:01:14,160 --> 00:01:15,850 Onlar hər hansı bir zərər demək deyil. 25 00:01:15,850 --> 00:01:19,180 Onlar yalnız başa düşmürlər ki, Bir şəkil çevirmək bilər, 26 00:01:19,180 --> 00:01:20,880 Siz, həqiqətən, bir video çevirmək edə bilməz. 27 00:01:20,880 --> 00:01:21,880 >> [CRASH] 28 00:01:21,880 --> 00:01:23,460 >> - [Monkey səslənir] 29 00:01:23,460 --> 00:01:27,540 >> -Bu Digər qrup insanlar kim [BLEEP] vermir. 30 00:01:27,540 --> 00:01:31,090 >> -Şaquli Video Syndrome təhlükəlidir. 31 00:01:31,090 --> 00:01:34,120 Motion şəkillər var həmişə üfüqi olmuşdur. 32 00:01:34,120 --> 00:01:35,990 Televiziyalarda üfüqi var. 33 00:01:35,990 --> 00:01:38,380 Kompüter ekranlarında üfüqi var. 34 00:01:38,380 --> 00:01:41,580 Xalq gözləri üfüqi var. 35 00:01:41,580 --> 00:01:45,170 Biz inşa deyil şaquli video. 36 00:01:45,170 --> 00:01:47,600 >> Mən şaquli video sevirəm. 37 00:01:47,600 --> 00:01:50,410 >> -Nobody Əhəmiyyət verir. 38 00:01:50,410 --> 00:01:53,340 >> -Əgər Bu problem üzrə kontrolsuz, siz də sol 39 00:01:53,340 --> 00:01:57,650 Dörd video göstərən başlayacaq bir dəfə yalnız bant genişliyi saxlamaq üçün. 40 00:01:57,650 --> 00:02:02,400 >> -Letterboxed Şaquli videos ki poçt markasının ölçüsü. 41 00:02:02,400 --> 00:02:04,920 >> -Və Hər yerdə yayılacaq. 42 00:02:04,920 --> 00:02:07,670 Movie ekranlar var həmişə üfüqi olmuşdur. 43 00:02:07,670 --> 00:02:11,200 Şaquli videos olmaq qəbul, kinoteatr 44 00:02:11,200 --> 00:02:13,930 hündür və cılız olmalıdır. 45 00:02:13,930 --> 00:02:17,710 >> -Və Kino və teatrlar bütün olardı yıxılıb yenidən almaq lazımdır. 46 00:02:17,710 --> 00:02:22,090 Və zaman onlar yenidən inşa edildi, Mila Kunis köhnə və çirkin olardı. 47 00:02:22,090 --> 00:02:24,342 >> -Quşlar Onlara daxil qəza və öləcək. 48 00:02:24,342 --> 00:02:26,530 >> -We'll Bütün sərt almaq ararken boyunlarına. 49 00:02:26,530 --> 00:02:29,800 >> -Və Heç bir oturmaq olacaq ön sıra daha. 50 00:02:29,800 --> 00:02:37,170 >> George Lucas yenidən azad edəcək Star Wars cılız nəşr again--. 51 00:02:37,170 --> 00:02:41,860 >> -Mən Demək həqiqətən edə heç vaxt Mən demək istəyirdim hekayə. 52 00:02:41,860 --> 00:02:46,030 Bu, mənim üçün böyük bir şans idi yeni texnologiya ilə təcrübə. 53 00:02:46,030 --> 00:02:48,150 >> Bir qaxac -You're. 54 00:02:48,150 --> 00:02:54,430 >> Bir mobil cihaz üçün istifadə olunur -Hər vaxt video, temptation var. 55 00:02:54,430 --> 00:02:56,370 Just xeyr deyirik. 56 00:02:56,370 --> 00:03:00,116 George Lucas xeyr deyirik. 57 00:03:00,116 --> 00:03:04,062 Köhnə Mila Kunis xeyr deyirik. 58 00:03:04,062 --> 00:03:06,600 Heç bir şaquli video söyləyin. 59 00:03:06,600 --> 00:03:12,511 >> Əgər kimsə bunu görmək əgər -Və, demək "Əgər doğru dummy atəş deyilik!" 60 00:03:12,511 --> 00:03:15,433 >> [MUSIC PLAYING] 61 00:03:15,433 --> 00:03:18,842 62 00:03:18,842 --> 00:03:19,830 >> [END playback] 63 00:03:19,830 --> 00:03:23,702 >> [Alqış] 64 00:03:23,702 --> 00:03:27,598 >> [AUDIO OUT] 65 00:03:27,598 --> 00:03:44,041 66 00:03:44,041 --> 00:03:45,790 Rob Bowden: Sadə Kriptoqrafiya forması, 67 00:03:45,790 --> 00:03:49,500 olan əsasən şifreleme edir gizli mesajlar və parol çözme. 68 00:03:49,500 --> 00:03:52,590 Belə ki, burada biz bir çox sadə oyuncaq var. 69 00:03:52,590 --> 00:03:56,900 Və fikir xarici ring edir daxili ring ətrafında qaytarır. 70 00:03:56,900 --> 00:04:01,610 Və mən zoom bəlkə görə bilərsiniz , bu görmək çətindir that--. 71 00:04:01,610 --> 00:04:05,090 Lakin, kimi, sayı 1 var yaxşı ki, köçürülüb. 72 00:04:05,090 --> 00:04:09,120 >> sayı 1 məktub xəritələr Məktub X, 2 saylı xəritələr 73 00:04:09,120 --> 00:04:11,630 J. çətin İnanılmaz irəli keçmək deyil. 74 00:04:11,630 --> 00:04:16,100 Letter 2 J. xəritələr 3 Beləliklə, D. xəritələr 75 00:04:16,100 --> 00:04:20,140 bu halqa ilə siz verə bilər Kimsə bir mesaj 1, 2, 3. 76 00:04:20,140 --> 00:04:22,624 Nədənsə siz onlara XJD demək istəyirəm. 77 00:04:22,624 --> 00:04:24,540 Amma onlara verə bilər nömrələri bəzi mesaj, 78 00:04:24,540 --> 00:04:28,460 və onlar bu üzük kimi uzun kimi, onlar Siz demək çalışdığınız nə decrypt bilər. 79 00:04:28,460 --> 00:04:32,510 >> Belə ki, görmüşəm bilər bu Kriptoqrafiya xüsusi nümunə 80 00:04:32,510 --> 00:04:36,640 əvvəl Milad mövsümü ətrafında əgər A Christmas Story seyr etdik. 81 00:04:36,640 --> 00:04:38,520 Siz görməmişəm varsa əvvəl, sonra yalnız 82 00:04:38,520 --> 00:04:41,060 sanki at TBS yandırmaq Milad arifesi heç bir zaman, 83 00:04:41,060 --> 00:04:44,510 onlar yalnız geri geri göstərmək çünki bütün gün geri geri geri. 84 00:04:44,510 --> 00:04:46,744 Və müvafiq video bu. 85 00:04:46,744 --> 00:04:47,410 [Video playback] 86 00:04:47,410 --> 00:04:50,020 Bütün və çeşitli məlum olun Ralph Parker qərara ki, 87 00:04:50,020 --> 00:04:52,850 Little üzvü təyin Yetim Annie Secret Circle 88 00:04:52,850 --> 00:04:56,490 və bütün fərqlənmə hüququna malikdir və faydaları ona baş. 89 00:04:56,490 --> 00:04:59,010 Little Yetim Annie imzalayıb. 90 00:04:59,010 --> 00:05:03,120 Mürəkkəblə Pierre Andre imzalanmış! 91 00:05:03,120 --> 00:05:07,460 Onur və faydaları Artıq doqquz yaşında! 92 00:05:07,460 --> 00:05:12,530 >> [Radio böyle] 93 00:05:12,530 --> 00:05:13,030 On-gəlir. 94 00:05:13,030 --> 00:05:14,000 Bunun ilə əldə edək. 95 00:05:14,000 --> 00:05:18,274 Mən bütün caz ehtiyac yoxdur qaçaqmalçıları və quldurları haqqında. 96 00:05:18,274 --> 00:05:20,440 Ilə sabah gecə dinlə yekun macəra 97 00:05:20,440 --> 00:05:22,540 Black Pirate gəmi. 98 00:05:22,540 --> 00:05:25,460 İndi bunun üçün vaxt Annie gizli mesaj 99 00:05:25,460 --> 00:05:28,620 Secret Circle siz üzvləri üçün. 100 00:05:28,620 --> 00:05:32,370 Uşaq yalnız üzvləri saxla Annie Secret Circle 101 00:05:32,370 --> 00:05:34,880 Annie gizli mesaj deşifre bilər. 102 00:05:34,880 --> 00:05:39,100 Unutmayın, Annie siz asılı olaraq. 103 00:05:39,100 --> 00:05:41,660 B2 üçün sancaqlar seçin. 104 00:05:41,660 --> 00:05:43,960 Burada mesaj. 105 00:05:43,960 --> 00:05:44,680 12. 106 00:05:44,680 --> 00:05:45,180 11. 107 00:05:45,180 --> 00:05:45,679 2. 108 00:05:45,679 --> 00:05:48,110 -Mən Ilk gizli görüş edirəm. 109 00:05:48,110 --> 00:05:49,030 >> -25. 110 00:05:49,030 --> 00:05:49,834 14. 111 00:05:49,834 --> 00:05:51,040 11. 112 00:05:51,040 --> 00:05:51,854 18. 113 00:05:51,854 --> 00:05:52,670 16. 114 00:05:52,670 --> 00:05:54,570 >> -Oh, Pierre böyük səs axşam edir. 115 00:05:54,570 --> 00:05:57,490 Hesab edirəm ki, axşam deyə bilər Mesaj həqiqətən əhəmiyyətli idi. 116 00:05:57,490 --> 00:05:57,990 -3. 117 00:05:57,990 --> 00:06:00,080 25. 118 00:06:00,080 --> 00:06:01,580 Ki, Annie özü bir mesaj var. 119 00:06:01,580 --> 00:06:02,880 Hər kəs demək deyil, unutmayın. 120 00:06:02,880 --> 00:06:07,840 121 00:06:07,840 --> 00:06:11,130 >> -Beş Saniyə sonra, mən yalnız deyiləm evdə otaq olduğu doqquz bir oğlan 122 00:06:11,130 --> 00:06:15,830 gizlilik və decode oturmaq bilər. 123 00:06:15,830 --> 00:06:16,620 Aha! 124 00:06:16,620 --> 00:06:17,340 B! 125 00:06:17,340 --> 00:06:20,210 Mən növbəti getdi. 126 00:06:20,210 --> 00:06:23,300 E. ilk sözü "ola" dir. 127 00:06:23,300 --> 00:06:25,880 S. İndi daha asan gəlirdi. 128 00:06:25,880 --> 00:06:28,400 U. 25. 129 00:06:28,400 --> 00:06:30,528 Ki, R. var 130 00:06:30,528 --> 00:06:31,278 Hadi haqqında, Ralphie! 131 00:06:31,278 --> 00:06:31,861 I Gotta Go etdik! 132 00:06:31,861 --> 00:06:33,182 Sağ aşağı ola -I'll, Ma! 133 00:06:33,182 --> 00:06:36,038 Gee vızıltı. 134 00:06:36,038 --> 00:06:42,840 Nə üçün əmin olun - T. O. "üçün əmin olun" 135 00:06:42,840 --> 00:06:44,770 Little Yetim nə idi Annie demək çalışır? 136 00:06:44,770 --> 00:06:46,381 Nə əmin olun? 137 00:06:46,381 --> 00:06:47,825 >> -Randy Getmək üçün var! 138 00:06:47,825 --> 00:06:48,866 Siz çıxmaq edin olacaq? 139 00:06:48,866 --> 00:06:49,783 >> -Bütün Sağ, ana! 140 00:06:49,783 --> 00:06:51,786 Mən doğru olacaq! 141 00:06:51,786 --> 00:06:53,606 Mən indi daha yaxın əldə edilmişdir. 142 00:06:53,606 --> 00:06:55,550 gərginlik dəhşətli idi. 143 00:06:55,550 --> 00:06:57,050 Bu nə idi? 144 00:06:57,050 --> 00:06:59,905 planetin taleyi balansında asmaq bilər! 145 00:06:59,905 --> 00:07:01,736 >> -Ralphie, Randy getmək üçün var! 146 00:07:01,736 --> 00:07:05,680 >> Yüksək səslə ağlayaraq üçün doğru ola -I'll! 147 00:07:05,680 --> 00:07:07,170 Demək olar ki, var! 148 00:07:07,170 --> 00:07:08,150 Mənim barmaqları uçdu. 149 00:07:08,150 --> 00:07:09,980 Mənim mind bir polad tələ idi. 150 00:07:09,980 --> 00:07:11,496 Hər pore vibrasiyaya. 151 00:07:11,496 --> 00:07:13,268 Demək olar ki, aydın idi! 152 00:07:13,268 --> 00:07:13,767 Bəli. 153 00:07:13,767 --> 00:07:14,609 Bəli. 154 00:07:14,609 --> 00:07:15,108 Bəli. 155 00:07:15,108 --> 00:07:16,449 Bəli. 156 00:07:16,449 --> 00:07:20,240 Sizin Ovaltine içmək üçün əmin olun. 157 00:07:20,240 --> 00:07:20,740 Ovaltine? 158 00:07:20,740 --> 00:07:26,687 159 00:07:26,687 --> 00:07:27,520 A crummy kommersiya? 160 00:07:27,520 --> 00:07:32,040 161 00:07:32,040 --> 00:07:34,920 Şərəfsiz. 162 00:07:34,920 --> 00:07:35,890 >> [END playback] 163 00:07:35,890 --> 00:07:39,650 >> Rob Bowden: Belə ki, necə Ovaltine kriptoqrafiya ilə bağlıdır. 164 00:07:39,650 --> 00:07:42,290 Əsasən CS50 yalnız reklam Ovaltine, belə ki, biz bilər 165 00:07:42,290 --> 00:07:44,400 Ovaltine üçün crummy kommersiya olmaq. 166 00:07:44,400 --> 00:07:44,900 Oldu. 167 00:07:44,900 --> 00:07:47,120 Belə ki, indi faktiki informatika. 168 00:07:47,120 --> 00:07:50,670 Bazar ertəsi saxla biz off sol strings daxil dərin dalış. 169 00:07:50,670 --> 00:07:52,820 Beləliklə, biz ilə məşğul olan string "Zamyla." 170 00:07:52,820 --> 00:07:55,130 Və biz tanınması edildi biz müalicə edə bilər ki, 171 00:07:55,130 --> 00:07:57,510 Simvol bir ardıcıllıqla kimi "Zamyla". 172 00:07:57,510 --> 00:07:59,740 Və biz öyrəndik ki, unutmayın bracket notation. 173 00:07:59,740 --> 00:08:01,995 Bu saxlanılır əgər, belə ki, sonra bir simli "nin," 174 00:08:01,995 --> 00:08:05,860 dedik əgər s bracket 0, ki, ki, məktub kapital Z. göstərir 175 00:08:05,860 --> 00:08:09,790 Və biz s bracket 1, bildirib ki, əgər ilk kiçik bir göstərir ki, 176 00:08:09,790 --> 00:08:14,220 və s s bracket 5 qədər bu da ötən a göstərir ki. 177 00:08:14,220 --> 00:08:17,090 >> İndi xatırlayıram bu simli uzunluğu, 6 178 00:08:17,090 --> 00:08:23,220 lakin simli daxil göstəriciləri var 0 5 vasitəsilə vasitəsilə Z davam. 179 00:08:23,220 --> 00:08:28,650 Belə ki, bu, indi daha böyük şəkil uyğun Sizin kompüter yaddaş, RAM. 180 00:08:28,650 --> 00:08:32,020 Belə ki, haradasa proqramı Sizin kompüter çalıştırıyorsanız 181 00:08:32,020 --> 00:08:34,780 ZAMYLA xatırlamaq lazımdır yaddaş haradasa. 182 00:08:34,780 --> 00:08:36,029 Mən bir könüllü ola bilər? 183 00:08:36,029 --> 00:08:38,840 184 00:08:38,840 --> 00:08:40,181 Bəli, zəhmət olmasa. 185 00:08:40,181 --> 00:08:50,120 186 00:08:50,120 --> 00:08:51,500 Və adı nədir? 187 00:08:51,500 --> 00:08:52,410 >> DEAN: Dean. 188 00:08:52,410 --> 00:08:53,550 >> Rob Bowden: Dean? 189 00:08:53,550 --> 00:08:54,910 , Dean görüşmək Nice. 190 00:08:54,910 --> 00:08:58,240 Belə ki, buraya gəlmək, və biz sizə çəkmək olacaq 191 00:08:58,240 --> 00:09:00,740 yaddaş bizim gözəl uykusuz layout. 192 00:09:00,740 --> 00:09:05,950 İndi yaddaş düşünmək istəyirəm bayt uzun zolaq kimi, 193 00:09:05,950 --> 00:09:11,090 ancaq ekran məqsədlər üçün biz lazımdır yalnız alt sağ üst sol yoxdur. 194 00:09:11,090 --> 00:09:11,590 OLDU? 195 00:09:11,590 --> 00:09:22,030 >> Mən bir göstərmək üçün gedirəm Getstrings.c program--. 196 00:09:22,030 --> 00:09:25,760 Və belə ki, bütün bu proqram bunu dörd strings tələb edir 197 00:09:25,760 --> 00:09:28,830 ilə istifadəçi GetString və sonra çap 198 00:09:28,830 --> 00:09:30,950 nə ki, ilk simli daxil idi. 199 00:09:30,950 --> 00:09:32,840 Biz dörd vasitəsilə iki məhəl edirik. 200 00:09:32,840 --> 00:09:33,610 OLDU. 201 00:09:33,610 --> 00:09:38,210 Belə ki, burada, indi zaman Mən ilk tələbi s1. 202 00:09:38,210 --> 00:09:39,740 Belə ki, kompüter var. 203 00:09:39,740 --> 00:09:41,680 Və GetString həyata keçiririk. 204 00:09:41,680 --> 00:09:46,710 Belə ki, bir simli tələb Mənə və mən OK, Dekanı deyirlər. 205 00:09:46,710 --> 00:09:47,900 Simli ver "Dean". 206 00:09:47,900 --> 00:09:50,300 >> Belə ki, haradasa yaddaş siz xatırlamaq lazımdır "Dean". 207 00:09:50,300 --> 00:09:52,160 Belə ki, haradasa yaddaş daxil yazmaq. 208 00:09:52,160 --> 00:09:58,270 209 00:09:58,270 --> 00:09:59,210 Mükəmməldir. 210 00:09:59,210 --> 00:09:59,880 OLDU. 211 00:09:59,880 --> 00:10:01,740 Belə ki, indi biz S2 var. 212 00:10:01,740 --> 00:10:03,869 Və s2 olacaq GetString sorğu. 213 00:10:03,869 --> 00:10:05,160 Mən bir simli daxil gedirəm. 214 00:10:05,160 --> 00:10:08,720 Mən daxil gedirəm "Hannah". 215 00:10:08,720 --> 00:10:10,586 Belə ki, haradasa yaddaş "Hannah" daxil edin. 216 00:10:10,586 --> 00:10:18,860 217 00:10:18,860 --> 00:10:19,360 Bəli. 218 00:10:19,360 --> 00:10:23,000 A-H. 219 00:10:23,000 --> 00:10:25,550 >> OK, belə ki, indi s3. 220 00:10:25,550 --> 00:10:28,380 Və başqa olacaq GetString tələb. 221 00:10:28,380 --> 00:10:37,020 Və indi "Maria." Daxil edin 222 00:10:37,020 --> 00:10:37,520 Oldu. 223 00:10:37,520 --> 00:10:40,980 Və sonra son bir var GetString tələbi, s4. 224 00:10:40,980 --> 00:10:42,580 Belə ki, mən bilmirəm. 225 00:10:42,580 --> 00:10:45,640 Necə ki, biz ilə getmək haqqında antidisestablishmentarianism. 226 00:10:45,640 --> 00:10:49,460 Belə ki, yaddaş daxil edin. 227 00:10:49,460 --> 00:10:50,400 Bəli. 228 00:10:50,400 --> 00:10:53,970 Belə ki, yalnız "Rob." Nə 229 00:10:53,970 --> 00:10:54,560 >> OLDU. 230 00:10:54,560 --> 00:10:58,410 Niyə Belə ki, indi explain-- bu boşluq tərk edirsiniz? 231 00:10:58,410 --> 00:11:01,340 Bu boş var Niyə burada, burada və burada yer? 232 00:11:01,340 --> 00:11:05,170 233 00:11:05,170 --> 00:11:05,670 Bəli. 234 00:11:05,670 --> 00:11:09,450 Mən getmək zaman qeyd əgər belə s1-- çap biz 235 00:11:09,450 --> 00:11:11,890 idi "Hannah" çalışan sağ yanında "Dean" 236 00:11:11,890 --> 00:11:14,360 biz izlə necə string "Dean" bitir? 237 00:11:14,360 --> 00:11:19,470 Belə ki, simli S1 çap ola bilər yalnız "DeanHannahMariaRob" çap 238 00:11:19,470 --> 00:11:22,720 hər hansı bir ipucu yoxdur, əgər "Dean" həqiqətən başa bir zaman. 239 00:11:22,720 --> 00:11:23,240 >> Oldu. 240 00:11:23,240 --> 00:11:27,650 Belə ki, yaddaş yol biz, həqiqətən, simli bu son təmsil 241 00:11:27,650 --> 00:11:29,940 backslash sıfır ilə. 242 00:11:29,940 --> 00:11:32,620 Belə ki, bu kosmik biz nə istədiyini dəqiq deyil. 243 00:11:32,620 --> 00:11:34,040 Bu backslash sıfır olmalıdır. 244 00:11:34,040 --> 00:11:37,690 Bu, bir backslash sıfır olacaq bu bir backslash sıfır olacaq. 245 00:11:37,690 --> 00:11:41,585 Və siz bir fantastik mükafat ola bilər mükəmməl könüllü olmaq üçün. 246 00:11:41,585 --> 00:11:44,910 247 00:11:44,910 --> 00:11:45,860 Bir stress top almaq! 248 00:11:45,860 --> 00:11:49,040 249 00:11:49,040 --> 00:11:49,700 >> OLDU. 250 00:11:49,700 --> 00:11:54,420 Belə ki, bu xarakter backslash sıfır necə bir simli sonunda göstərir. 251 00:11:54,420 --> 00:11:57,120 Bu necə zaman hər hansı bir proqram bir simli çap etmək istəyir, 252 00:11:57,120 --> 00:11:59,760 öyrəndik xatırlayıram how-- bu strlen funksiyası ötən həftə? 253 00:11:59,760 --> 00:12:00,940 String uzunluğu? 254 00:12:00,940 --> 00:12:03,770 Bu string uzunluğu edə necə simli necə uzun müəyyən edir. 255 00:12:03,770 --> 00:12:05,810 Bu, yalnız iterating saxlayır simvol üzərində 256 00:12:05,810 --> 00:12:08,217 tapdığı qədər sıfır xarakter backslash. 257 00:12:08,217 --> 00:12:11,050 Əhəmiyyətli olan həyata keçirmək üçün belə backslash sıfır xarakteri haqqında 258 00:12:11,050 --> 00:12:14,950 Bu təmsil edir ki, bit bütün sıfır. 259 00:12:14,950 --> 00:12:18,980 Belə ki, bu fərqli olduğunu qeyd sıfır xarakteri. 260 00:12:18,980 --> 00:12:23,010 Belə ki, sıfır xarakteri, Yadınızdadırsa, əgər Məsələn o sonunda verdi ki, 261 00:12:23,010 --> 00:12:27,360 mühazirə simvol xəritəsi harada 65 kapital A xəritələr kimi to--. 262 00:12:27,360 --> 00:12:29,130 97 üçün xəritələr kiçik. 263 00:12:29,130 --> 00:12:30,890 Kiçik b 98 olacaq. 264 00:12:30,890 --> 00:12:35,220 Belə ki, sayı 0 maps mən deyil to-- mənim baş üst off bilirik. 265 00:12:35,220 --> 00:12:36,400 44 və ya 45. 266 00:12:36,400 --> 00:12:37,890 Somewhere ki, regionda. 267 00:12:37,890 --> 00:12:40,850 >> Belə ki, xarakter 0 faktiki sayı. 268 00:12:40,850 --> 00:12:44,350 Amma backslash sıfır bütün sıfır bit maps. 269 00:12:44,350 --> 00:12:46,380 Belə ki, bir fərq var backslash sıfır arasında, 270 00:12:46,380 --> 00:12:48,450 Hansı null terminator zəng edəcəyik. 271 00:12:48,450 --> 00:12:53,210 Bir fərq arasında var backslash sıfır və xarakter sıfır. 272 00:12:53,210 --> 00:12:54,350 >> Oldu. 273 00:12:54,350 --> 00:12:57,520 Belə ki strings haqqında bir az daha söhbət. 274 00:12:57,520 --> 00:13:01,470 Beləliklə, biz bu necə burada bax Bu xatirəsinə salınmış olacaq. 275 00:13:01,470 --> 00:13:07,940 Belə ki, bir ardıcıllıqla kimi strings bu fikir simvol rəsmi kompüter belə 276 00:13:07,940 --> 00:13:10,750 ardıcıllığı üçün sciency müddətli bir sıra edir. 277 00:13:10,750 --> 00:13:13,790 Beləliklə, biz bir simli zəng simvol bir sıra. 278 00:13:13,790 --> 00:13:17,770 Və həqiqətən digər məlumatlar var biz həyata serialların edə bilərsiniz növləri. 279 00:13:17,770 --> 00:13:19,975 >> Belə ki, bu motivasiya etmək, nümunə oldu. 280 00:13:19,975 --> 00:13:22,810 281 00:13:22,810 --> 00:13:29,812 Biz lazımdır ages0.c zəng edəcəyik surəti və şablon yapışdırıb. 282 00:13:29,812 --> 00:13:32,470 283 00:13:32,470 --> 00:13:33,410 OLDU. 284 00:13:33,410 --> 00:13:39,378 Bu proqram Belə ki, nə biz etmək istəyirəm yaş qamarlamaq deyil 285 00:13:39,378 --> 00:13:45,160 Əlbəttə üç şagird. 286 00:13:45,160 --> 00:13:49,240 Beləliklə, biz bilirik int age-- və indi 0 demək gedirəm. 287 00:13:49,240 --> 00:13:53,140 Belə ki, age1 demək istəyirəm, lakin bilər məqsədləri üçün biz çox qısa görəcəksiniz, 288 00:13:53,140 --> 00:13:57,187 Mən int age0 GetInt bərabərdir demək lazımdır. 289 00:13:57,187 --> 00:13:59,270 GetInt eyni zəng belə Biz istifadə etdik ki, 290 00:13:59,270 --> 00:14:01,561 isteyen üçün baş deyil "Mənə yaş vermək." deyərək 291 00:14:01,561 --> 00:14:03,120 Amma yalnız xahiş edir. 292 00:14:03,120 --> 00:14:06,510 >> Və age1 GetInt bərabərdir. 293 00:14:06,510 --> 00:14:09,600 Və int age2 GetInt bərabərdir. 294 00:14:09,600 --> 00:14:14,070 Belə ki, daha üç tələbələr, amma nəticədə dəyişən göstəriciləri 295 00:14:14,070 --> 00:14:16,890 age2 vasitəsilə age0 var. 296 00:14:16,890 --> 00:14:17,550 OLDU. 297 00:14:17,550 --> 00:14:23,960 Belə ki, bu proqram nə lazımdırsa edəcəyik biz age0, age1 və age2 ilə istədiyiniz, 298 00:14:23,960 --> 00:14:27,670 lakin bu proqram nəticədə üç tələbə üçün çalışır. 299 00:14:27,670 --> 00:14:28,380 >> OLDU. 300 00:14:28,380 --> 00:14:32,110 Belə ki, indi mən dörd tələbələr istəyirsinizsə? 301 00:14:32,110 --> 00:14:36,000 Bəli, mən geri getmək üçün gedirəm mənim kodu daxil Şərh dəyişdirmək, 302 00:14:36,000 --> 00:14:39,840 və indi biz bir int var age3 GetInt bərabərdir. 303 00:14:39,840 --> 00:14:40,610 OLDU. 304 00:14:40,610 --> 00:14:43,660 Belə ki, kim burada problem görmür? 305 00:14:43,660 --> 00:14:47,310 Problem nədir quraşdırma bu növ ilə? 306 00:14:47,310 --> 00:14:47,810 Bəli. 307 00:14:47,810 --> 00:14:53,110 308 00:14:53,110 --> 00:14:53,610 Bəli. 309 00:14:53,610 --> 00:14:56,360 Beləliklə, biz bir yaratmaq edirik Hər bir tələbə üçün dəyişən. 310 00:14:56,360 --> 00:15:00,140 İndi işləyir, lakin nəticədə nə İndi əgər 311 00:15:00,140 --> 00:15:06,500 Mən yaşına qamarlamaq istəyirəm ", deyə Səkkiz tələbələr və ya 16 şagird 312 00:15:06,500 --> 00:15:11,340 və ya, lakin çox tələbələr CS50 yüzlərlə şagird 313 00:15:11,340 --> 00:15:16,750 və ya kampüsünde minlərlə şagird və ya dünyanın milyardlarla insan? 314 00:15:16,750 --> 00:15:19,130 Belə ki, son nəticədə bu davamlı deyil. 315 00:15:19,130 --> 00:15:21,990 Özünüz çıxarmaq görmək istənilən vaxt və bu kimi sovuşdurmaq indeksi, 316 00:15:21,990 --> 00:15:25,050 ümumiyyətlə hiss etməlidir daha yaxşı bir yol yoxdur. 317 00:15:25,050 --> 00:15:31,290 >> Biz təqdim harada bu belədir bir sıra bəyanat. 318 00:15:31,290 --> 00:15:34,564 Belə ki, bir sıra bəyan edərkən, Bu nə ümumi format 319 00:15:34,564 --> 00:15:35,480 kimi baxmaq gedir. 320 00:15:35,480 --> 00:15:36,664 Biz növü demək olacaq. 321 00:15:36,664 --> 00:15:38,830 sonra biz olacaq ki, serialın adını vermək, 322 00:15:38,830 --> 00:15:41,150 yalnız biz hər hansı bir dəyişən müəyyən kimi. 323 00:15:41,150 --> 00:15:43,980 Və sonra nəhayət biz istifadə Bu bracket notation yenidən 324 00:15:43,980 --> 00:15:47,480 lakin fərqli bir kontekstində necə biz əvvəllər istifadə edilmişdir. 325 00:15:47,480 --> 00:15:51,860 >> Belə ki, burada bu normal kimi görünür biz gördük dəyişən elan. 326 00:15:51,860 --> 00:15:54,890 Belə ki, biz əvvəl int x yarı kolon gördüm. 327 00:15:54,890 --> 00:16:00,020 Yaxşı indi biz bir şey görə bilərsiniz int x Mötərizədə 5 kimi. 328 00:16:00,020 --> 00:16:04,020 Və bu ideya qoyulması Biz yaxşıdır GetInt proqram 329 00:16:04,020 --> 00:16:08,850 belə ki, biz həyata keçirə bilər eyni şəkildə bu. 330 00:16:08,850 --> 00:16:13,630 >> Biz istifadə edirlər CS deyirlər bir şey sayı n. 331 00:16:13,630 --> 00:16:16,150 Belə ki, burada biz gedirik Dörd tələbə saxlamayın. 332 00:16:16,150 --> 00:16:25,960 İndi biz int yaş demək olar bracket olduqca onu yet-- almaq deyil n-- 333 00:16:25,960 --> 00:16:32,210 Dörd tələbə bir sıra elan. 334 00:16:32,210 --> 00:16:38,050 Belə ki, bu baxmaq necə yaddaş bu oxşar olacaq. 335 00:16:38,050 --> 00:16:39,570 Bu sil. 336 00:16:39,570 --> 00:16:46,606 Və biz bir yerdə olacaq yaddaş-Mən orada bu qədər qoymaq lazımdır. 337 00:16:46,606 --> 00:16:52,690 338 00:16:52,690 --> 00:16:53,808 >> Belə ki, haradasa yaddaş. 339 00:16:53,808 --> 00:16:58,760 340 00:16:58,760 --> 00:16:59,727 Bir, iki, üç, dörd. 341 00:16:59,727 --> 00:17:03,383 342 00:17:03,383 --> 00:17:09,849 Biz bir sıra dörd integers var dörd integers bu serialın üçün. 343 00:17:09,849 --> 00:17:13,820 Belə ki, hazırda nə bu qutuları bir ölçüsü? 344 00:17:13,820 --> 00:17:17,190 345 00:17:17,190 --> 00:17:17,690 Bəli. 346 00:17:17,690 --> 00:17:18,390 Bu dörd bytes var. 347 00:17:18,390 --> 00:17:19,690 Bu 32 bit var. 348 00:17:19,690 --> 00:17:22,310 Belə ki, indi bu fərqli array ki, biz 349 00:17:22,310 --> 00:17:24,020 simvol əvvəllər array gördüm. 350 00:17:24,020 --> 00:17:28,540 Simli hər qutusu yalnız bir byte idi Bir xarakter yalnız bir byte, çünki. 351 00:17:28,540 --> 00:17:32,170 Amma integers bir sıra ilə, hər box üçün dörd bytes olmalıdır 352 00:17:32,170 --> 00:17:34,060 bütün tam uyğun. 353 00:17:34,060 --> 00:17:37,197 Belə ki, bu nə bir sıra Dörd ints kimi görünür. 354 00:17:37,197 --> 00:17:40,510 355 00:17:40,510 --> 00:17:43,870 >> Və sonra geri kodu. 356 00:17:43,870 --> 00:17:47,460 İndi biz, həqiqətən, mağaza istəyirəm ki array daxil integers. 357 00:17:47,460 --> 00:17:53,470 Belə ki, indi bu, çox, çox, çox deyil bir nöqtədə olacaq ümumi model 358 00:17:53,470 --> 00:17:54,680 əzələ yaddaş olur. 359 00:17:54,680 --> 00:17:56,710 Belə ki, i 0 bərabərdir int. 360 00:17:56,710 --> 00:17:57,940 i n azdır. 361 00:17:57,940 --> 00:18:01,850 i plus plus. 362 00:18:01,850 --> 00:18:05,790 Age bracket i GetInt bərabərdir. 363 00:18:05,790 --> 00:18:15,100 >> Belə ki, bu loop üçün, bu format, çox istifadə almaq lazımdır. 364 00:18:15,100 --> 00:18:20,010 Belə ki, bu, ümumiyyətlə necə alacağıq demək olar ki, hər hansı bir sıra üzərində təkrarlamaq. 365 00:18:20,010 --> 00:18:23,690 İndi bu cür qeyd əvvəldən niyə izah 366 00:18:23,690 --> 00:18:29,870 biz loops int üçün gedən üçün yox idi i i az və ya 10 bərabər, 1 bərabərdir. 367 00:18:29,870 --> 00:18:34,200 başlayaraq ki, olan səbəb sıfır serialların ilə bu iş edir. 368 00:18:34,200 --> 00:18:36,270 Belə ki, seriallarda dizine sıfır var. 369 00:18:36,270 --> 00:18:40,360 Bu array uzunluğu 4 varsa, göstəriciləri 3 vasitəsilə 0 var. 370 00:18:40,360 --> 00:18:42,880 >> Ilk vasitəsilə So loop üçün bu iteration 371 00:18:42,880 --> 00:18:49,930 biz yaş qəbulu olacaq GetInt zəng bərabər bracket 0. 372 00:18:49,930 --> 00:18:52,440 Belə ki, baş nə klaviatura daxil. 373 00:18:52,440 --> 00:18:56,970 Ikinci pass, biz istəyirik GetInt üçün age1 bərabər qəbulu. 374 00:18:56,970 --> 00:18:58,230 Üçüncü pass, age2. 375 00:18:58,230 --> 00:18:59,880 Final pass age3. 376 00:18:59,880 --> 00:19:05,750 Loop ilk pass əgər Belə ki, Mən klaviatura sayı 4 daxil edin 377 00:19:05,750 --> 00:19:07,740 sonra biz burada bir 4 daxil olacaq. 378 00:19:07,740 --> 00:19:11,470 Mən daxil ikinci pass Əgər 50, biz burada bir 50 qoymaq lazımdır. 379 00:19:11,470 --> 00:19:15,180 Üçüncü pass Mən bilər daxil 1 Mənfi 1 mənfi, 380 00:19:15,180 --> 00:19:21,810 və sonra nəhayət mən 0- daxil edin və İndi bu göstərici üç idi ki, xatırlayıram. 381 00:19:21,810 --> 00:19:25,350 >> Biz loop geri sonra, i var gedən 4 artırılacağını üçün. 382 00:19:25,350 --> 00:19:27,770 i artıq 4 n, azdır. 383 00:19:27,770 --> 00:19:29,840 Və biz loop çıxmaq. 384 00:19:29,840 --> 00:19:32,578 Belə ki, bu ilə yanlış nə olardı? 385 00:19:32,578 --> 00:19:38,140 386 00:19:38,140 --> 00:19:38,729 [Işitilemez]? 387 00:19:38,729 --> 00:19:39,604 Auditoriya: [işitilemez] 388 00:19:39,604 --> 00:19:45,880 389 00:19:45,880 --> 00:19:46,400 >> Bəli. 390 00:19:46,400 --> 00:19:51,550 Belə ki array yalnız dörd yerləri var, olan 3 vasitəsilə indeksləri 0 kimi deməkdir. 391 00:19:51,550 --> 00:19:55,630 Bu halda olsaydı, mən belə bir anda dəyəri 4 götürmək. 392 00:19:55,630 --> 00:20:00,910 yaş bracket 4 müəyyən olunacaq nə burada olmaq olur 393 00:20:00,910 --> 00:20:02,920 Mən demək nə üçün, 6 daxil edin. 394 00:20:02,920 --> 00:20:05,010 6 bu qəbulu olacaq. 395 00:20:05,010 --> 00:20:06,560 >> Amma biz burada nə bilmirəm. 396 00:20:06,560 --> 00:20:08,836 Bu yaddaş deyil ki, biz giriş idi. 397 00:20:08,836 --> 00:20:10,710 Belə ki, xatırlayıram əgər əvvəlki mühazirə, 398 00:20:10,710 --> 00:20:14,350 O ZAMYLA dəyərlər çap olunub və bir nöqtədə o, bu seqmentasiya edib 399 00:20:14,350 --> 00:20:17,990 günah. Belə ki, siz yəqin ki, görən olunacaq Siz kimi bir çox seqmentasiya çatışmazlıqlar 400 00:20:17,990 --> 00:20:20,530 problem dəstləri bəzi həyata keçirir. 401 00:20:20,530 --> 00:20:24,950 Amma bu yollarından biridir olan Bir seqmentasiya qarşılaşa bilər 402 00:20:24,950 --> 00:20:28,540 Siz daxil başlamaq zaman, günah Siz olmamalıdır yollarla yaddaş. 403 00:20:28,540 --> 00:20:34,117 Beləliklə, biz çıxışı yox idi Bu yer, bu bir səhv deyil. 404 00:20:34,117 --> 00:20:37,760 405 00:20:37,760 --> 00:20:40,190 >> Belə ki, bu yaxşıdır. 406 00:20:40,190 --> 00:20:45,820 İndi hələ kiçik var bu Məcəllə ilə məsələ. 407 00:20:45,820 --> 00:20:50,720 Və biz istəyirik ki, əsasən hələ dörd şagird vurulmuş. 408 00:20:50,720 --> 00:20:52,940 İndi OK, səkkiz tələbə istifadə etmək istəyirsinizsə. 409 00:20:52,940 --> 00:20:54,350 Bu böyük bir şey deyil. 410 00:20:54,350 --> 00:20:58,120 Mən dəyişdirmək getmək olar şərh və n dəyişir. 411 00:20:58,120 --> 00:20:59,760 İndi bu səkkiz tələbələri ilə işləyəcək. 412 00:20:59,760 --> 00:21:02,190 Mən bu tərtib və run əgər bu, me-- göstərəcək 413 00:21:02,190 --> 00:21:07,870 Bu səkkiz üçün integers tələb edəcək tələbələr və yalnız işləyəcək. 414 00:21:07,870 --> 00:21:11,850 Amma bu lazımdır ideal az deyil proqram hər zaman compile 415 00:21:11,850 --> 00:21:15,960 Mən tələbələrin sayı dəyişdirmək istəyirəm Mən yaş girmək istəyirəm. 416 00:21:15,960 --> 00:21:22,990 >> Belə ki, final təkmilləşdirilməsi haqqında biz burada görəcəksiniz kimi bu, biz istəyirik 417 00:21:22,990 --> 00:21:26,177 insanların sayı tələb etmək niyyətindədir. 418 00:21:26,177 --> 00:21:28,010 Burada biz bir sıra var oda insanların 419 00:21:28,010 --> 00:21:29,880 və ya oda insanların hər hansı bir yaş. 420 00:21:29,880 --> 00:21:33,300 Amma biz sayı tələb olacaq istifadəçi oda insanların. 421 00:21:33,300 --> 00:21:36,171 Belə ki, bu eyni do-isə biz əvvəl gördüm loop. 422 00:21:36,171 --> 00:21:37,920 Bu dəqiq eyni do-isə loop ki, 423 00:21:37,920 --> 00:21:40,050 problem set həyata keçirilə bilər. 424 00:21:40,050 --> 00:21:43,102 Belə ki, kimi uzun onlar etdiyiniz kimi 1-dən n az girən, 425 00:21:43,102 --> 00:21:45,310 belə var var otağında ən azı bir şəxs. 426 00:21:45,310 --> 00:21:47,407 Kimi uzun onlar kimi 1-dən n az girən, 427 00:21:47,407 --> 00:21:48,990 sonra biz yenidən xahiş saxlamaq olacaq. 428 00:21:48,990 --> 00:21:50,906 Nömrəsi daxil edin oda insanların. 429 00:21:50,906 --> 00:21:53,550 İndi, bir dəfə biz sıra var otaqda adam 430 00:21:53,550 --> 00:21:58,020 mən orada daxil ola bilər bu otaqda 200 nəfər var. 431 00:21:58,020 --> 00:22:05,480 Sonra burada biz gəlib olacaq və ölçüsü 200 bir sıra bəyan. 432 00:22:05,480 --> 00:22:10,220 Biz array elan edirik böyük kifayət qədər 200 yaş keçiriləcək. 433 00:22:10,220 --> 00:22:15,370 Enir, bu loop üçün var çox istifadə almaq olacaq. 434 00:22:15,370 --> 00:22:19,490 Belə ki, bu serialın üzərində iterating, hər yeri təyin 435 00:22:19,490 --> 00:22:23,020 ki array bir tam və sonra nəticədə burada biz istəyirik 436 00:22:23,020 --> 00:22:28,340 yalnız iterating nümunə əldə ki array üzərində, dəyərlər təyin etmək deyil, 437 00:22:28,340 --> 00:22:30,150 lakin dəyərlər daxil olmaq üçün. 438 00:22:30,150 --> 00:22:33,810 >> Burada Beləliklə, biz görürük ki, biz İndi bir il, söyləyərək, 439 00:22:33,810 --> 00:22:40,470 şəxs% i, i yaş% olacaq ilk% i i plus 1 olduğu. 440 00:22:40,470 --> 00:22:43,010 Belə ki, i bu göstərici dəyişir. 441 00:22:43,010 --> 00:22:49,420 Və ikinci% i olacaq yaş sıra plus 1 saxlanılır dəyəri. 442 00:22:49,420 --> 00:22:54,217 Belə ki, bu plus 1, biz etdiyiniz yalnız, çünki bu plus 1 saying-- yaş i plus 1. 443 00:22:54,217 --> 00:22:57,050 Bu plus 1, biz etdiyiniz yalnız, çünki İndi şəxs bir il deyərək 444 00:22:57,050 --> 00:22:58,280 Bu köhnə olacaq. 445 00:22:58,280 --> 00:23:01,080 >> Belə ki, niyə bu i plus 1? 446 00:23:01,080 --> 00:23:04,064 Niyə biz bir plus 1 var? 447 00:23:04,064 --> 00:23:04,564 Bəli. 448 00:23:04,564 --> 00:23:07,410 449 00:23:07,410 --> 00:23:07,930 Bəli. 450 00:23:07,930 --> 00:23:10,510 Belə ki, seriallarda sıfır endekslenir xatırlayıram. 451 00:23:10,510 --> 00:23:14,840 Biz bu çap əgər Belə ki, Kimsə yalnız çıxış oxumaq, 452 00:23:14,840 --> 00:23:19,380 sonra yəqin ki, onlar bir şey görmək istəyirəm şəxs bir şəxs bir nömrəli kimi, 453 00:23:19,380 --> 00:23:21,160 20 yaş olacaq. 454 00:23:21,160 --> 00:23:23,570 Şəxs sayı iki 15 yaşında olacaq. 455 00:23:23,570 --> 00:23:27,420 Onlar daha çox adam görmək istəmirsinizsə sayı sıfır 15 yaşı var. 456 00:23:27,420 --> 00:23:36,460 >> Belə ki, bu tərtib və yalnız görən nə bəzi kosmik yaradın like-- görünür. 457 00:23:36,460 --> 00:23:43,560 Yaş tərtib olun. 458 00:23:43,560 --> 00:23:45,080 Yaş Running. 459 00:23:45,080 --> 00:23:46,580 Biz oda insanların sayı görürük. 460 00:23:46,580 --> 00:23:48,850 Beləliklə, mən var demək lazımdır otaqda üç nəfər. 461 00:23:48,850 --> 00:23:54,000 Şəxs bir nömrəli yaş, 15, 20, 25 deyək. 462 00:23:54,000 --> 00:23:59,680 İndi bir il demək lazımdır indi onlar 16, 21, 26 olacaq. 463 00:23:59,680 --> 00:24:02,900 Bu ilə işləyir ki, görək 3 bərabər bir n. 464 00:24:02,900 --> 00:24:07,940 Belə ki, mən insanların sayı bir 5 demək iki, üç, iki, bir, indi bir il 465 00:24:07,940 --> 00:24:11,170 Onlar, iki, üç olacaq dörd, üç, iki yaşında. 466 00:24:11,170 --> 00:24:16,500 Mən yalnız kimi ola bilər asanlıqla n 10.000 olmaq var. 467 00:24:16,500 --> 00:24:21,270 İndi Mən burada oturan olacaq Bir müddət yaş daxil, lakin bu işləyir. 468 00:24:21,270 --> 00:24:26,000 >> Belə ki, indi yaddaş yerdə biz , ölçüsü 10.000 bir sıra var 469 00:24:26,000 --> 00:24:28,830 belə nəticədə 40,000 bytes var, çünki 470 00:24:28,830 --> 00:24:31,222 bu integers hər biri üçün dörd bytes. 471 00:24:31,222 --> 00:24:33,180 Belə ki, bir sıra var ölçüsü 10,000 harada biz 472 00:24:33,180 --> 00:24:36,201 o 10.000 insanların yaş saxlamayın. 473 00:24:36,201 --> 00:24:36,700 Oldu. 474 00:24:36,700 --> 00:24:40,070 Bu hər hansı bir haqqında suallar? 475 00:24:40,070 --> 00:24:41,892 Bəli. 476 00:24:41,892 --> 00:24:43,350 Nə mənfi sıra verdi? 477 00:24:43,350 --> 00:24:44,870 Nə görmək edək. 478 00:24:44,870 --> 00:24:49,320 Bu case-- sayı So otaq, mənfi bir insan. 479 00:24:49,320 --> 00:24:52,580 Bu rədd, burada biz baş, çünki 480 00:24:52,580 --> 00:24:57,180 n, əgər ki, idarə etmək üçün az bir çox biz daha xahiş olacaq. 481 00:24:57,180 --> 00:25:01,780 Bir bəyan cəhd edin mənfi ölçüsü array, 482 00:25:01,780 --> 00:25:03,950 ümumiyyətlə işləmir. 483 00:25:03,950 --> 00:25:05,570 >> Belə ki, cəhd edək. 484 00:25:05,570 --> 00:25:08,000 Nin ignore edək nə n dəyər giriş 485 00:25:08,000 --> 00:25:10,571 və yalnız int yaş mənfi bir deyirlər. 486 00:25:10,571 --> 00:25:12,410 Hətta tərtib əgər in nəzər salaq. 487 00:25:12,410 --> 00:25:14,100 Əmin deyiləm. 488 00:25:14,100 --> 00:25:14,920 Yox. 489 00:25:14,920 --> 00:25:18,280 Belə ki, yaş bir elan mənfi ölçüsü array. 490 00:25:18,280 --> 00:25:22,540 Belə ki, upfront bir sıra bilməz tanıyır mənfi ölçüsü və onu rədd edir. 491 00:25:22,540 --> 00:25:26,840 İndi biz idarə olmasaydı bu do-isə loop doğru, 492 00:25:26,840 --> 00:25:28,810 biz yoxlanılması deyil, əgər n az 1 var, əgər 493 00:25:28,810 --> 00:25:32,690 biz yalnız deyək bütün bu yox idi 494 00:25:32,690 --> 00:25:35,940 əvəzinə biz yalnız bir tam qamarlamaq. 495 00:25:35,940 --> 00:25:40,710 Olursa olsun ki, tam nə ki, ölçüsü bir sıra bəyan. 496 00:25:40,710 --> 00:25:44,250 >> Belə ki, compiler bilməz bəlkə indi şikayət. 497 00:25:44,250 --> 00:25:48,780 Mən şeylərdir tərtib əgər belə ki, şikayət edə bilməz, 498 00:25:48,780 --> 00:25:51,480 mən deyiləm bilirik ki, bilməz, çünki mənfi nömrəsini daxil etmək niyyətindədir, 499 00:25:51,480 --> 00:25:52,550 olan etibarsız ola bilər. 500 00:25:52,550 --> 00:25:54,633 Bütün mən bilir, müsbət nömrəsini daxil edin, 501 00:25:54,633 --> 00:25:56,000 olan mükəmməl etibarlıdır. 502 00:25:56,000 --> 00:26:01,090 I 1 mənfi daxil əgər mən təsəvvür oda insanlar Seqmentasiya günah. 503 00:26:01,090 --> 00:26:06,040 >> Belə ki, OK. 504 00:26:06,040 --> 00:26:13,160 Belə ki, bu yalnız geri əlavə imkan Bu ilk nə saxlamaq. 505 00:26:13,160 --> 00:26:15,640 Belə ki, yaş olun. 506 00:26:15,640 --> 00:26:18,120 İndi mən bir cəhd etmək istəyirsinizsə, mənfi belə edək age-- 507 00:26:18,120 --> 00:26:19,710 otaqda nəfər var deyirlər. 508 00:26:19,710 --> 00:26:23,180 Şəxs bir nömrəli yaş şəxs üç mənfi 4 509 00:26:23,180 --> 00:26:26,500 sıfır şəxs OK three-- edir. 510 00:26:26,500 --> 00:26:29,850 Belə ki, burada bir il artıq şəxs sayı bir 3 yaşlı mənfi olacaq. 511 00:26:29,850 --> 00:26:32,830 Belə ki, yəqin ki, mənada etmir. 512 00:26:32,830 --> 00:26:37,220 Amma ki, yalnız axtarır, çünki kodu bütün edirik 513 00:26:37,220 --> 00:26:40,260 GetInt tələb olunur. 514 00:26:40,260 --> 00:26:44,110 >> İndi biz idi əgər GetPositiveInt funksiyası 515 00:26:44,110 --> 00:26:49,690 və ya biz sadəcə bu etmişdi orada eyni isə loop sort, 516 00:26:49,690 --> 00:26:52,340 onda bu mükəmməl gözəl iş olardı. 517 00:26:52,340 --> 00:26:54,200 Amma bu da halda, biz yalnız deyil 518 00:26:54,200 --> 00:26:57,772 mənfi dəyərlər user olmaq üçün nə. 519 00:26:57,772 --> 00:26:59,147 Diziler haqqında hər hansı digər suallar? 520 00:26:59,147 --> 00:27:02,290 521 00:27:02,290 --> 00:27:03,250 OLDU. 522 00:27:03,250 --> 00:27:09,380 >> Beləliklə, biz indi seriallarda gördük. 523 00:27:09,380 --> 00:27:12,500 Və biz istifadə etmək lazım olacaq command-line arqumentlər bu. 524 00:27:12,500 --> 00:27:14,680 Belə ki, problem da iki müəyyən Mən sizə bir çox bilirik 525 00:27:14,680 --> 00:27:18,040 hələ problem set iş ola bilər bir, lakin problem iki gəlir qurmaq. 526 00:27:18,040 --> 00:27:22,260 Problem iki set, siz olacaq strings, serialların ilə məşğul olmaq üçün lazımdır, 527 00:27:22,260 --> 00:27:23,950 və komanda-line dəlilləri. 528 00:27:23,950 --> 00:27:26,270 >> Command line dəlilləri belə nə var? 529 00:27:26,270 --> 00:27:29,570 İndi, burada aşağı edə bilərsiniz dəqiq nə üçün az teaser 530 00:27:29,570 --> 00:27:30,950 gedən baş olunacaq. 531 00:27:30,950 --> 00:27:32,950 Biz int əsas, inc argc görmək string argv mötərizədə. 532 00:27:32,950 --> 00:27:34,560 533 00:27:34,560 --> 00:27:38,130 Belə ki, ilk nin şərh edək nə demək çalışırıq. 534 00:27:38,130 --> 00:27:40,800 OK, indi. 535 00:27:40,800 --> 00:27:44,637 >> Belə ki, command line siz olmalıdır Bu əmrləri bəzi alışma 536 00:27:44,637 --> 00:27:48,580 İndi, və yəqin ki, etdik əvvəl terminal cd. 537 00:27:48,580 --> 00:27:52,100 Beləliklə, biz cd pset1 desək, ki, olmalıdır bilirik ki, 538 00:27:52,100 --> 00:27:55,050 pset1 dizine dəyişən ola bilər. 539 00:27:55,050 --> 00:27:59,120 >> İndi heç etdik ki, görürsünüz əvvəl bu kimi bir proqram yazılı. 540 00:27:59,120 --> 00:28:03,120 Siz yazdıq Hər bir proqram, Siz, demək, namizəd olacağını Mario doğramaq nöqtə, 541 00:28:03,120 --> 00:28:06,779 dot görməmiş doğramaq və sonra giriş üçün sizə təklif edə bilər. 542 00:28:06,779 --> 00:28:08,570 İndi ki, nə var dəyişiklik kataloq edir. 543 00:28:08,570 --> 00:28:12,770 CD çalıştırdığınızda, sonra demək deyil CD olan qovluğu daxil istəyirsiniz? 544 00:28:12,770 --> 00:28:17,200 Bunun əvəzinə, yalnız demək, cd pset1, və yalnız pset1 dizine gedir. 545 00:28:17,200 --> 00:28:20,430 >> Belə ki, eyni biz digər nümunələr var. 546 00:28:20,430 --> 00:28:21,540 salam olun. 547 00:28:21,540 --> 00:28:25,760 Etmək çalıştırdığınızda, sonra demək deyil olan proqram etmək istərdiniz? 548 00:28:25,760 --> 00:28:29,620 Siz yalnız at, demək command line salam olun. 549 00:28:29,620 --> 00:28:31,060 >> Move bir nümunəsidir. 550 00:28:31,060 --> 00:28:34,840 Irəliləyirik Bu bir kataloq up fayl mario.c. 551 00:28:34,840 --> 00:28:38,060 Belə ki, indi biz bu misal ilə başa Biz, həqiqətən, iki dəlilləri keçən edirik. 552 00:28:38,060 --> 00:28:42,090 Ilk arqument kimi mario.c var, və dot dot ikinci dəlildir. 553 00:28:42,090 --> 00:28:46,140 Və sonra, siz çalıştırdığınızda ki, həqiqətən uzun komanda görmək xətti 554 00:28:46,140 --> 00:28:50,580 ki, həqiqətən uzun command command line çap. 555 00:28:50,580 --> 00:28:53,590 Belə ki, uzun bu funksiyanı bu yalnız qısa bir hissəsidir, 556 00:28:53,590 --> 00:28:56,090 Amma indi biz üç command-line dəlilləri. 557 00:28:56,090 --> 00:28:59,750 Dot dash sıfır, salam, və hello.c. 558 00:28:59,750 --> 00:29:03,497 >> Belə ki, bu command-line var arqumentlər, arqumentlər 559 00:29:03,497 --> 00:29:05,580 Siz keçən edirik ki, command line ki 560 00:29:05,580 --> 00:29:08,680 istenir yoxdur Siz proqram çalıştırdığınızda. 561 00:29:08,680 --> 00:29:13,090 Bu sinir bozucu olardı zaman, əgər Siz cingilti qaçdı ki, OK ", dedi 562 00:29:13,090 --> 00:29:15,630 program-- hansı fayl tərtib olunur? 563 00:29:15,630 --> 00:29:17,010 Hello.c. 564 00:29:17,010 --> 00:29:19,440 Nə bayraqları siz ki daxil etmək istəyirsiniz? dash o. 565 00:29:19,440 --> 00:29:21,190 Nə istəyirəm Fayl adlandırmaq üçün necə? 566 00:29:21,190 --> 00:29:21,690 Salam. 567 00:29:21,690 --> 00:29:25,290 Xeyr, yalnız cingilti run o salam hello.c dash. 568 00:29:25,290 --> 00:29:28,820 >> Belə ki, bu geri axtarır. 569 00:29:28,820 --> 00:29:32,920 İndi argc argc dəlil sayar edir. 570 00:29:32,920 --> 00:29:36,620 Bu komanda-line sayı arqumentlər command line girdi. 571 00:29:36,620 --> 00:29:39,720 Yaxşı, texniki argv-- v, vektor tərəfdardır 572 00:29:39,720 --> 00:29:41,460 olan əsasən array deməkdir. 573 00:29:41,460 --> 00:29:42,680 Amma siz ki, iqnor edə bilər. 574 00:29:42,680 --> 00:29:47,540 Argv-- biz string argv var Belə ki, simli argv mötərizədə. 575 00:29:47,540 --> 00:29:50,150 Belə ki, bu başqa bir formasıdır Siz əvvəl görməmişəm Mötərizədə. 576 00:29:50,150 --> 00:29:52,300 Beləliklə, biz gördük bracket Biz sonra notation, 577 00:29:52,300 --> 00:29:53,970 kimi, simli s Zamyla bərabərdir. 578 00:29:53,970 --> 00:29:56,910 s bracket 0 xarakter Z. çatmaz 579 00:29:56,910 --> 00:30:00,720 >> Biz də Mötərizədə zaman gördüm biz int yaş 5 bracket bildirib. 580 00:30:00,720 --> 00:30:03,160 Ki, ölçüsü 5 bir sıra elan etdi. 581 00:30:03,160 --> 00:30:06,280 Belə ki, burada bir versiyası Mötərizədə biz əvvəl görmədim. 582 00:30:06,280 --> 00:30:09,630 String argv Belə ki, bu cür ki, tamamilə tanış olacaq 583 00:30:09,630 --> 00:30:12,050 yalnız bir string olardı. 584 00:30:12,050 --> 00:30:14,520 İndi mötərizədə göstərir bu bir sıra edir. 585 00:30:14,520 --> 00:30:19,920 Belə ki, simli argv mötərizədə vasitələri ki, argv strings bir sıra edir. 586 00:30:19,920 --> 00:30:22,540 İndi texniki bir string simvol bir sıra edir. 587 00:30:22,540 --> 00:30:26,400 Belə ki, bu, indi bir sıra edir simvol bir sıra. 588 00:30:26,400 --> 00:30:31,490 Amma bu barədə düşünmək üçün çox asandır strings bu kimi bir sıra. 589 00:30:31,490 --> 00:30:34,900 >> Belə ki, niyə mötərizədə boş ola bilər? 590 00:30:34,900 --> 00:30:38,170 Kimi, niyə biz, deyə bilmərəm bracket 5, bracket n? 591 00:30:38,170 --> 00:30:40,700 592 00:30:40,700 --> 00:30:41,200 Bəli. 593 00:30:41,200 --> 00:30:43,731 594 00:30:43,731 --> 00:30:44,230 Bəli. 595 00:30:44,230 --> 00:30:46,396 Biz necə çox bilmirəm giriş orada olacaq. 596 00:30:46,396 --> 00:30:53,560 Beləliklə, biz cingilti Məsələn baxsaq, biz salam hello.c o dash cingilti demək. 597 00:30:53,560 --> 00:30:56,710 Bu halda, orada baş üç command-line dəlilləri olmalıdır. 598 00:30:56,710 --> 00:31:00,522 Və belə brackets-- görəcəyik ikinci bu üç olmaz. 599 00:31:00,522 --> 00:31:01,730 Texniki dörd olardı. 600 00:31:01,730 --> 00:31:04,030 Amma mötərizədə, biz demək, üç var. 601 00:31:04,030 --> 00:31:08,220 Amma indi biz hərəkət baxdı əgər mario.c dot dot, mötərizədə 602 00:31:08,220 --> 00:31:09,760 Biz onlara iki qoymaq istəyirəm. 603 00:31:09,760 --> 00:31:12,884 >> Və əmrləri bir çox var ki, command line dəyişən sıra var 604 00:31:12,884 --> 00:31:13,620 dəlilləri. 605 00:31:13,620 --> 00:31:17,430 Belə ki, nə bu versiyası bracket notation göstərir 606 00:31:17,430 --> 00:31:20,820 argv strings bir sıra edir. 607 00:31:20,820 --> 00:31:24,360 Amma biz nə qədər bilmirəm strings ki array var. 608 00:31:24,360 --> 00:31:27,090 Və necə sonra necə bilirik çox strings sıra var? 609 00:31:27,090 --> 00:31:28,870 Ki, bütün point argc var. 610 00:31:28,870 --> 00:31:32,300 argc argv necə uzun bizə deyir. 611 00:31:32,300 --> 00:31:36,500 >> Belə ki, son şey saxlamaq üçün mind, ki, texniki 612 00:31:36,500 --> 00:31:40,820 komanda özü kimi sayar command-line dəlilləri. 613 00:31:40,820 --> 00:31:45,330 Cd pset1 Belə ki, iki vardır command-line dəlilləri. 614 00:31:45,330 --> 00:31:50,260 özlüyündə proqram, cd, sonra bu faktiki dəlil hissəsi pset1. 615 00:31:50,260 --> 00:31:54,490 Siz indiyə qədər yazdıq hər hansı bir proqram bir command-line dəlil dot etdi 616 00:31:54,490 --> 00:31:55,320 Mario doğramaq. 617 00:31:55,320 --> 00:31:57,350 Yalnız command-line dəlildir. 618 00:31:57,350 --> 00:32:00,900 >> Belə ki, indi cingilti baxaraq o salam hello.c dash. 619 00:32:00,900 --> 00:32:01,905 Belə ki, argc nədir? 620 00:32:01,905 --> 00:32:05,260 621 00:32:05,260 --> 00:32:06,080 4. 622 00:32:06,080 --> 00:32:08,140 Belə ki, argc 4. 623 00:32:08,140 --> 00:32:12,140 Cingilti, belə ki, argv bracket 0 cingilti var. 624 00:32:12,140 --> 00:32:15,630 argv bracket 1 dash 0. 625 00:32:15,630 --> 00:32:21,870 argv bracket 2 salam və argv bracket 3 hello.c edir. 626 00:32:21,870 --> 00:32:26,813 OK, belə ki, bu suallar, sonra biz will bir proqram nümunələri baxmaq. 627 00:32:26,813 --> 00:32:29,460 628 00:32:29,460 --> 00:32:30,480 >> OLDU. 629 00:32:30,480 --> 00:32:36,260 Beləliklə, biz hello3.c nəzər lazımdır. 630 00:32:36,260 --> 00:32:41,890 Belə ki, bu tanış olmalıdır ilk c nümunələrindən biri 631 00:32:41,890 --> 00:32:45,800 biz yalnız demək olardı biz salam var idi dünya, lakin indi bu daha ümumi edir. 632 00:32:45,800 --> 00:32:52,300 Belə ki, burada biz salam söyləyərək % s backslash n argv bracket 1. 633 00:32:52,300 --> 00:32:57,440 Bu baxımdan qədər qədər belə xəbərdarlıq, bu nə mənim şablon fayl kimi baxdı edib. 634 00:32:57,440 --> 00:33:01,800 Mən int əsas (void) idi, və sonra mən əsas funksiyası bir şey yoxdur. 635 00:33:01,800 --> 00:33:05,100 İndi əvəzinə, bir dəfə biz məşğul başlamaq command-line dəlilləri ilə, 636 00:33:05,100 --> 00:33:07,890 bir dövlət lazımdır Əsas müxtəlif forması. 637 00:33:07,890 --> 00:33:11,930 >> Belə ki, hello3 baxaraq yenə əsas gedir 638 00:33:11,930 --> 00:33:15,990 int argc, indi iki dəlilləri almaq üçün, command-line dəlilləri sayı 639 00:33:15,990 --> 00:33:20,970 və simli mötərizədə argv faktiki strings command line girdi. 640 00:33:20,970 --> 00:33:26,560 Beləliklə, mən dəyişdirmək üçün gedirəm şablon ki, əks etdirmək üçün. 641 00:33:26,560 --> 00:33:29,060 İndi zaman yazmaq bir proqram, yoxsa 642 00:33:29,060 --> 00:33:33,720 hər hansı bir komanda-line lazımdır dəlilləri, sonra yalnız int əsas (void) istifadə edin. 643 00:33:33,720 --> 00:33:37,070 Amma indi yazılı etdiyiniz zaman command-line arqument proqramları olan 644 00:33:37,070 --> 00:33:40,350 problem üçün bunu etmək olacaq belə ki, indi yayınlıyorsanız ki two-- müəyyən 645 00:33:40,350 --> 00:33:42,630 lazımdır proqramları command-line dəlilləri, 646 00:33:42,630 --> 00:33:45,250 Bu forma əsas lazımdır. 647 00:33:45,250 --> 00:33:51,290 >> Belə ki, burada bu böyük istifadə edir command-line dəlil. 648 00:33:51,290 --> 00:33:54,100 Belə ki, argv 1 çap. 649 00:33:54,100 --> 00:33:59,180 OK, belə ki, tərtib edək və bu proqram run. 650 00:33:59,180 --> 00:34:02,440 Hello3 olun. 651 00:34:02,440 --> 00:34:03,570 Tərtib edir. 652 00:34:03,570 --> 00:34:06,870 Dot hello3 doğramaq. 653 00:34:06,870 --> 00:34:08,920 Və, deyək "Rob". 654 00:34:08,920 --> 00:34:10,760 Hello Rob. 655 00:34:10,760 --> 00:34:14,940 Mən, "salam Maria," salam Maria demək olarsa. 656 00:34:14,940 --> 00:34:15,719 Maria Hello. 657 00:34:15,719 --> 00:34:18,639 Hannah hələ salam "deyir Maria, "Mən deyiləm, çünki 658 00:34:18,639 --> 00:34:21,340 Bizim argv 2 ilə bir şey edir. 659 00:34:21,340 --> 00:34:22,590 Argv 2 indi "Hannah." Olacaq 660 00:34:22,590 --> 00:34:25,030 Argc 3 olardı. 661 00:34:25,030 --> 00:34:27,735 Mən bunu əgər? 662 00:34:27,735 --> 00:34:31,980 663 00:34:31,980 --> 00:34:34,679 Belə ki, salam null. 664 00:34:34,679 --> 00:34:38,760 >> O, qısa Faktla bağlı toxundu ki, texniki, GetString 665 00:34:38,760 --> 00:34:42,429 null qayıtmaq bilər, lakin biz bir almaq lazımdır daha nə null daxil çox əslində. 666 00:34:42,429 --> 00:34:47,449 Amma bir məsələ kimi onu ümumiyyətlə pis olması. 667 00:34:47,449 --> 00:34:50,179 Biz əgər səhv bir şey etdi Bu "salam null." çap 668 00:34:50,179 --> 00:34:52,179 Və səbəbi etdik is-- də yanlış bir şey, 669 00:34:52,179 --> 00:34:56,179 Mən dot çizgi hello3 qaçdı zaman, argc 1 idi. 670 00:34:56,179 --> 00:34:59,680 Belə ki, argv uzunluğu 1 deməkdir. 671 00:34:59,680 --> 00:35:05,110 Bir sıra uzunluğu 1 deyilsə, yalnız etibarlı index sıfır. 672 00:35:05,110 --> 00:35:08,550 Və belə ki, burada 1 xaricində argv bu serialın üçündür. 673 00:35:08,550 --> 00:35:13,410 Mən cəhd zaman əvvəl oxşar idi Serialın sonunda xaricində 6 saxlamaq üçün. 674 00:35:13,410 --> 00:35:18,100 Belə ki, bir şey daxil olmaq üçün çalışıram argv sayar kənarda, 675 00:35:18,100 --> 00:35:21,340 və biz null əldə edirik. 676 00:35:21,340 --> 00:35:24,360 >> Belə ki, daha yaxşı version Bu, bir inkişaf, 677 00:35:24,360 --> 00:35:27,010 açıq argc yoxlanılması olunur. 678 00:35:27,010 --> 00:35:33,580 Argc 2 bərabərdir əgər Belə ki, biz qaçdı deməkdir dot çizgi hello3 Rob kimi bir şey. 679 00:35:33,580 --> 00:35:36,840 Və bu "salam Rob." Çap edəcək 680 00:35:36,840 --> 00:35:39,850 Argc bərabər deyil, əgər 2, o, yalnız gedir 681 00:35:39,850 --> 00:35:42,560 Siz qoymaq nə ignore command-line arqument at 682 00:35:42,560 --> 00:35:43,960 command-line dəlilləri kimi. 683 00:35:43,960 --> 00:35:47,168 Əgər hər hansı bir qoymadı və ya, bu ki, yalnız ignore və yalnız demək gedir, 684 00:35:47,168 --> 00:35:47,960 "Siz salam". 685 00:35:47,960 --> 00:35:51,490 >> Belə ki, bu tərtib. 686 00:35:51,490 --> 00:35:54,500 Hello4 olun. 687 00:35:54,500 --> 00:35:56,790 Və hello4 çalışır. 688 00:35:56,790 --> 00:36:00,010 Bu yolu Running, nə çap etmək lazımdır? 689 00:36:00,010 --> 00:36:01,330 "Siz Hello". 690 00:36:01,330 --> 00:36:02,810 Siz Hello. 691 00:36:02,810 --> 00:36:05,870 Nə hello4 Rob haqqında? 692 00:36:05,870 --> 00:36:06,950 "Hello Rob". 693 00:36:06,950 --> 00:36:10,580 Və nəhayət, salam Rob Maria , "salam Siz" yenidən yalnız 694 00:36:10,580 --> 00:36:13,677 Siz, həqiqətən, daxil deyil, çünki Gözlənildiyi bir şey. 695 00:36:13,677 --> 00:36:15,510 Daha çox adları daxil Bu idarə edə bilər daha, 696 00:36:15,510 --> 00:36:19,500 belə ki, yalnız öndeğer salam siz davranış. 697 00:36:19,500 --> 00:36:23,040 Bu suallar belə? 698 00:36:23,040 --> 00:36:26,290 Və ya command-line dəlilləri? 699 00:36:26,290 --> 00:36:28,690 >> OK, belə ki, bir nəzər alaraq istifadə neçə daha nümunələri 700 00:36:28,690 --> 00:36:34,230 command-line ilk arqumentlər biz dash 1 dot c argv var. 701 00:36:34,230 --> 00:36:38,510 Belə ki, şərhlər üz vermək nə Bu proqram bunu etmək lazımdır. 702 00:36:38,510 --> 00:36:42,460 Lakin, loop üçün bu, indi qeyd bu dəqiq model oyunları 703 00:36:42,460 --> 00:36:43,390 Mən əvvəl deyirdi. 704 00:36:43,390 --> 00:36:46,240 Biz yalnız olmaq üçün nə n əvəzinə argc istifadə edərək. 705 00:36:46,240 --> 00:36:48,880 İndi argc həqiqətən n edir. 706 00:36:48,880 --> 00:36:51,260 Bu argv serialın uzunluğu var. 707 00:36:51,260 --> 00:36:59,600 Belə ki, argv üzərində iterating olunur array printf-Ing hər argv dəyər. 708 00:36:59,600 --> 00:37:04,730 >> Bu etmək əgər belə. 709 00:37:04,730 --> 00:37:08,232 Argv 1 olun. 710 00:37:08,232 --> 00:37:09,940 Bu tərtib edir. 711 00:37:09,940 --> 00:37:11,620 Dot argv 1 doğramaq. 712 00:37:11,620 --> 00:37:15,530 Məhz bu çalışan, onu izləri çizgi argv 1 dot 713 00:37:15,530 --> 00:37:18,500 yalnız command-line idi proqram adı dəlil. 714 00:37:18,500 --> 00:37:22,080 Həmişə lüğətdə də olacaq argc, bir az ola bilməz 715 00:37:22,080 --> 00:37:25,910 ci ildən həmişə ən azı çalıştırmak üçün proqram adı ola bilər. 716 00:37:25,910 --> 00:37:32,040 Belə ki, 1 Rob 1 argv çap edəcək argv və sonra yeni xətti "Rob". 717 00:37:32,040 --> 00:37:36,350 >> Ilk iteration So Bu loop, i 0. 718 00:37:36,350 --> 00:37:39,090 Argv 0 proqram adıdır. 719 00:37:39,090 --> 00:37:40,010 Dot argv 1 doğramaq. 720 00:37:40,010 --> 00:37:43,770 Və sonra 1, mənim ilk argv Rob command-line arqument. 721 00:37:43,770 --> 00:37:45,920 Bu nöqtədə, biz argc bərabərdir. 722 00:37:45,920 --> 00:37:48,210 Biz loop çıxmaq və biz tamamlayın. 723 00:37:48,210 --> 00:37:53,940 Belə ki, bu bir ixtiyari üçün işləyəcək command-line dəlilləri sayı. 724 00:37:53,940 --> 00:37:58,550 Qeyd edək ki, argv 0, argv yazdıran 1, argv 2, argv 3, argv 4. 725 00:37:58,550 --> 00:38:00,150 Və heç bir argv 5 var. 726 00:38:00,150 --> 00:38:01,460 argc 5 bərabərdir. 727 00:38:01,460 --> 00:38:06,960 Belə ki, i 5 bərabərdir at argc da, biz loop çıxmaq. 728 00:38:06,960 --> 00:38:07,950 OLDU. 729 00:38:07,950 --> 00:38:11,315 Biz əvvəl suallar So daha mürəkkəb nümunə baxmaq? 730 00:38:11,315 --> 00:38:14,190 731 00:38:14,190 --> 00:38:16,860 >> Belə ki, 2 argv. 732 00:38:16,860 --> 00:38:17,830 Oldu. 733 00:38:17,830 --> 00:38:20,610 Belə ki, biz hələ də çap edirik command-line dəlilləri. 734 00:38:20,610 --> 00:38:23,170 Amma indi biz qeyd bir loop üçün iç içə. 735 00:38:23,170 --> 00:38:24,670 Belə ki, nə bu edir? 736 00:38:24,670 --> 00:38:28,430 Belə ki, ilk loop edir dəqiq nə əvvəl idi. 737 00:38:28,430 --> 00:38:30,950 Biz hələ üzərində loop edirik Hər komanda-line dəlil, 738 00:38:30,950 --> 00:38:34,260 lakin indi bu ikinci loop biz də əvvəl bu kimi bir şey göründüyü. 739 00:38:34,260 --> 00:38:38,600 O üzərində iterating zaman Zamyla Z-A-M-Y-L-A çap. 740 00:38:38,600 --> 00:38:44,816 Belə ki, int j bu ikinci loop bərabərdir 0, n argv bracket i strlen bərabərdir. 741 00:38:44,816 --> 00:38:49,170 >> Belə ki, ilk düşünək the-- vasitəsilə gəzmək edək. 742 00:38:49,170 --> 00:38:53,560 Nin nə kompüter olardı düşünmək edək yalnız dot kimi mən bu proqram qaçdı əgər nə 743 00:38:53,560 --> 00:38:56,030 argv Dash 2 doğramaq. 744 00:38:56,030 --> 00:39:03,590 Belə ki, əgər Mən bu kodu qaçdı argc 1 bərabər olacaq. 745 00:39:03,590 --> 00:39:07,050 Və simli yalnız var argv-- argv bir index olacaq, 746 00:39:07,050 --> 00:39:12,370 ki, dot bərabər olacaq argv doğramaq 2-- proqram adı. 747 00:39:12,370 --> 00:39:19,170 >> OK, belə ki, indi i daha i az, 0 bərabərdir 1, i plus plus int j 0 bərabərdir üçün, 748 00:39:19,170 --> 00:39:23,880 n, belə ki, argv bracket 0 strlen bərabərdir bu loop ilk iteration. argv 749 00:39:23,880 --> 00:39:27,250 bracket 0 dot çizgi argv 2. 750 00:39:27,250 --> 00:39:29,320 Belə ki, simli uzunluğu nədir? 751 00:39:29,320 --> 00:39:32,480 Bəli, A-R-G-V tire 2 doğramaq nöqtə. 752 00:39:32,480 --> 00:39:35,020 Ki, strlen Belə 8 olacaq. 753 00:39:35,020 --> 00:39:37,500 Belə ki, j 0 bərabərdir, n 8 bərabərdir. 754 00:39:37,500 --> 00:39:39,530 Kimi uzun j 8 j ++ az deyil. 755 00:39:39,530 --> 00:39:44,080 Və biz olacaq bir xarakter çap olan 756 00:39:44,080 --> 00:39:47,350 i j bracket argv bracket edir. 757 00:39:47,350 --> 00:39:49,826 >> Belə ki, yalnız i sıfır. 758 00:39:49,826 --> 00:39:51,700 Biz hələ yalnız bir var command-line arqument. 759 00:39:51,700 --> 00:39:53,890 Ki, ilk iteration loop üçün, biz istəyirik 760 00:39:53,890 --> 00:39:56,950 çap olacaq argv bracket 0 bracket 0. 761 00:39:56,950 --> 00:39:58,325 Və sonra j arttırmayı gedir. 762 00:39:58,325 --> 00:40:01,650 Və biz çap olacaq argv bracket 0 bracket 1. 763 00:40:01,650 --> 00:40:04,150 Və sonra bracket 0 bracket 2 argv. 764 00:40:04,150 --> 00:40:09,030 >> Belə ki, bu bizim ilk qarşılaşma edir çox ölçülü Diziler. 765 00:40:09,030 --> 00:40:12,770 Mən dedim ki, əvvəllər saxla ki, argv texniki 766 00:40:12,770 --> 00:40:15,950 simvol Diziler bir sıra. 767 00:40:15,950 --> 00:40:24,360 Belə ki, burada bir şey kimi danışdı string s, argv bracket i bərabərdir 768 00:40:24,360 --> 00:40:29,590 və sonra mən s, dedi bracket j, bu Eyni şey həyata olardı. 769 00:40:29,590 --> 00:40:31,960 İndi, siz əvvəl s bracket j gördüm. 770 00:40:31,960 --> 00:40:36,680 Bu yalnız j-ci daxil oldu Bu simli xarakterli. 771 00:40:36,680 --> 00:40:48,010 Bu Belə ki, biz əldə i-ci argv j-ci character. 772 00:40:48,010 --> 00:40:51,450 >> Belə ki, nə bu, son nəticədə çıxış lazımdır? 773 00:40:51,450 --> 00:40:53,210 Argv 2 olun. 774 00:40:53,210 --> 00:40:54,730 Bu tərtib edir. 775 00:40:54,730 --> 00:40:56,340 Dot argv 2 doğramaq. 776 00:40:56,340 --> 00:41:03,790 "Rob Maria Hannah" və bizə bir otaq verir. 777 00:41:03,790 --> 00:41:07,050 Beləliklə, biz bu tipi olduğunu görürük öz xətti və çizgi dot 778 00:41:07,050 --> 00:41:08,920 öz xətti ilə öz xətti və haqqında. 779 00:41:08,920 --> 00:41:11,260 Bu, hər bir çap fərdi xarakter 780 00:41:11,260 --> 00:41:12,950 Hər komanda-line dəlil. 781 00:41:12,950 --> 00:41:15,960 Və sonra onların arasında, Çünki bu yeni xətt 782 00:41:15,960 --> 00:41:19,380 biz, burada çap edirik Onların arasında yeni bir xətt çap edəcəyik. 783 00:41:19,380 --> 00:41:24,540 >> Belə ki, bu oxşar Əvvəl argv dash 1, 784 00:41:24,540 --> 00:41:26,459 Hər çap hansı command-line dəlil, 785 00:41:26,459 --> 00:41:28,500 Amma indi biz çap edirik command-line dəlilləri 786 00:41:28,500 --> 00:41:31,950 və sonra hər vasitəsilə iterating Hər komanda-line arqument xarakteri 787 00:41:31,950 --> 00:41:35,400 Bu çıxış almaq üçün. 788 00:41:35,400 --> 00:41:36,870 OLDU? 789 00:41:36,870 --> 00:41:40,570 Bu suallar belə? 790 00:41:40,570 --> 00:41:45,130 >> Qeyd bir şey ki, command-line dəlilləri 791 00:41:45,130 --> 00:41:49,990 belə ki, onlar kimi boşluq ayrılır təbii olmalarını gözləmək olardı. 792 00:41:49,990 --> 00:41:53,050 Belə ki, bir string bu boşluq ola bilər. 793 00:41:53,050 --> 00:41:57,380 Bu super vacib deyil, amma əgər üçüncü command-line dəlil istədi 794 00:41:57,380 --> 00:42:01,226 Mən sonra, bu bir yer var bu kimi bir şey deyə bilər. 795 00:42:01,226 --> 00:42:04,470 796 00:42:04,470 --> 00:42:05,550 OLDU? 797 00:42:05,550 --> 00:42:12,190 Belə ki, bu, indi hələ yalnız üç var command-line dəlilləri də 4. 798 00:42:12,190 --> 00:42:17,620 Dot argv dash 2 doğramaq, Rob, Maria, və Hannah Bloomberg. 799 00:42:17,620 --> 00:42:18,320 OLDU. 800 00:42:18,320 --> 00:42:19,310 Bu suallar? 801 00:42:19,310 --> 00:42:22,700 802 00:42:22,700 --> 00:42:24,894 >> Xüsusi bir şey yoxdur kosmik xarakteri haqqında. 803 00:42:24,894 --> 00:42:27,810 Bu yalnız olmaq olur command-line space xarakter alır 804 00:42:27,810 --> 00:42:29,226 necə hər bir dəlil ayrı. 805 00:42:29,226 --> 00:42:32,048 806 00:42:32,048 --> 00:42:33,000 Oldu. 807 00:42:33,000 --> 00:42:39,950 Beləliklə Problem set Siz olacaq two-- 808 00:42:39,950 --> 00:42:43,240 gizli-key kriptoqrafiya baxaraq. 809 00:42:43,240 --> 00:42:47,700 Ki, məsələn Belə ki, oxşar biz A Christmas Story gördüm 810 00:42:47,700 --> 00:42:52,840 Bəzi həyata olacaq bir mesaj verilmiş alqoritmlər, 811 00:42:52,840 --> 00:42:55,560 edə olacaq ki, mesaj şifrelemek üçün 812 00:42:55,560 --> 00:42:58,730 ki, gizli ki, yalnız kimsə əsas ki, decoder ring ilə, 813 00:42:58,730 --> 00:43:01,090 decrypt lazımdır. 814 00:43:01,090 --> 00:43:04,839 >> Belə ki, standart nəşr olunur. 815 00:43:04,839 --> 00:43:07,130 Siz həyata olacaq iki müxtəlif versiyasını. 816 00:43:07,130 --> 00:43:09,620 Bir nəzər nə varsa hacker indi edition-- da, 817 00:43:09,620 --> 00:43:12,600 biz vermək olacaq bu kimi bir string, 818 00:43:12,600 --> 00:43:15,240 olan şifreli parol təmsil edir. 819 00:43:15,240 --> 00:43:19,990 Belə ki, sizin məqsədi anlamaq üçün deşifr parol nə. 820 00:43:19,990 --> 00:43:26,950 İndi bu həqiqətən necə parol kompüter bir çox saxlanılır, 821 00:43:26,950 --> 00:43:31,290 və yalnız bu saklar simvol təsadüfi string. 822 00:43:31,290 --> 00:43:34,440 Siz almaq üçün necə anlamaq üçün var simvol bu təsadüfi simli 823 00:43:34,440 --> 00:43:36,140 orijinal parol nə üçün. 824 00:43:36,140 --> 00:43:39,060 825 00:43:39,060 --> 00:43:43,290 >> Və nəhayət, sonra bu problem set, siz olmalıdır 826 00:43:43,290 --> 00:43:46,100 Bu nə deməkdir başa düşmək mümkün. 827 00:43:46,100 --> 00:43:51,650 Belə ki, decrypt necə olacaq təsadüfi string bu cür. 828 00:43:51,650 --> 00:43:56,390 Eynilə, siz həftə xatırlayıram 0, bu URL görmüşəm bilər. 829 00:43:56,390 --> 00:44:00,210 Və lazımdır nəticədə bu decrypt. 830 00:44:00,210 --> 00:44:04,810 Siz xoşbəxt ola bilər zaman decrypt və linki vurun. 831 00:44:04,810 --> 00:44:05,700 Oldu. 832 00:44:05,700 --> 00:44:06,591 Bu gün üçün var. 833 00:44:06,591 --> 00:44:12,095 Belə ki, növbəti həftə siz baxın! 834 00:44:12,095 --> 00:44:18,315 >> [ELECTRONIC MUSIC PLAYING] 835 00:44:18,315 --> 00:47:15,619