Rob: Hi, mimi nina Rob, na hebu decipher Vigenere mpango. Kitu hivyo kwanza tunahitaji kufanya ni kufanya uhakika user aliingia kile sisi inatarajiwa yao katika amri line. Hivyo kama argc ni si 2 hiyo ina maana ama user hakuingia kamba sisi wanataka kutumia kama encrypting wetu uzi, au wao aliingia mambo mengi mno. Na hatujui nini cha kufanya na yale mambo mengine. Hivyo sisi kuwaambia yale wao wanapaswa kuwa aliingia. Na sisi kurudi. Sasa, kuchukua kwamba argc ilikuwa 2, tunaweza kuendelea na wengine wa mpango. Sisi Alias ​​jina la argv [1] ndani ya keyword kutofautiana. Ili sisi hawana kutumia jina argv [1] katika mapumziko ya mpango huo. Na labda tutaweza kusahau kile hiyo ina maana na kadhalika. Keyword ni jina gani nzuri. Na tutaweza mara moja kunyakua urefu Keyword haki yetu hapa. OK, hivyo sasa tunataka kuangalia kwamba keyword yetu ni kweli halali. keyword sisi kutumia encrypt masharti lazima tu kuwa herufi wahusika. Kama mtumiaji aliingia mashirika yasiyo ya herufi wahusika, tunapaswa kusema, keyword lazima iwe na tu kupitia Z na kisha kurudi. Hivyo hii kwa kitanzi iterates juu ya yote wahusika wa keyword yetu, kuangalia kwamba kama mtu yuko si herufi kisha tunahitaji magazeti onyo hilo. Sasa, mara moja sisi kupata hatua hii, tunajua kwamba kamba lazima kuwa sahihi. keyword lazima kuwa sahihi. Na sasa tunahitaji kupata ujumbe kutoka user kwamba wanataka sisi kwa fumbo na kwamba maneno muhimu. Hivyo kupata ujumbe huo, tuna kufanya wakati kitanzi kwamba kwenda kuendelea kupata kamba kutoka kwa mtumiaji mpaka waingie kamba halali. Kuendelea, tunaona hapa variable hii, int nun_letters_seen. Tutaweza kuona kwa nini tunahitaji kwamba katika pili. Lakini hii kwa kitanzi ni kwenda iterate kutoka i sawa na 0 kwa njia yote hadi i sawa na n, ambayo ina maana sisi ni iterating juu ya wote iwezekanavyo wahusika katika ujumbe wetu. Kwa sababu tunataka fumbo yote ya wahusika katika ujumbe wetu. Hivyo taarifa sisi kufanya kama (isalphamessage [I], kwa sababu hatutaki encrypt wahusika kuwa ni si herufi. Kama kuna alama, nafasi, au namba, hatufanyi wanataka fumbo hizo. Sasa, kudhani kuwa ni herufi, sisi kwanza wanataka kufikiri nini sisi kweli wanataka fumbo ujumbe kwa kutumia. Basi je, mimi maana na kwamba? Hebu kudhani kuwa maneno muhimu user aliingia mara abc. Hiyo ni nini sisi ni kutumia kwa fumbo. Sasa, naively, tunafikiri kwamba maana yake ni kwamba tunataka fumbo tabia ya kwanza wa ujumbe wetu na 0, tangu njia kupokezana tabia kwa 0. Tunataka fumbo tabia ya pili na 1, tabia tatu na 2, tabia ya nne kwa 0, tano na 1, sita na 2, na kadhalika. Lakini kumbuka, kwamba tunataka ruka nafasi na alama na namba. Hii ina maana kwamba kama mtumiaji iliingia hujambo dunia kama ujumbe kwamba wanataka fumbo, basi tunataka fumbo h na 0 sambamba na a, e na 1, l na 2, l na 0, o na 1. Tunataka ruka nafasi, encrypted w na 2, o na 0, 1, 2, 0. Hivyo taarifa, kama sisi alikuwa skipped nafasi, basi sisi ingekuwa encrypted w na 0 na kuishia na sahihi kamba. OK, hii ni nini tunahitaji variable num_letters_seen kwa. Kama sisi tu kwenda fumbo kwa kutumia njia hii, ambayo haina ruka alama, nafasi, na idadi, basi sisi inaweza tu kutumia variable i kama nini kwa index katika maneno yetu muhimu na. Tunahitaji kutumia num_letters_seen kuweka wimbo wa mahali halisi katika maneno muhimu kwamba tunataka index. Hivyo hapa, kama keyword tuna, kama num_letter_seen mod keyword_length, hivyo kwa nini tunahitaji Mod na Keyword urefu? Vizuri, hello dunia ilikuwa mfano mzuri. Kama keyword mara abc, basi tunahitaji kuendelea fumbo na kisha b kisha c, kisha wrap nyuma kote, a, b, c,, b, c. Kwa hiyo, tunahitaji Mod na Keyword urefu ili kufuta nyuma kote. Hivyo kama hii ni barua uppercase, kisha tunataka fumbo na nafasi ya kwamba barua katika alfabeti, ambayo sisi kupata na tu kutoa mapato nje ya mji mkuu A. Na vile vile, kwa barua lowercase, sisi wanaweza kupata muhimu kwamba tunataka na kutoa mapato nje lowercase a. Hivyo bila kujali kama barua katika maneno muhimu ilikuwa mji mkuu wa au barua lowercase, tunakwenda fumbo kwa kiasi hicho. Sasa kwamba tuna muhimu yetu, tunaona hapa, kwamba kama ujumbe i ni uppercase tabia, kisha tunataka mahesabu ya nafasi katika alfabeti ya kwamba tabia, kuongeza muhimu yetu kwa hiyo, kufuta nyuma karibu ili kwamba kama sisi akaenda nyuma z sisi kurudi, b, c, na kadhalika. Kisha, mwisho, kuongeza nyuma kwenye mji mkuu wa A. Hivyo sisi kuhama nyuma katika [? Kiwe]? mbalimbali ya wahusika hawa badala ya nafasi numeric katika alfabeti ya wahusika hawa. Na sisi kufanya kitu kimoja kwa kesi wahusika chini. Ila tunataka Ondoa nje lowercase a na kuongeza kuwa nyuma katika mwisho, Herufi za chini. Taarifa kwamba num_letter_seen ni tu incremented kama ujumbe i mara herufi. Hii ni jinsi gani sisi ruka nafasi, alama, na idadi katika maneno yetu muhimu, tangu num_letter_seen ni nini sisi ni kutumia kwa index katika keyword yetu. Hatimaye, katika mwisho, sasa ujumbe kwamba i imekuwa encrypted, sisi magazeti ujumbe i. Na hiyo ni yake. Jina langu ni Rob. Na hii ni Vigenere. [Music kucheza]