ZAMYLA Chan: Comhghairdeas ar chríochnú do chéad cúpla clár C. Tá a fhios agam go bhfuil do chéad foray isteach Is féidir le C error a daunting. Ach geallaim duit, ag deireadh na ndóigh, beidh tú in ann féachaint ar an chéad cúpla tascanna agus iad a chomhlánú i nóiméid. Anois go bhfuil tú ag fáil níos mó eolas leis error, a ligean ar a fháil ar Caesar. I Caesar, beidh an t-úsáideoir chur isteach eochair slánuimhir mar líne a ordú argóint, ansin dul isteach i plain teachtaireacht téacs ag an pras. Beidh an clár encipher ansin an téacs agus a phriontáil n-teachtaireacht ciphertext. An enciphering do Caesar Tá simplí go leor. Shift gach litir, ina n- plain text, ag an eochair. Mar thoradh air sin, tá sé chomh maith go leor neamhchinnte. Ach beidh Caesar lena gcuirtear isteach linn chun sonraí a ASCIIMath agus eagar struchtúir. Beidh muid a fháil chun níos casta sifir níos déanaí. Le eochair Caesar de 2, an litir A in Bheadh ​​gnáth-théacs ionadaíocht a dhéanamh an litir C i ciphertext toisc C Is é a bheadh ​​i ndiaidh dhá litir A. B a bheith ionadaíocht ag D agus C le E. I dTreo an deireadh an aibítir, is W ionadaíocht ag Y, agus X de Z. Ach Y nach bhfuil dhá litir tar éis dó, mar sin na sifir wraps ar fud an aibítir. Tá Y i ngnáth-théacs ionadaíocht mar sin ag A i ciphertext, agus Z ag B. féadfaidh sé cabhrú chun féachaint ar an Cypher Caesar mhaith roth aibítir leanúnach. Chun encipher gcuid téacs, an t-úsáideoir go dtiocfaidh sé dhá argóint isteach na n-orduithe - . / Chaesar dhiaidh eochair. Mar i gcónaí, ní féidir linn muinín an t-úsáideoir go hiomlán chun dul isteach ionchur a dhéanamh ciall le haghaidh ár gclár. Mar sin, beidh orainn a bhailíochtú a gcuid ionchur-orduithe. In áit ag baint úsáide as príomh-neamhní slánuimhir, tá muid ag baint úsáide as príomh-, argc slánuimhir slánuimhir, téad argv. Is ionann an argc athróg slánuimhir líon na n-argóintí a ritheadh ​​i na n-orduithe. Agus is é argv eagar, nó smaoineamh ar é mar liosta, de na hargóintí a ritheadh ​​isteach Mar sin, le haghaidh Caesar, conas is féidir linn a bhailíochtú an úsáideora ionchur? Bhuel, ba chóir iad a bheith ag dul isteach ach amháin dhá argóintí - . / Chaesar agus eochair. Mar sin, más rud é nach bhfuil argc 2, Ciallaíonn sé sin go siad dearmad ceachtar eochair agus díreach isteach / chaesar., nó iad isteach eochracha il. Más é seo an cás, ansin beidh tú ag iarraidh a phriontáil treoracha agus scor an gclár. Mbainfidh siad is gá chun iarracht a dhéanamh arís na n-orduithe. Ach fiú má tá argc 2, beidh tú Ní mór a sheiceáil an bhfuil siad a thabhairt duit eochair bailí. Chun Caesar, is gá duit slánuimhir. Ach tá argv le sraith de teaghráin. Conas a dhéanann tú rochtain a fháil ar eochair? A súil thapa ar arrays - struchtúir sonraí a shealbhú il Luachanna den chineál sonraí céanna. Tá Iontrálacha náid-innéacsaithe, rud a chiallaíonn go Is é an chéad ghné an náid-innéacs agus is é an ghné dheireanach ag méid innéacs lúide 1, i gcás ina bhfuil méid an líon eilimintí sa eagar. Má dhearbhaítear mé bosca poist nua eagar teaghrán ar fad 3, amhairc, sé Breathnaíonn mar seo. Trí coimeádáin do theaghráin , Taobh le taobh. Chun rochtain a fháil ar aon eilimint, a scríobhann tú an t-ainm de na eagar agus ansin in iúl an t-innéacs idir lúibíní cearnacha. Anseo, tá mé ag shannadh luach le gach eilimint, díreach mar ba mhaith liom a dhéanamh le haon athróg teaghrán eile. Mar sin, chun rochtain a fháil ar ár n-argóintí, gach ní mór dúinn a dhéanamh ná teacht ar an ghné ceart de na eagar argv. Má rinne an t-úsáideoir Team. / Blastoff Rocket isteach an teirminéal, bheadh ​​argv 0 bheith. / blastoff. Bheadh ​​argv bheith Fhoireann, agus Bheadh ​​ARG2 bheith roicéad. Anois gur féidir linn rochtain a fháil ar ár n-eochair, is gá dúinn fós a dhéanamh cinnte go bhfuil sé ceart. Ní mór dúinn chun é a athrú ina slánuimhir. Ach ní féidir linn a chaitheamh díreach cosúil atá déanta againn roimhe sin. Luckily, glacann an fheidhm chun Y Tá cúram seo dúinn agus fiú tuairisceáin 0 más rud é nach féidir leis an teaghrán a thiontú isteach ina slánuimhir. Tá sé suas chun tú, áfach, a insint an t-úsáideoir cén fáth nach mbeidh tú lig an clár ar aghaidh. Mar thoradh ar A Store do Y i slánuimhir, agus ansin go bhfuil tú do eochair. Is é an chéad chuid eile simplí. Pras an t-úsáideoir le haghaidh a n gnáth-théacs, a bheidh ar teaghrán cineál sonraí. Luckily dúinn, ionchur gach úsáideoir Tá teaghráin bailí. Anois go bhfuil againn ar fad ionchur riachtanach ón úsáideoir, tá sé in am dúinn chun encipher a gcuid teachtaireacht. Is é an coincheap de Caesar simplí go leor a thuiscint. Ach conas a dhéanann do ríomhaire a fhios a Tagann litreacha i ndiaidh a chéile? Seo nuair a thagann an tábla ASCII isteach Tá ag gach carachtar slánuimhir líon bhaineann leis. Tá Caipitil A 65. Is Caipitil B 66. Cás íochtair a bhfuil 97. Tá litreacha beaga b 98. Ach nach bhfuil carachtair teoranta le huimhreacha ach aibítreach. Mar shampla, an tsiombail @ Tá líon ASCII 64. Roimh déileáil leis an teaghrán ar fad, a ligean ar ligean ní mór dúinn ach a athrú charachtar amháin. Bhuel, ba mhaith linn ach a athrú iarbhír litreacha sa téacs plain, ní carachtair nó uimhreacha. Mar sin, an chéad rud go mbainfidh muid ag iarraidh a seiceáil cibé an bhfuil an carachtar i an aibítir. Dhéanann an isalpha fheidhm seo le haghaidh dúinn agus tuairisceáin a Boole - fíor má na carachtair Tá litir, bréagach más rud é ar shlí eile. Tá dhá feidhmeanna úsáideacha eile isupper agus islower, le ainmneacha féin-míniúcháin. Filleann siad fíor má tá an carachtar a thugtar Is chás uachtair nó litreacha beaga, faoi ​​seach. Ó tharla go bhfuil siad Booleans, tá siad úsáideach a úsáid mar coinníollacha. Má tá an tuairisceáin isalpha fíor, beidh ort a aistriú go carachtar an eochair. Mar sin, a ligean ar oscailt do ASCIIMath agus a dhéanamh ar roinnt math ASCII. Tá an úsáid an-chosúil leis an úsáid do Caesar agus tógann sé i eochair ag an n-orduithe. Má ritheann liom ASCIIMath 5, dealraíonn sé a chur leis 5 go dtí, a thabhairt dom an litir f, agus thaispeánann an luach ASCII. Mar sin, a ligean ar ghlacadh le breathnú ar an gclár. D'fhéadfá Wonder, ar dheis anseo, cén fáth Tá litir slánuimhir, nuair atá sé soiléir, go maith, le litir. Casadh sé amach go bhfuil na carachtair agus Tá slánuimhreacha interchangeable. Trí chur leis an litir A in singil comharthaí athfhriotail, is féidir leis an tslánuimhir is stóráil an luach ASCII ar chaipiteal A. Bí cúramach, cé. Ní mór duit na héadaí aonair. Gan na marcanna ceanglófar aonair, an Bheadh ​​tiomsaitheoir lorg athróg ainmnithe A, agus ní an carachtar. Ansin mé ag cuir litir agus eochair, a stóráil an suim i athróg thoradh slánuimhir. Cé go bhfuil thoradh ar an gcineál sonraí a slánuimhir úsáidí, mo ráiteas printf an % C placeholder do charachtair. Mar sin, priontaí an clár an carachtar bhaineann leis an toradh slánuimhir. Agus ós rud é clóite againn an tslánuimhir bhfoirm chomh maith ag baint úsáide as% d, a fheicimid an líon chomh maith. Mar sin, anois is féidir leat a fheiceáil go bhfuil muid ag carachtair chóireáil agus a slánuimhreacha, agus vice versa. A ligean ar scrúdú amach ASCIIMath cúpla níos mó ná uair ag baint úsáide as 25 mar eochair. Faighimid an litir z. Anois, déanaimid ár ndícheall 26. Ba mhaith linn a fháil ar an litir a, ach ina ionad sin linn a fháil ar chlé lúibín. Mar sin, ar ndóigh, ach ag cur an eochair chun an litir ní a dhéanamh. Ní mór dúinn a figiúr amach foirmle a wrap ar fud an aibítir, cosúil ár mar shampla i dtosach raibh. A fhoirmle do Caesar Tá athrú mar seo a leanas. c ionann p móide k modulo 26. Cuimhnigh go bhfuil modulo úsáideach oibríocht a thugann dúinn an chuid eile a roinnt uimhir amháin ag an duine eile. A ligean ar an fhoirmle maidir leis an plain litir téacs le A eochair de 2. Is é an luach ASCII de y 89, a Tugann sé seo dúinn 91 modulo 26, atá cothrom le 13 - cinnte nach bhfuil an luach ASCII de, a bhfuil 67. Greann dom anois agus bogadh ar shiúl ó na Luachanna ASCII le hinnéacs aibítre gcás gurb é A nialas agus gurb é Z 25, rud a chiallaíonn go bhfuil Y 24. 24 móide 2, modulo 6, tugann dúinn 26, modulo 26, 0, a bhfuil an innéacs aibítre de. Mar sin, is cosúil an fhoirmle seo chun a iarraidh ar an innéacs aibítre ar an litir agus Ní a luach ASCII. Ach dtosaíonn tú le luachanna ASCII. Agus a phriontáil an carachtar ciphertext, beidh ort a luach ASCII chomh maith. Tá sé suas chun tú, ansin, chun an figiúr amach conas a athrú ar ais agus amach. Nuair a figiúr tú amach an fhoirmle ceart do charachtar amháin, is gá gach tú a dhéanamh Is é an fhoirmle chéanna le gach litir sa téacs plain - ach amháin más rud é go bhfuil litir aibítre, ar ndóigh. Agus cuimhnigh gur gá duit a chaomhnú an cás, uachtair nó níos ísle, go bhfuil an áit an isUpper agus feidhmeanna isLower Beidh luadh níos luaithe a thagann i handy. D'fhéadfá a bheith dhá fhoirmle - ceann amháin le haghaidh litreacha chás uachtair agus ceann do litreacha beaga. Mar sin, isUpper beidh isLower cabhrú leat a chinneadh a bhfuil foirmle a chur i bhfeidhm. Conas a dhéanann tú iarratas ar do fhoirmle chun gach charachtar amháin i teaghrán? Bhuel, is teaghrán ach sraith de charachtair. Mar sin, is féidir leat rochtain a fháil ar gach carachtar ag grúpáil thar gach carachtar sa teaghrán i do lúb. Maidir leis an coinníoll de do do lúb, an fheidhm strlen, le teaghrán fad a bheidh, teacht i handy. Bíonn sé i teaghrán mar ionchur agus tuairisceáin an fad an téad. Bí cinnte a chur san áireamh ar an leabharlann ceart a bhaint as an fheidhm fad teaghrán. Agus tá tú do ciphertext. Is é mo ainm an Zamyla. Agus [CÓD LABHARTHA].