[Powered by Google Translate] [Walkthrough - પ્રોબ્લેમ 2 સેટ]
[Zamyla ચાન - હાર્વર્ડ યુનિવર્સિટી]
[આ CS50 છે. CS50.TV]
અધિકાર છે. હેલો, દરેકને, અને 2 Walkthrough સ્વાગત છે.
પ્રથમ, હું તમને 1 pset ક્રમે માટે અભિનંદન કરવા માંગો છો.
હું જાણું છું કે તે તમને કેટલાક માટે થોડી કઠિન રહી શકે છે,
તમારા પ્રથમ કમ્પ્યુટર પ્રોગ્રામ છે જે તમે લખ્યું કરવામાં આવી છે શકે છે,
પરંતુ ફક્ત આ ઓવરને અંતે કે યાદ રાખો કે, જ્યારે તમે સત્ર ઓવરને અંતે પાછળ જુઓ,
તમે 1 pset જોવા અને તમે કહી, "અરે, હું જ આ કરી શકે છે કે જેઓ 5 મિનિટમાં." પડશે પડશે
તેથી જાણો છો અને વિશ્વાસ કરો કે આ ઓવરને અંતે તમે ચોક્કસપણે 1 pset શોધવા એકદમ સરળ પડશે.
પરંતુ હવે તે એક મોટી સિદ્ધિ છે, અને રહ્યું કર્યું માટે બદલ ધન્યવાદ.
હવે ઝડપી નોંધ, પણ પહેલાં અમે walkthrough ના માંસ માં મેળવો.
હું માત્ર એક ઝડપી નોંધ બનાવવા માંગો છો કે હું ક્યારેક પૂરતો સમય નથી
આ વૉકથ્રૂઝ દરમ્યાન સમસ્યા સેટ કરવાથી દરેક એક માર્ગ મારફતે પસાર થવા માટે
અને તેના બદલે માત્ર કદાચ અમલીકરણ 1 અથવા 2 પ્રકારની પર કેન્દ્રિત છે,
માર્ગો કે જે તમે આ કરી શકે.
પરંતુ તે માટે કહે છે કે તમે તેને બીજી રીતે કરવાથી પ્રતિબંધિત છે નથી.
ઘણી વાર, કોમ્પ્યુટર વિજ્ઞાન સાથે, વસ્તુઓ કરવાથી અસંખ્ય રીતે,
અને તેથી નિશ્ચિતપણે ઉકેલ વિવિધ પ્રકાર કરતાં હું પ્રસ્તુત થઇ શકે છે ઉપયોગ મફત લાગે.
[2 pset: ક્રિપ્ટો - Zamyla ચાન - zamyla@cs50.net]
[Pset2 - 0. પ્રશ્નો એક વિભાગ - 1. સીઝર - 2. Vigenere]
અધિકાર છે. તેથી સમસ્યા 2 સેટ: ક્રિપ્ટો એક મજા છે.
ફરીથી, દરેક pset સાથે તમે પ્રશ્નો વિભાગ સાથે શરૂ કરી શકશો
કે તમારા વિભાગો તમારા સોંપાયેલ શિક્ષણ સાથી સાથે હાથ ધરવામાં આવે બનશે.
અમે walkthrough પર આ પસાર ન જવું છે,
પરંતુ તેઓ ચોક્કસપણે તમને મદદ કરશે pset પૂર્ણ કરો.
જેથી સમસ્યા સેટ પ્રથમ ભાગ સીઝર છે.
અને તેથી સીઝર કોઇને તમે પૂર્ણાંક સાથે કી પસાર થશે,
અને તમે લખાણ એક શબ્દમાળા કે તેઓ તમને પૂરી પાડે છે એન્ક્રિપ્ટ કરશે
અને તેમને આપી પાછા એનક્રિપ્ટ થયેલ વસ્તુ.
જો કોઈને અ ક્રિસમસ સ્ટોરી જોયા, ત્યાં ત્યાં છે કે એક ઉદાહરણ છે.
પછી સમસ્યા સેટ બીજો ભાગ Vigenere છે,
જે વધુ આધુનિક એનક્રિપ્શન પદ્ધતિ છે.
અને તેથી અમે લખાણ એક ટુકડો ચિહ્નિત કરો જઈ રહ્યાં છો,
તેના બદલે માત્ર એક પૂર્ણાંક સાથે સિવાય, અમે ખરેખર તેને બેવડી જઈ રહ્યાં છો
મુખ્ય શબ્દ છે કે જેને વપરાશકર્તા અમને પૂરી પાડે છે સાથે.
ઠીક છે, જેથી શોધો આજે પ્રથમ સાધન વાસ્તવમાં ઉપકરણ અપડેટ કરી રહ્યું છે.
ચર્ચા બોર્ડ પર અમે વસ્તુઓ જેમ જુઓ, "શા માટે? આ કામ નથી મળશે"
"50 વર્ક શા સબમિટ નથી?"
અને ઘણી વખત ઉકેલ ખરેખર ફક્ત તમારા ઉપકરણ અપડેટ કરો.
અને તેથી જો તમે ફક્ત તમારા ઉપકરણ sudo માટે yum-y માં ટર્મિનલ વિન્ડોમાં ચલાવો -
કે જે હા કહેતા ધ્વજ છે, બધું જ સુધારો - સુધારા,
પછી તમારા ઉપકરણ જો જરૂર હોઈ અપડેટ કરવામાં આવશે.
અને જો તમે પહેલાથી જ સાધન સૌથી તાજેતરનું સંસ્કરણ પર નથી નુકસાન નથી.
પછી તે માત્ર કોઇ નવા સુધારાઓ ઉપલબ્ધ કહે અને તમે સાથે કામ ચાલુ રાખી શકો છો.
પરંતુ આ સારૂં છે પણ દર વખતે કે તમે ઉપકરણ ખોલી ચલાવો
કારણ કે અમે હજી પણ ઘણો -
તે ઉપકરણ માં સુધારવા - ક્યારેક જો અમે ભૂલ આવી.
જેથી ખાતરી કરો કે તમે ઉપકરણ એકદમ આવૃત્તિ હોય કરો
સ્કોર અને તે ત્યાં સુધારો.
અધિકાર છે. તેથી અમે અક્ષરો સાથે વ્યવહાર કરી રહ્યાં છે અને બદલાતી, વસ્તુઓ enciphering,
અમે ખરેખર અમારી ASCII ચાર્ટ સાથે સારા મિત્રો બની ગયા માંગો છો જઈ રહ્યાં છો.
ત્યાં અનેક મુદ્દાઓ પર ઓનલાઇન છે, જો તમે શોધો. કદાચ તમારા પોતાના પણ બનાવે છે.
હકીકતે, દરેક અક્ષર અને દરેક નંબર અને દરેક પાત્ર સાથે
ત્યાં તેમની સાથે સંકળાયેલ સંખ્યા છે,
અને તેથી તે સારું છે કે જે વાસ્તવિક પત્ર સાથે તેમના ASCII કિંમતો જુઓ.
જેનાથી તમે સમસ્યા સેટ કરવામાં મદદ કરશે.
એક વસ્તુ છે કે જે ખરેખર મને આ સમસ્યા સેટ મદદ કરી વાસ્તવમાં તે પ્રિન્ટ આઉટ થયો,
અને હું પસાર થઇ રહ્યા હતા, હું ખરેખર તેના પર દોરવા માંગો છો,
લખો, "જો આ ત્યાં જવા માટે છે, તો પછી ..."
પ્રકારની તેના પર દોરે છે અને તેને માર્ક અપ, તમારા ASCII ટેબલ સાથે શ્રેષ્ઠ મિત્રો બને છે.
તો પછી અમે અમારી નિકાલ ખાતે થોડા અન્ય સાધનો હોય છે.
આ જગ્યાએ સમય વાસ્તવમાં તેમની ઇનપુટ તમામ માટે વપરાશકર્તાને પૂછવાની
અમે ભેગા કરવા જઇ રહ્યા છો.
અમે તેમને કેટલાક ઇનપુટ માટે પૂછવા માટે જઈ રહ્યાં છો,
પરંતુ અમે પણ માત્ર આદેશ વાક્ય દલીલો ઉપયોગ જઈ રહ્યાં છો.
તેથી જ્યારે તેઓ તેમના કાર્યક્રમ ચલાવવા માટે, સામાન્ય રીતે તમે કહો. / હેલ્લો, ઉદાહરણ તરીકે,
જો તમારા કાર્યક્રમ hello.c હતી.
પરંતુ આ જગ્યાએ સમય માત્ર આપતા જણાવ્યું છે કે, તેઓ શબ્દો, દલીલો પછીથી મૂકી શકો છો.
અને તેથી અમે વાપરવા માટે જઈ રહ્યાં છો તેઓ જે તેમના ઇનપુટ તરીકે અમારા માટે તેમજ પસાર કરવા માટે,
જેથી માત્ર પૂર્ણાંક માટે પૂછવાની બહાર ખસેડવા પણ આદેશ વાક્ય દલીલો મદદથી.
અને પછી અમે એરે અને શબ્દમાળાઓ, જે અમે પુષ્કળ ઉપયોગ કરી શકશો તેમજ જાય પડશે.
અહીં માત્ર 1 મિની ASCII ચાર્ટ એક ઉદાહરણ છે.
હું જણાવ્યું હતું કે, દરેક અક્ષર માટે સંખ્યાબંધ અનુલક્ષે,
અને તેથી જાતે સાથે પરિચિત થાઓ. તે હાથમાં આવશે.
અને પછી જ્યારે અમે કેટલાક નંબરો સાથે વ્યવહાર ASCIIMath કરવાનું શરૂ -
ઉમેરીને, તેમને બાદબાકી - તો પછી ચોક્કસપણે આ ચાર્ટ નો સંદર્ભ લો સારું.
કંઈક કે જે તમારી સાથે ભજવ્યો હોઈ શકે છે - તેથી અહીં સીઝર સાઇફરનો એક ઉદાહરણ છે.
તે માત્ર એક ચક્ર છે. આવશ્યકપણે, ત્યાં એક બાહ્ય મૂળાક્ષર છે અને પછી ત્યાં આંતરિક મૂળાક્ષરો છે.
તેથી ઠીક અહીં સીઝર સાઇફરનો પરંતુ 0 ની કી સાથે એક ઉદાહરણ છે.
આવશ્યકપણે, એક એક સાથે સંકળાયેલુ છે, બી બી સાથે ગોઠવાયેલ છે, ઝેડ તમામ અપ માર્ગ
પરંતુ પછી કહેવું અમે હમણાં પૂરતું 3 એક કી, માગે છે.
પછી અમે આંતરિક વ્હીલ ફેરવવા કે જેથી એ હવે ડી, વગેરે સાથે ગોઠવે થશે
અને તેથી આ અનિવાર્યપણે છે અમે શું રહ્યા છીએ.
અમે એક ચક્ર નથી, પરંતુ અમે કરવા જઈ રહ્યાં છો શું અમારી કાર્યક્રમ બનાવવા છે
પ્રકારની નંબરો ચોક્કસ રકમ સાથે અમારી સાથે મૂળાક્ષરમાંથી પાળી.
જેથી હું પહેલા કહ્યું હતું કે, અમે આદેશ વાક્ય દલીલો સાથે વ્યવહાર કરવામાં જઈ રહ્યાં છો
તેમજ પૂર્ણાંક મેળવવુ.
જેથી માર્ગ છે કે જે વપરાશકર્તાને તમારી સીઝર કાર્યક્રમ ચાલશે કહેતા હોય છે. / સીઝર
અને પછી તે પછી નંબર દાખલ.
અને જે નંબર કી, જે પાળી રજૂ કરે છે,
કેટલી વખત તમે તમારી સીઝર સાઇફર આંતરિક વ્હીલ ફરતી કરી રહ્યા છીએ.
અને તેથી તમે અહીં એક ઉદાહરણ જુઓ.
જો અમે અમારી સીઝર સાઇફર માં એ એલ ના અક્ષરો દાખલ કરેલ હોય,
પછી તે ઓ દ્વારા ડી ઇનપુટ કારણ કે દર 3 ગણો બદલાયું પત્ર છે છો,
ફક્ત ચક્ર કે હું તમને દર્શાવ્યું ઉદાહરણ જેવા હોય છે.
તેથી પછી જો તમે દાખલ કરેલ હોય, દાખલા તરીકે, આ CS50 છે!
પછી તેને પણ અક્ષરો તમામ ખસેડશે.
અને તે બંને સીઝર અને Vigenere એક મહત્વપૂર્ણ વાત છે
છે કે અમે કોઇ પણ બિન અક્ષરો અવગણો રહ્યા છીએ.
તેથી કોઈ જગ્યાઓ, અક્ષરો, વગેરે, નંબરો, અમે તેમને જ રાખવા જઈ રહ્યાં છો.
અમે ફક્ત આ સ્થિતિમાં અક્ષરો પાળી રહ્યા છીએ.
જેથી તમે ચક્ર જોવા, અમે માત્ર અમને ઉપલબ્ધ અક્ષરો ધરાવે છે,
તેથી અમે ફક્ત અક્ષરો પાળી અને અક્ષરો એનક્રિપ્ટ કરવા માંગો છો.
પ્રથમ બાબત તેથી, તમે જોયું છે કે સમસ્યા માં સીઝર માટે વપરાશ 2 સેટ
માટે સીઝર ચલાવો અને પછી નંબર દાખલ ત્યારે તમે તેને ટર્મિનલમાં ચાલે છે.
તેથી અમે જરૂર શું કોઈક કે જે કી વિચાર અને તેને ઍક્સેસ છે.
અને તેથી અમે કોઈક તેને બીજા આદેશ વાક્ય દલીલ થઈ રહ્યું છે તે જોવા માંગો છો.
પ્રથમ એક સીઝર. / પ્રયત્ન રહ્યું છે, અને આગામી એક કી સંખ્યા હોવી રહ્યું છે.
તેથી પહેલાં તો અમે પૂર્ણાંક મુખ્ય (રદબાતલ) અમારા સી કાર્યક્રમો શરૂ કરી હતી.
અમે પાછા છાલ એક થોડો સ્તર માટે જઈ રહ્યાં છો
અને ખરેખર જોશો કે તેના બદલે રદબાતલ અમારી મુખ્ય કાર્ય માટે પસાર ના
અમે ખરેખર 2 પરિમાણો સાથે કામ કરીએ છીએ.
અમે એક argc નામવાળી પૂર્ણાંક હોય છે અને પછી શબ્દમાળાઓ ઝાકઝમાળ argv કહેવાય છે.
તેથી argc પૂર્ણાંક છે,
અને તે તમારા કાર્યક્રમ માં પસાર દલીલો સંખ્યા પ્રતિનિધિત્વ કરે છે.
અને પછી argv વાસ્તવમાં પસાર દલીલોને યાદી છે.
દલીલો બધા શબ્દમાળાઓ છે, અને તેથી argv ઝાકઝમાળ, શબ્દમાળાઓ યાદી છે, જે દર્શાવે છે.
ચાલો થોડો એરે વિશે વાત કરો.
એરે અનિવાર્યપણે નવી માહિતી માળખું છે.
અમે ints હોય તો અમે ડબલ્સ છે, અમે શબ્દમાળાઓ ધરાવે છે, અને હવે અમે એરે હોય છે.
એરે માહિતી માળખાં કે સમાન પ્રકારની બહુવિધ કિંમતો પકડી શકે છે,
જેથી અનિવાર્યપણે, પ્રકાર ગમે તમે ઇચ્છો યાદી.
આવશ્યકપણે, જો તમે 1 ચલ તમામ પૂર્ણાંકો યાદી માગતા હતા,
પછી તમે નવા ચલ છે કે જે પ્રકાર પૂર્ણાંક એરે હતું બની જશે.
તેથી એરે શૂન્ય સૂચિત છે, જેનો અર્થ છે કે જે એરે પ્રથમ તત્વ 0 અનુક્રમણિકા છે.
જો એરે 4 આ ઉદાહરણ તરીકે, લંબાઈ, છે, તે પછી તમારા છેલ્લા તત્વ 3 અનુક્રમણિકા પર હશે,
1 - જે 4 છે.
તેથી એરે બનાવવા માટે, તમે આ કંઈક આવું કરશે.
કહો તમે ડબલ એરે માગે છે.
આ માહિતી પ્રકાર કોઈપણ પ્રકાર માટે જોકે જાય.
તેથી કહેવું તમે ડબલ એરે કરવા માંગો છો. કહો તો તમે તેને મેઈલબોક્સ કૉલ કરવા માંગો છો.
જેમ તમે કોઈપણ અન્ય ડબલ પ્રારંભ કરશે,
તમે ડબલ અને પછી નામ કહેવું, પરંતુ આ સમયે અમે ચોરસ કૌંસ મૂકી,
અને પછી નંબર ત્યાં એરે લંબાઈ હશે.
નોંધ કરો કે એરે આપણે ક્યારેય લંબાઈ બદલી શકતાં નથી,
તેથી તમે હંમેશા વ્યાખ્યાયિત અને કેટલી બોક્સ પસંદ કરો છે,
કેટલા કિંમતો તમારા એરે માટે પકડી રહ્યું છે.
તેથી તમારા એરે માં અલગ અલગ કિંમતો સુયોજિત કરો, તો તમે આ નીચેના વાક્યરચના વાપરે જઈ રહ્યાં છો,
કારણ કે તમે સ્લાઇડ પર જુઓ.
તમારી પાસે મેઈલબોક્સ અનુક્રમણિકા 0 1.2 સુયોજિત થઈ જશે,
મેઈલબોક્સ અનુક્રમણિકા 1 2.4 માટે સેટ, વગેરે
તેથી હવે અમે એરે થોડી સમીક્ષા કરી છે, ચાલો argc અને argv પર પાછા જાઓ.
અમે જાણીએ છીએ કે argv હવે શબ્દમાળાઓ ઝાકઝમાળ છે.
તેથી જ્યારે વપરાશકર્તા પસાર થાય છે - કહેવું છે કે તેઓ એક કાર્યક્રમ ચલાવી રહ્યા છો -
તેઓ કહે છે. / હેલ્લો ડેવિડ Malan,
કાર્યક્રમ શું તમે પહેલાથી જ ખરેખર argc અને argv શું છે તેની સાથે થવું કરશે.
તેથી તમે તે અંગે ચિંતા કરવાની જરૂર નથી.
આ કિસ્સામાં Argc 3 કારણ કે તે 3 અલગ સ્પેશ થી અલગ શબ્દો જુએ કરશે.
અને તેથી તે પછી આ કિસ્સામાં એરે, પ્રથમ અનુક્રમણિકા છે. / હેલ્લો હો,
આગામી એક ડેવિડ, આગામી એક Malan.
શું કોઇને અધિકાર દૂર શું argv વચ્ચે સંબંધ જોવા,
એરે, અને argc છે?
યાહ. અમે તે માં args.c. એક ઉદાહરણ મળશે
ચાલો જોવા જો અમે 2 વચ્ચેનો સંબંધ લાભ લઈ શકે છે.
અહીં તમે ઉપકરણ કે મેળવી શકો છો મૂળભૂત અરજી
માટે કેચ. ફાઇલો ખોલવા ક્યારેક Emacs.
પરંતુ અમે gedit સાથે કામ કરવા માંગો છો જેથી તમે શું કરી શકો છો એ છે જે તમે યોગ્ય તમારા સી ફાઇલ પર ક્લિક કરી શકો છો,
ગુણધર્મો પર જાઓ, સાથે ખોલો, અને પછી gedit, ડિફોલ્ટ તરીકે સેટ કરો પસંદ કરો,
અને હવે તમારા કાર્યક્રમ બદલે gedit Emacs ખોલવા કરીશું.
પરફેક્ટ.
અહીં હું એક કાર્યક્રમ છે કે જે હું બહાર દરેક આદેશ વાક્ય દલીલ પ્રિન્ટ માંગો તો.
ગમે તે યુઝર ઇનપુટ્સ તેથી, હું અનિવાર્યપણે તે પરત ફરી એક નવી લાઇન પર તેમને કરવા માંગો છો.
તેથી માળખું કે અમે ઉપર કંઈક ફરી વળવું ઉપયોગ કરી શકો છો શું છે -
કંઈક કે જે તમે કદાચ તમારા pset 1 ઉપયોગમાં લેવાતી?
જો તમે વસ્તુઓ એક સેટ નંબર મારફતે જાઓ કરવા માંગો છો? >> લૂપ માટે [વિદ્યાર્થી].
લૂપ છે. બરાબર. તેથી આપણે લૂપ માટે સાથે શરૂ કરો.
અમે પૂર્ણાંક હું = 0 માટે હોય છે. ચાલો માત્ર એક પ્રમાણભૂત આરંભ ચલ સાથે શરૂ કરો.
હું એક સમૂહ માટે શરત છોડી અને પછી કહેવું હું + +, વસ્તુઓ ત્યાં કરવા જાઉં જાઉં છું.
અધિકાર છે.
તેથી argv પાછા વિચારવાનો, જો argv માં કાર્યક્રમને પસાર દલીલો યાદી છે
અને argc પ્રોગ્રામમાં દલીલો સંખ્યા છે,
પછી તે અર્થ એ થાય કે argc અનિવાર્યપણે argv લંબાઇ, અધિકાર છે,
કારણ કે ત્યાં argc મૂલ્ય તરીકે અનેક દલીલો તરીકે હશે આવે છે.
તેથી જો આપણે ઉપર argv દરેક તત્વ ફરી વળવું માંગો છો,
અમે દરેક સમયે આપેલ અનુક્રમણિકા પર argv માં ચલ ઍક્સેસ કરવા માંગો છો જઈ રહ્યાં છો.
કે જે આ સાથે રજૂ કરી શકાય અધિકાર?
આ અહીં ચલ આ બાબતમાં ચોક્કસ શબ્દમાળા પ્રતિનિધિત્વ
કારણ કે તે એક શબ્દમાળા એરે છે - કે જે આપેલ અનુક્રમણિકા પર ચોક્કસ શબ્દમાળા.
અમે શું કરવા માંગો છો, આ કિસ્સામાં અમે તેને છાપી આઉટ કરવા માંગો છો, તેથી આપણે printf કહો.
અને હવે argv એક સ્ટ્રિંગ છે, જેથી અમે તે પ્લેસહોલ્ડર ત્યાં મૂકી કરવા માંગો છો.
અમે હવે એક નવો માત્ર બનાવવા માટે તે સારું દેખાવું લીટી કરવા માંગો છો.
અહીં આપણે એક માટે લૂપ છે. અમે સ્થિતિ હજુ સુધી નથી.
તેથી હું 0 પર શરૂ થાય છે અને પછી દરેક વખતે તે આપવામાં શબ્દમાળા છાપી રહ્યું છે
એરે કે ખાસ અનુક્રમણિકા છે.
તેથી જ્યારે અમે બહાર એરે માં તત્વો છાપવા રોકવા માંગો છો?
જ્યારે અમે પૂર્ણ કરી લો છો, અધિકાર? જ્યારે આપણે એરે ઓવરને પહોંચી ગયા છો.
તેથી અમે એરે લંબાઈ ભૂતકાળ કરતાં વધી નથી માંગતા,
અને અમે જાણીએ છીએ કે અમે પહેલાથી જ ખરેખર સક્રિય શોધવા argv લંબાઈ શું છે જરૂર નથી
કારણ કે અમને આપવામાં આવ્યું છે તે છે, અને તે શું છે? Argc. બરાબર.
તેથી અમે વખત આ પ્રક્રિયા argc નંબર કરવા માંગો છો.
હું અધિકાર ડિરેક્ટરીમાં નથી.
અધિકાર છે.
હવે આપણે વિકલ્પોલેછે બનાવે છે. કોઈ ભૂલો છે, કે જે મહાન છે.
તેથી આપણે માત્ર વિકલ્પોલેછે ચલાવો.
આ શું અમને પાછા જવું છે? તે માત્ર તેને છાપી પાછા જવાનું છે.
"તમે કાર્યક્રમમાં વિકલ્પોલેછે ઇનપુટ; હું તેને તમને પાછા આપી જાઉં છું."
તેથી આપણે કહેવું અમે વિકલ્પોલેછે પછી foo બાર કહેવું કરવા માંગો છો.
તેથી તે પછી તેને છાપે બહાર પાછા અમને. અધિકાર બધા?
તેથી તમે કેવી રીતે argc અને argv ઉપયોગ કરી શકો છો એક ઉદાહરણ છે
કે argc જાણીને argv લંબાઈ દર્શાવે છે.
ખાતરી કરો કે તમે ક્યારેય એરે એક વપરાશ સાથે એરે લંબાઈ બહાર નથી બનાવો
કારણ કે સી ચોક્કસપણે તમે પોકાર કરશે.
તમે સેગ્મેન્ટેશન ક્ષતિમાં કહેવાય કંઈક મળશે,
જે મજા, ક્યારેય મૂળભૂત કહેતા તમે કંઈક ઍક્સેસ કરવાનો પ્રયાસ કરી રહ્યાં છો
જે અસ્તિત્વમાં નથી, તમે ને અનુલક્ષતું નથી.
જેથી ખાતરી કરો, અને શૂન્ય ઈન્ડેક્સીંગ સાથે ખાસ કરીને, અમે નથી માંગતા -
દાખલા તરીકે જેમ, જો આપણે 4 લંબાઈ ઝાકઝમાળ છે,
કે એરે 4 અનુક્રમણિકા કારણ કે અમે 0 અંતે શૂન્ય અનુક્રમણિકા પર શરૂ અસ્તિત્વમાં નથી.
તે બીજા પ્રકૃતિ આંટીઓ માટે જેમ બને છે જ્યારે આપણે 0 શરૂ કરશે.
તેથી માત્ર કે ધ્યાનમાં રાખો.
તમે ક્યારેય ઝાકઝમાળ છે કે જે તમારી પહોંચ બહારના છે જે ઇન્ડેક્સ ઍક્સેસ કરવા નથી માંગતા.
તેથી અમે હવે જુઓ અમે ઍક્સેસ પ્રકારની કેવી રીતે શકો છો
આદેશ વાક્ય દલીલો કે સાઇન પસાર થાય છે
પરંતુ તમે શબ્દમાળા જોયું, તે argv ખરેખર એક શબ્દમાળા એરે છે.
તેથી તે ખરેખર હજી છે, નથી એ પૂર્ણાંક છે પરંતુ સીઝર માં અમે પૂર્ણાંકો સાથે કામ કરવા માંગો છો.
સદભાગ્યે, ત્યાં અમને માટે બનાવવામાં કાર્ય કે જે વાસ્તવમાં પૂર્ણાંક માટે શબ્દમાળા કન્વર્ટ કરી શકો છો.
પણ અહીં અમે વપરાશકર્તા ઈનપુટ સાથે વ્યવહાર જ્યાં અમે તેમને પૂછવાની કરી રહ્યાં છે
કી માટે અહીં ઇનપુટ માટે, તેથી અમે ખરેખર નથી અને reprompt કહેવું કરી શકો છો,
"ઓહ, મને અન્ય પૂર્ણાંક આપવા માટે, જેમ કે, જો તે માન્ય નથી."
પરંતુ અમે હજુ પણ યોગ્ય વપરાશ માટે તપાસ કરવાની જરૂર નથી.
સીઝર માં તેઓ માત્ર નંબર 1 માં પસાર કરવાની પરવાનગી છે,
અને તેથી તેઓ સીઝર. / run હોય છે અને તે પછી તેઓ તમને નંબર આપી છે.
તેથી argc કરવા માટે અમુક ચોક્કસ નંબર છે.
નંબર શું છે કે જો તેઓ તમને એ /. સીઝર અને પછી કી પાસે પસાર થશે?
Argc શું છે? >> [2 વિદ્યાર્થી]. બે. >> બરાબર.
જેથી તમે ખાતરી કરો કે argc 2 એ બનાવવા માંગો છો.
અન્યથા તમે મૂળભૂત માટે કાર્યક્રમ ચલાવો ઇનકાર કર્યો છે.
મુખ્ય તે કાર્ય કે પૂર્ણાંક મુખ્ય કહે છે,
જેથી તે પછી સફળ કાર્યક્રમ ઓવરને અંતે સારી પ્રથા વળતર 0 હંમેશા અમે.
તેથી, જો કહે, તેઓ તમને 3 આદેશ વાક્ય બદલે દલીલો 2 આપવા
અથવા તમે 1 આપો, ઉદાહરણ માટે, પછી તમે કરીશ શું છે તમે તે ચકાસવા માટે કરવા માંગો છો પડશે
અને પછી 1 પાછા જણાવ્યું હતું કે, ના, હું આ કાર્યક્રમ સાથે પ્રક્રિયા કરી શકતું નથી.
[વિદ્યાર્થી] તમારા લખાણ માં જગ્યા ન હોઈ શકે. >> મને બદલ ખેદ છે?
[વિદ્યાર્થી] આ લખાણ તમે એનક્રિપ્ટ પ્રયાસ કરી રહ્યા છો એક જગ્યા ન હોઈ શકે.
આહ!
લખાણ કે અમે એનક્રિપ્ટ પ્રયાસ કરી રહ્યા છો દ્રષ્ટિએ, તે વાસ્તવમાં પછી આવે છે
જ્યારે અમે કે લખાણ આપે છે.
તેથી હમણાં અમે આદેશ દલીલો તરીકે સ્વીકારી રહ્યાં છો તે વાસ્તવિક સંખ્યા,
સીઝર એનક્રિપ્શન માટે વાસ્તવિક પાળી.
[વિદ્યાર્થી] તમે 2 જરૂર શા તરીકે ફક્ત 1 argc વિરોધ? ત્યાં ચોક્કસપણે નંબર 1 છે.
અધિકાર. કારણ શા માટે આપણે argc માટે 2 જરૂર બદલે 1
જ્યારે તમે કાર્યક્રમ ચલાવો અને કહે છે કારણ કે છે. / સીઝર / અથવા. હેલ્લો,
કે જે વાસ્તવમાં આદેશ વાક્ય દલીલ તરીકે ગણે છે.
તેથી પછી તે પહેલાથી જ લઈ જાય છે અને તેથી તે પછી અમે 1 1 વધારાના inputting કરી રહ્યાં છો.
તેથી તમે ખરેખર આદેશ વાક્ય દલીલ એક શબ્દમાળા inputting કરી રહ્યાં છો.
તમે શું કરવા માંગો છો, સીઝર માટે અમે પૂર્ણાંક સાથે કામ કરવા માંગો છો,
તેથી તમે આ atoi વિધેય વાપરી શકે છે.
અને મૂળભૂત, તો તમે તેને શબ્દમાળા પાસ અને પછી તેને તમે પાછા પાછા પૂર્ણાંક કરશે
જો તે શક્ય છે કે પૂર્ણાંક માં કે જેઓ શબ્દમાળા બનાવે છે.
હવે યાદ જ્યારે અમે જેમ printf અથવા GetString, વસ્તુઓ સાથે કામ કરીએ છીએ,
અમે લાઈબ્રેરીઓ કે અમને ચોક્કસ સમાવેશ થાય છે.
જેથી શરૂઆતમાં અમે હેશ કે ટેગ ધોરણ કંઈક I / O, એચ., સાથે શરૂ કરો.
વેલ, atoi એક તે લાઇબ્રેરીઓ અંદર નથી,
તેથી અમે હોય તો શું છે અમે તે માટે યોગ્ય પુસ્તકાલય સમાવેશ થાય છે.
તેથી 1 Walkthrough જ્યાં હું જાતે કાર્ય ચર્ચા પાછા યાદ અપાવે છે.
તમે તમારા ટર્મિનલમાં માણસ લખો અને પછી એક કાર્ય નું નામ છે.
અને તેથી કે જે તેના વપરાશ સંપૂર્ણ યાદી લાવશે,
પરંતુ સાથે સાથે તેને આવવું પુસ્તકાલય જે મળશે.
તેથી હું કે જે તમે છોડી atoi સાથે જાતે વિધેય વાપરી શકશો
અને બહાર આકૃતિ પુસ્તકાલય જે તમે કરવા માટે atoi વિધેય વાપરી કરવાનો પ્રયત્ન સમાવેશ કરવાની જરૂર છે.
તેથી અમે કી મળી છે અને હવે તેને સાદી લખાણ મેળવવામાં આવે છે,
અને તેથી જે ખરેખર વપરાશકર્તા ઈનપુટ હોઈ શકે કે જ્યાં તમે પૂછવા રહ્યું છે.
અમે GetInt અને GetFloat સાથે સંકળાયેલા છે, અને તેથી જ દિશામાં
અમે GetString સાથે વ્યવહાર કરવામાં જઈ રહ્યાં છો.
પરંતુ આ કિસ્સામાં અમે કોઇપણ ડુ નથી જરૂર છે જ્યારે અથવા તો જ્યારે આંટીઓ તપાસવા માટે.
GetString ચોક્કસપણે અમને શબ્દમાળા આપશે,
અને અમે એનક્રિપ્ટ ગમે તે વપરાશકર્તા અમને આપે જઈ રહ્યાં છો.
તેથી તમે ધારણ કરી શકે છે કે આ વપરાશકર્તા ઇનપુટ શબ્દમાળાઓ તમામ યોગ્ય છે.
સરસ.
તેથી પછી એકવાર તમે કી મળી છે અને એક વાર તમે લખાણ મળી છે,
હવે શું બાકી છે છે તમે સાદી ભાષા ચિહ્નિત કરો હોય છે.
જસ્ટ ઝડપથી વિદેશી ભાષા પર આવરી માટે બનાવવા માટે, સાદી ભાષા છે જે વપરાશકર્તા તમે કયા આપે છે,
અને ગૂઢ છે તમે શું તેમને આવો.
શબ્દમાળાઓ તેથી, પત્ર દ્વારા વાસ્તવમાં પત્ર પસાર કરવાનો પ્રયત્ન કરવા માટે
કારણ કે અમે દરેક અક્ષર પાળી છે,
અમે તે શબ્દમાળાઓ સમજવું હોય તો, પાછા સ્તર છાલ અમે પ્રકારની,
અમે જુઓ કે તેઓ માત્ર ખરેખર અક્ષરો યાદી છો.
એક અન્ય પછી આવે છે.
અને તેથી અમે એરે તરીકે શબ્દમાળાઓ સારવાર કારણ કે તેઓ અક્ષરો એરે શકો છો.
તેથી કહેવું તમે લખાણ નામવાળી શબ્દમાળા હોય છે,
અને તે ચલ લખાણ અંદર સંગ્રહાય છે આ CS50 છે.
પછી 0 અનુક્રમણિકા પર લખાણ એ મૂડી ટી હશે, 1 ઇન્ડેક્સ-h, વગેરે હશે
અને પછી એરે સાથે args.c માં argc ઉદાહરણમાં,
અમે જોયું છે કે અમે ઉપર ઝાકઝમાળ ભારપૂર્વક કહેવું હતું
અને તેથી અમે હું માંથી = 0 ફરી વળવું અપ સુધી હું લંબાઈ કરતા ઓછી છે હતા.
તેથી અમે figuring અમારા શબ્દમાળા લંબાઈ શું છે અમુક રીતે જરૂર
જો અમે તેને ઉપર ફરી વળવું રહ્યા છીએ.
સદભાગ્યે ફરી, ત્યાં અમને માટે ત્યાં કાર્ય CS50 જોકે પાછળથી છે,
તમે ચોક્કસપણે અમલ કરવા માટે અને તમારા પોતાના કાર્ય કરી શકશો
કે જે શબ્દમાળા લંબાઈ ગણતરી કરી શકે છે.
પરંતુ હવે અમે શબ્દમાળા લંબાઈ, તેથી strlen ઉપયોગ જઈ રહ્યાં છો.
તમે એક શબ્દમાળા માં પસાર કરવા માટે, અને પછી તેને તમે પૂર્ણાંક છે કે જે તમારા શબ્દમાળા લંબાઈ રજૂ આપશે.
ચાલો અમે કેવી રીતે પર શબ્દમાળા દરેક અક્ષર ફરી વળવું કરવાનો પ્રયત્ન કરી શકે છે તેનું ઉદાહરણ જોવા
અને તે સાથે જ કંઈક.
અમે કરવા માંગો છો શું છે ઉપર શબ્દમાળા દરેક અક્ષર ફરી વળવું,
અને અમે કરવા માંગો છો શું છે અમે પાછા 1 દ્વારા દરેક 1 અક્ષર છાપો
સિવાય અમે તેને આગળ કંઈક ઉમેરો.
તેથી આપણે લૂપ માટે સાથે શરૂ કરો. ઈન્ હું = 0.
અમે પરિસ્થિતિ માટે જગ્યા છોડી રહ્યા છીએ.
અમે ભારપૂર્વક કહેવું માંગો છો ત્યાં સુધી અમે શબ્દમાળા ઓવરને સુધી પહોંચવા અધિકાર?
તેથી પછી કાર્ય શું અમારી શબ્દમાળા લંબાઈ આપે છે?
[અશ્રાવ્ય વિદ્યાર્થી જવાબ]
કે આદેશ વાક્ય દલીલો લંબાઈ છે.
પરંતુ શબ્દમાળા માટે અમે એક કાર્ય છે કે અમને શબ્દમાળા લંબાઈ આપે છે ઉપયોગ કરવા માંગો છો.
જેથી શબ્દમાળા લંબાઈ છે.
અને તેથી તે પછી તમે તેને શબ્દમાળા પાસ હોય છે.
તે જાણવા માટે શબ્દમાળા તે માટે લંબાઈ ગણતરી જરૂર જરૂર છે.
તેથી પછી આ કિસ્સામાં અમે શબ્દમાળા ઓ સાથે વ્યવહાર કરી રહ્યા છો.
સરસ.
તેથી તો અમે શું કરવા માંગો છો, તો printf દો.
હવે, અમે અક્ષરો સાથે કામ કરવા માંગો છો. અમે બહાર દરેક વ્યક્તિગત અક્ષર છાપો કરવા માંગો છો.
જ્યારે તમે તેને એક ફ્લોટ પ્રિન્ટ કરવા માંગો છો, તો તમે% એફ જેમ પ્લેસહોલ્ડર ઉપયોગ કરશે.
પૂર્ણાંક સાથે તમે% d નો ઉપયોગ કરશે.
અને તેથી એ જ રીતે, એક અક્ષર સાથે તમે% C વાપરવા માટે કહે છે કે હું એક અક્ષર છાપવા કરી જાઉં છું
કે જે ચલ અંદર સંગ્રહિત છે.
તેથી અમે આ હોય છે, અને આપણે એક સમય અને તે જગ્યા ઉમેરો.
અક્ષર જે અમે ઉપયોગ કરી રહ્યા છો?
અમે ઉપયોગ કરી અક્ષર ગમે અમે શબ્દમાળાને અંતે છો જઈ રહ્યાં છો.
તેથી તે પછી અમે શબ્દમાળા સાથે કંઈક ઉપયોગ કરી રહ્યા છીએ,
પરંતુ અમે અમુક ચોક્કસ અક્ષર ઍક્સેસ કરી ત્યાં માંગો છો.
તેથી જો શબ્દમાળા માત્ર એક વ્યૂહરચના છે, તો પછી અમે એરે તત્વો કેવી રીતે કરી શકું?
અમે તે ચોરસ કૌંસ હોય છે, અને તે પછી અમે ત્યાં ઇન્ડેક્સ પુટ.
તેથી અમે ચોરસ કૌંસ છે. આ કિસ્સામાં અમારા અનુક્રમણિકા અમે ફક્ત હું વાપરી શકો છો. બરાબર.
અહીં આપણે કહી રહ્યાં અમે એક અક્ષર છાપવા કરી કોઈ અને એક જગ્યા દ્વારા અનુસરવામાં જઈ રહ્યાં છો,
અને તે અક્ષર અમારી શબ્દમાળા ઓ માં ઇથ પત્ર પ્રયત્ન રહ્યું છે.
હું માત્ર કે સેવ જાઉં છું. ઠીક છે.
હવે હું શબ્દમાળા લંબાઈ સ્કોર જાઉં છું.
તેથી અમે OMG કહેવાય શબ્દમાળા હતી, અને હવે તે વધુ ભાર મૂક્યો છે.
તેવી જ રીતે, ચાલો આપણે કહેવું ખરેખર વપરાશકર્તા માંથી શબ્દમાળા મેળવવા માંગો છો.
અમે આ કેવી રીતે કરવું પડી શકે છે?
પહેલાં, અમે પૂર્ણાંક કેવી રીતે કરી?
અમે GetInt અધિકાર જણાવ્યું હતું? પરંતુ આ પૂર્ણાંક નથી, તેથી આપણે GetString.
ચાલો શબ્દમાળા લંબાઈ બનાવે છે. અહીં અમે ચોક્કસ પ્રોમ્પ્ટ દાખલ કર્યું નથી.
તેથી મને ખબર નથી.
હું અહીં મારું નામ મૂકવા જાઉં છું અને તેથી હું એક પછી તે વસ્તુઓ કરી શકો છો
જ્યાં હું દરેક અથવા જેમ પત્ર કંઈક માટે એક શબ્દ સોંપો. સરસ.
જેથી શબ્દમાળા લંબાઈ છે.
તેથી અમે સીઝર પાછા છો.
અમે કેવી રીતે અમે શબ્દમાળા ઉપર ફરી વળવું પર થોડા સાધનો હોય છે,
અમે કેવી રીતે દરેક વ્યક્તિગત તત્વ ઍક્સેસ કરો.
તેથી હવે અમે પાછા કાર્યક્રમ મેળવી શકો છો.
હું પહેલાં, તે ASCII કોષ્ટકમાં, તમારા શ્રેષ્ઠ મિત્ર, તમારો ઉલ્લેખ કર્યો છે
તમે જે નંબરો કે દરેક અક્ષર સાથે સંકળાયેલા છે તે જોવા જઈ રહ્યાં છો.
તેથી અહીં કહેવું અમારા સાદી ભાષા છે હું અતિશય ઊંચું છું!
તો પછી આ અક્ષરો દરેક માટે નંબર અને તે ASCII તેની સાથે સંકળાયેલ હોય રહ્યું છે,
પણ એપોસ્ટ્રોફી, પણ જગ્યા, પણ આશ્ચર્યચિહ્ન,
તેથી તમારે ધ્યાનમાં રાખવા માંગો છો કે પડશે.
તેથી અમારા કી જણાવે છે કે તેમના આદેશ વાક્ય દલીલ સમાવવામાં વપરાશકર્તા 6 છે.
કે પ્રથમ અક્ષર છે, જે હું છે જે 73 દ્વારા રજૂ થાય છે માટે એનો અર્થ એ થાય
તમે તેમને પાછા પત્ર ગમે 73 + 6 ના ASCII કિંમત દ્વારા રજૂ થાય છે કરવા માંગો છો.
આ કિસ્સામાં કે 79 હશે.
હવે અમે આગલા અક્ષર પર જાઓ કરવા માંગો છો.
તેથી સાદાલખાણ 1 નું ઇન્ડેક્સમાં આગામી એપોસ્ટ્રોફી હશે.
યાદ પરંતુ અમે ફક્ત અક્ષરો ચિહ્નિત કરો માંગો છો.
તેથી અમે ખાતરી કરો કે એપોસ્ટ્રોફી ખરેખર જ રહે બનાવવા માંગો છો,
કે અમે 39 થી 45 કંઈપણ નથી બદલી નથી.
અમે તેને એપોસ્ટ્રોફી તરીકે રાખવા માંગો છો.
તેથી અમે માત્ર અક્ષરો ચિહ્નિત કરો યાદ કરવા માંગો છો
કારણ કે અમે અન્ય પ્રતીકો અમારી તમામ કાર્યક્રમ યથાવત રહેવા માટે કરવા માંગો છો.
અન્ય વસ્તુ કે અમે કરવા માંગો છો કેપિટલાઈઝેશન સાચવવાની છે.
તેથી જ્યારે તમે એક મોટા અક્ષર છે, તે મોટા તરીકે રહેવા જોઈએ.
Lowercases લોઅરકેસ તરીકે રહેવા જોઈએ.
તેથી કેટલીક ઉપયોગી કાર્યો માટે માત્ર enciphering અક્ષરો સાથે વ્યવહાર કરવાનો પ્રયત્ન કરવા માટે
અને વસ્તુઓના કેપિટલાઈઝેશન સાચવીને રાખવા
આ isalpha, isupper, islower વિધેયો છે.
અને તેથી આ વિધેયો કે જે તમે બુલિયન કિંમત પાછી આવે છે.
મૂળભૂત રીતે, જે સાચું અથવા ખોટું. આ એક મોટા છે? આ આલ્ફાન્યૂમેરિક છે?
આ એક પત્ર છે અનિવાર્યપણે.
અહીં તમે કેવી રીતે છે કે વિધેય વાપરી શકે 3 ઉદાહરણો છે.
મૂળભૂત રીતે, તમે ચકાસવા માટે કરી શકે છે કે શું કિંમત છે કે જે કાર્ય દ્વારા તમને પાછી સાચી કે ખોટી છે
કે ઇનપુટ પર આધારિત છે.
ક્યાં નથી ચિહ્નિત કરો કંઈક અથવા તેને સાઇફર અથવા ખાતરી કરે છે કે તે મોટા, વગેરે જ કરવું
[વિદ્યાર્થી] તમે થોડી વધારે છે અને તમને તેમને કેવી રીતે ઉપયોગ કરવો તે સમજાવવા કરી શકું? >> યાહ, ખાતરી કરો કે માટે.
તેથી જો અમે પાછા જુઓ, અહીં આપણે એક મૂડી હું અધિકાર છે?
તેથી આપણે જાણીએ છીએ કે હું O જાય છે કારણ કે હું 6 + ઓ છે
પરંતુ અમે ખાતરી કરવા માટે કે જે ઓ માટે મૂડી ઓ પ્રયત્ન રહ્યું છે બનાવવા માંગો છો
જેથી મૂળભૂત છે, કે જે અમારા ઇનપુટ ફેરફાર કરી પ્રકારની છે.
તેથી શું તે મોટા છે અથવા તો જે રીતે કરે છે કે અમે તેની સાથે વ્યવહાર બદલી પ્રકારની નથી.
તેથી પછી જો આપણે ચોક્કસ અનુક્રમણિકા પર isupper કાર્ય વાપરવા માટે,
તેથી ("હું") isupper કે, અમને સાચું માટે આપે છે, તેથી આપણે જાણીએ છીએ કે તે ઉચ્ચ છે.
તેથી આધારિત પર પછી, પાછળથી અમે સૂત્ર જાય પડશે
કે જે તમે સીઝર વસ્તુઓ પાળી ઉપયોગ કરી શકશો,
જેથી તે પછી મૂળભૂત રીતે, ત્યાં કોઈ થોડા અલગ સૂત્ર જ હશે જો તે મોટા છે
તરીકે લોઅરકેસ વિરોધ કર્યો હતો. અર્થમાં બનાવીએ?
યાહ. કોઈ ચિંતાઓ.
હું એક પત્ર, જે તદ્દન અર્થમાં નથી થી 6 ઉમેરવા વિશે થોડી વાત
જ્યારે અમે પ્રકારની સમજવા સિવાય કે આ અક્ષરો
પૂર્ણાંકો સાથે વિનિમયક્ષમ પ્રકારની હોય છે.
અમે શું આપણે ઉપયોગ ગર્ભિત કાસ્ટિંગ પ્રકારની છે.
અમે નિર્ણાયક એક થોડીવાર પછી તમે જ્યાં કિંમત લઇ શકશો જાઓ અને તમે તેને અલગ પ્રકાર મા ફેરવાઇ જાય છે
કરતાં તે મૂળ હતી.
પરંતુ આ pset સાથે અમે પ્રકારની એકબીજાના અક્ષરો વાપરવા માટે સક્ષમ થશો
અને તેમના લગતાવળગતા પૂર્ણાંક કિંમતો.
તેથી જો તમે ખાલી ખાલી એક જ અવતરણચિહ્નો સાથે એક અક્ષર ડબામાં બંધ કરવું,
તો પછી તમારે પૂર્ણાંકો સાથે તેની સાથે કામ કરે છે, પૂર્ણાંક તરીકે તેની સાથે વ્યવહાર કરવાનો પ્રયત્ન કરીશું.
તેથી મૂડી સી 67 સંબંધિત છે. લોઅરકેસ એફ 102 સાથે સંબંધિત છે.
ફરીથી, જો તમે આ કિંમતો જાણવા માગો છો, તો તમારા ASCII ટેબલ પર જુઓ.
તેથી આપણે કેવી રીતે તમે સબ્ટ્રેક્ટ અને ઉમેરો કરવાનો પ્રયત્ન કરી શકે છે કેટલાંક ઉદાહરણો જાય,
તમે કેવી રીતે વાસ્તવમાં ખરેખર આ અક્ષરો સાથે કામ કરી શકે છે, તેમને એકબીજાના વાપરો.
હું કહે છે કે ASCIIMath એક પૂર્ણાંક એક પાત્રની વધુમાં ગણતરી રહ્યું છે
અને પછી ફલસ્વરૂપ તેમજ ફલસ્વરૂપ ASCII કિંમત પાત્ર દર્શાવે છે.
અને તેથી હું કહી રહ્યો છું - આ ભાગ સાથે we'll સોદો પછી -
પરંતુ મૂળભૂત રીતે, હું કહી રહ્યો છું કે જે વપરાશકર્તા સ્કોર ASCIIMath કી સાથે કહેવું જોઈએ,
અને હું કહી રહ્યો છું કે જે કી સંખ્યા હોવી રહ્યું છે
જેની સાથે અમે આ પાત્ર ઉમેરી રહ્યા છીએ.
તેથી અહીં નોટિસ કે હું એક કી માગણી છું,
કારણ કે હું છું કે તેઓ મને માગણી 1 વસ્તુ આપીને કરી રહ્યાં છો,
હું ફક્ત /. Asciimath અને કી સ્વીકારવા માંગો છો.
તેથી હું એવી માગ કરી કે argc 2 સમાન છે જાઉં છું.
જો તે નથી, તો પછી હું 1 પાછા આવો અને કાર્યક્રમ બહાર થશે જાઉં છું.
તેથી હું કહી રહ્યો છું કી પ્રથમ આદેશ વાક્ય દલીલ ન રહ્યું છે,
તે બીજા એક જ હશે, અને તમે અહીં જુઓ,
હું એ પૂર્ણાંક છે કે જે માં ચાલુ જાઉં છું.
પછી હું એક અક્ષર સુયોજિત કરવા માટે r પ્રયત્ન જાઉં છું.
નોંધ કરો કે આ ચલ chr પ્રકાર ખરેખર એક પૂર્ણાંક છે.
જે રીતે હું પૂર્ણાંક તરીકે r ઉપયોગ કરવાનો છું તે આ એક જ અવતરણચિહ્નો સાથે encasing છે.
તેથી અમારા printf કથન પાછળ જ્યાં અમે એક અક્ષર માટે એક પ્લેસહોલ્ડર છે
અને પછી એ પૂર્ણાંક માટે એક પ્લેસહોલ્ડર,
અક્ષર chr દ્વારા રજૂ થાય છે, અને પૂર્ણાંક કી છે.
અને તેથી તે પછી અમે પરિણામ 2 ના મળીને ઉમેરો રહ્યા છીએ.
તેથી અમે r ઉમેરવા જઈ રહ્યાં છો + + ગમે તે કી છે,
અને પછી અમે તે પરિણામ છાપી રહ્યા છીએ.
તેથી આપણે asciimath બનાવે છે. તે તારીખ સુધી, તેથી આપણે માત્ર asciimath ચલાવો.
ઓહ જુએ છે, પરંતુ, તે કંઇ નથી કારણ કે અમે ખરેખર તે નથી કી આપી નહોતી નથી.
તેથી જ્યારે તે માત્ર 1, અમારી મુખ્ય કાર્ય ફર્યા, તે માત્ર અમને પાછા ફર્યા.
તેથી પછી ચાલો કી માં પસાર કરે છે. કોઇએ મને એક નંબર આપે છે. >> [વિદ્યાર્થી] 4.
4. ઠીક છે.
તેથી r 4 અમને વિરુદ્ધ છે, જે 118 ની ASCII કિંમત અનુલક્ષે આપી રહ્યું છે દ્વારા વધારો થયો છે.
તેથી તો તે પ્રકારની છે કે જે અર્થમાં બનાવે છે -
ખરેખર, હું તમને પૂછવા કરી શકો છો, તમે શું વિચારો છો r ની ASCII કિંમત છે જો + + r 4 118 છે?
હા, તો પછી r 114 છે.
તેથી જો તમે તે ASCII ટેબલ પર પછી જુઓ, તો ખાતરી કરો કે પર્યાપ્ત, તમે જોશો કે r 114 દ્વારા રજૂ થાય છે.
તેથી હવે આપણે જાણીએ છીએ કે અમે પૂર્ણાંકો અક્ષરો ઉમેરી શકો છો, આ ખૂબ સરળ લાગે છે.
અમે માત્ર પર શબ્દમાળા ફરી વળવું જેમ અમે પહેલા ઉદાહરણ માં જોયું હતું રહ્યા છીએ.
અમે જો તે અક્ષર છે તપાસ કરીશું.
જો તે હોય, તો પછી અમે તેને ગમે તે કી છે દ્વારા પાળી પડશે.
સુંદર, સરળ, જ્યારે તમે આ કરવા માંગો વિચાર સિવાય,
તમે જુઓ કે z, 122 દ્વારા રજૂ, પછી તમે એક અલગ અક્ષર આપશે.
અમે ખરેખર અમારી મૂળાક્ષર અંદર રહેવા માંગો છો અધિકાર?
તેથી અમે બહાર આસપાસ રેપિંગ પ્રકારની કેટલીક રીતે આકૃતિ જરૂર છે.
, જ્યારે તમે ઝેડના સુધી પહોંચવા અને તમે અમુક ચોક્કસ નંબર દ્વારા વધારો કરવા માંગો છો
તમે તે ASCII મૂળાક્ષર વિભાગ બહાર જાય માગતા નથી;
તમે પાછા એ બધી રીતે લપેટી માંગો છો
પરંતુ ધ્યાનમાં રાખો તો તમે હજુ પણ કેસ સાચવીને કરી રહ્યાં છો.
જેથી અક્ષરો જાણીને પ્રતીકો ન બની શકે છે
પ્રતીકો જેમ જ માટે પણ બદલાતી શકાતી નથી જવાનું છે.
છેલ્લા pset તમે નિશ્ચિતપણે જરૂર ન હતી,
પરંતુ એક વિકલ્પ માટે મોડ્યૂલ્સ કાર્ય ઉપયોગ કરીને તમારી લોભી pset અમલમાં હતી.
પરંતુ હવે અમે ખરેખર માટે મોડ્યૂલ્સ ઉપયોગ કરવાની જરૂર જઈ રહ્યાં છો,
તેથી આપણે ફક્ત આ થોડો પર જાઓ.
આવશ્યકપણે, જ્યારે તમે એક્સ મોડ્યૂલો વાય છે, કે જે તમે વાય દ્વારા વિભાજી એક્સ બાકીની આપે છે.
અહીં કેટલીક અહીં ઉદાહરણો છે. અમે 27% 15 હોય છે.
મૂળભૂત રીતે, જ્યારે તમે નકારાત્મક મેળવવામાં વગર 27 થી 15 શક્ય હોય તેટલી વાર સબ્ટ્રેક્ટ
પછી તમે 12 ડાબી વિચાર પર.
જેથી જેવા પ્રકારની ગણિતના સંદર્ભમાં છે, પરંતુ અમે ખરેખર આ કેવી રીતે ઉપયોગ કરી શકું?
તે અમારા wrapover માટે ઉપયોગી થઇ રહ્યું છે.
આ માટે આપણે માત્ર કહી હું તમને બધી કહ્યું 3 જૂથો વિભાજીત.
ક્યારેક તમે જૂથો અને તે કંઈક આ કરવા માટે.
માનો કે મેં કહ્યું, "ઠીક છે, હું તમને બધી માંગો છો 3 વિભાજિત કરી શકાય."
કે જે તમને કેવી રીતે શકે?
[અશ્રાવ્ય વિદ્યાર્થી પ્રતિભાવ] અરે વાહ, બરાબર. બંધ ગણક. ઠીક છે.
માતાનો વાસ્તવમાં કે દો. શું તમે શરૂ કરવા માંગો છો?
1, 2, 3, 4 [વિદ્યાર્થીઓ બોલ ગણતરી].
યાદ પણ ... >> [વિદ્યાર્થી] ઓહ, માફ.
કે જે ખરેખર સારા બિંદુ છે.
તમે 4 જણાવ્યું હતું, પરંતુ અમે તમને ખરેખર 1 કહેવા માગો છો કારણ કે અમે માત્ર 3 જૂથો કરવા માંગો છો.
તેથી, તો પછી કેવી રીતે - ના, કે જે ખરેખર સારું ઉદાહરણ છે કારણ કે તો પછી તમે કેવી રીતે કહી શકે 1?
4 અને 1 વચ્ચે શું સંબંધ છે?
વેલ, 4 3 1 મોડ છે.
તેથી જો તમે ચાલુ રાખો, તો તમારે 2 હશે.
તેથી અમે 1, 2, 3, 1, 2 છે.
ફરીથી, તમે ખરેખર 5 વ્યક્તિ છો. તમે 2 બદલે 5 કહેવું કેવી રીતે જાણી શકું?
તમે કહી 5 3 મોડ 2 છે.
હું કેટલી 3 જૂથો બાકી છે કરવા માંગો છો, તો પછી કયા ક્રમમાં આઇ છું
અને તેથી તે પછી જો આપણે સમગ્ર ખંડ સાથે ચાલુ રહ્યો,
તો પછી અમે જુઓ કે આપણે હંમેશા ખરેખર રહ્યાં છો જાતને માટે મોડ કાર્ય અરજી
માટે પ્રકારની બોલ ગણતરી.
કે કેવી રીતે તમે મોડ્યૂલો ઉપયોગ શકે મૂર્ત ઉદાહરણ વધુ પ્રકારની છે
કારણ કે મને ખાતરી છે કે છું અમને મોટા ભાગના કદાચ તે પ્રક્રિયા મારફતે ચાલ્યા ગયા છે
જ્યાં અમે બોલ ગણતરી હતી.
મોડ્યૂલો પર કોઈપણ પ્રશ્ન છે?
તે ખૂબ મહત્વપૂર્ણ બનવા માટે આ વિભાવનાઓને સમજવામાં આવશે,
તેથી હું તેની ખાતરી કરવા માટે તમે ગાય્સ સમજી બનાવવા માંગો છો.
[વિદ્યાર્થી] જો ત્યાં કોઈ શેષ છે, તો તે તમને તે વાસ્તવિક સંખ્યા આપો છો?
જો તેમાંનુ એક પ્રથમ 3 તે કર્યું છે, તે તેમને આપવામાં હોત તેઓ શું ખરેખર હતા,
અથવા તે તેમને આપવામાં હોત [અશ્રાવ્ય] >> તે એક સારો પ્રશ્ન છે.
જ્યારે ત્યાં મોડ્યૂલો માટે આ બોલ પર કોઈ બાકીની છે - જેથી કહેવું તમે 6 3 મોડ હોય -
કે ખરેખર તમે આપે પાછા 0.
અમે પછી થોડી છે કે જે વિશે વાત કરશે.
ઓહ હા, હમણાં પૂરતું, 3 જી વ્યક્તિ - 3 3 મોડ ખરેખર 0 પરંતુ તેણીએ 3 જણાવ્યું હતું.
જેથી આંતરિક કેચ જેવા પ્રકારની છે, હમણાં પૂરતું છે,
ઠીક જેમ, જો મોડ પછી 0 છે હું 3 જી વ્યક્તિ પ્રયત્ન જાઉં છું.
પરંતુ અમે કેવી રીતે અમે 0 પાછળથી સાથે વ્યવહાર શકો છો પ્રકારની પ્રવેશ મળશે.
તેથી હવે અમે કોઈક અધિકાર પત્ર માટે ઝેડ મૅપ એક રસ્તો હોય છે.
તેથી હવે અમે આ ઉદાહરણો પસાર કર્યો છે,
અમે પ્રકારની કેવી રીતે સીઝર કામ કરી શકે છે.
તમે 2 મૂળાક્ષરો જુઓ અને પછી તમે તેમને સ્થળાંતર જુઓ.
તેથી આપણે પ્રયાસ અને સૂત્ર દ્રષ્ટિએ કે વ્યક્ત.
આ સૂત્ર ખરેખર સ્પેક છે તમે આપેલ હોય,
પરંતુ દરેક ચલ શું અર્થ થાય છે મારફતે લેટ્સ દેખાવ પ્રકારની.
અમારા અંતિમ પરિણામ માટે ગૂઢ પ્રયત્ન રહ્યું છે.
તેથી આ કહે છે કે સાઇફર ટેક્સટ ના ઇથ અક્ષર
છે સાદી ભાષા ના ઇથ પાત્ર અનુલક્ષે જઈ રહી છે.
તે અર્થમાં બનાવે છે કારણ કે અમે હંમેશા આ બાબતો ઉપર આવરણ શકાય માંગો છો.
તેથી તે ગૂઢ વત્તા કે, જે આપણા કી છે ઇથ અક્ષર જ હશે -
તે અર્થમાં બનાવે છે - અને તે પછી અમે આ 26 મોડ છે.
પાછા યાદ રાખો જ્યારે અમે ઝેડ હતી
અમે અક્ષર પ્રવેશ મેળવવા ઇચ્છતા ન હતા તેથી અમે તેને mod માગે છે
મૂળાક્ષરમાંથી આસપાસ અને કામળો પ્રકારની.
ઝેડ તમે જશે, બી, સી, ડી, જ્યાં સુધી તમે યોગ્ય નંબર મેળવ્યો.
તેથી આપણે જાણીએ છીએ કે ઝેડ, જો 6 +, અમને એફ આપી કારણ કે પછી ઝેડ એક, એફ B, C, ડી, ઇ, આવે કરશે.
તેથી આપણે યાદ રાખવું અમને ખાતરી છે કે માટે જાણો છો કે ઝેડ + + 6 અમને એફ આપી રહ્યું છે.
તે ASCII કિંમતો, z 122 છે અને એફ 102 છે.
જેથી અમે અમારા સીઝર સૂત્ર બનાવવા કેટલાક માર્ગ શોધી અમને 102 આપી
122 માં લીધા બાદ.
તેથી જો આપણે ફક્ત આ સૂત્ર છે, ('z' 6 +) 26% છે, જે વાસ્તવમાં તમે 24 આપે અરજી કરવી
કારણ કે 122 + 6 128 છે; 128 26% તમે 24 શેષ આપે છે.
પરંતુ ખરેખર એફ અર્થ એ નથી. જેનાથી 102 નથી.
કે જેઓ પણ મૂળાક્ષરમાં 6 ઠ્ઠી પત્ર નથી.
તેથી દેખીતી રીતે, અમે આ થોડો tweaking કેટલાક માર્ગ જરૂર પડે છે.
નિયમિત મૂળાક્ષર શરતો માં, આપણે જાણીએ છીએ કે z 26 અક્ષર હોય છે અને એફ 6 ઠ્ઠી છે.
પરંતુ અમે કોમ્પ્યુટર વિજ્ઞાન છો, તેથી અમે 0 અંતે ઇન્ડેક્સ રહ્યા છીએ.
તેથી પછી તેની જગ્યાએ z અને 26 નંબર હોવાની, અમે તે નંબર 25 કહેવું જઈ રહ્યાં છો
કારણ કે એક 0 છે.
તેથી હવે આપણે આ સૂત્ર લાગુ પડે છે.
અમે હોય z 25 + 6 દ્વારા રજૂ, કે જે તમને 31 આપે છે.
અને 31 26 mod તમે શેષ 5 આપે છે.
સંપૂર્ણ છે કારણ કે આપણે જાણીએ છીએ કે એફ મૂળાક્ષરમાંથી માં 5 અક્ષર છે.
પરંતુ તે હજુ f, અધિકાર નથી? તે હજી પણ 102 નથી.
તેથી પછી આ pset માટે એક પડકાર બહાર સંબંધ શોધવાનો પ્રયાસ કરવામાં આવશે
આ તે ASCII મૂલ્યો અને મૂળાક્ષર ઇન્ડેક્સ વચ્ચે રૂપાંતર વચ્ચે.
આવશ્યકપણે, તમે શું કરવા માંગો છો પડશે, તો તમે તે ASCII કિંમતો સાથે પ્રારંભ કરવા માગો છો,
પરંતુ તે પછી તમે કોઈક એક મૂળાક્ષર અનુક્રમણિકા માં કે અનુવાદિત કરવા માંગો છો
પછી ગણતરી અક્ષર તે પ્રયત્ન કરીશું - મૂળભૂત, તેના મૂળાક્ષર ઇન્ડેક્સ શું છે
આ સાઇફર પાત્ર - પછી તે પાછી ASCII કિંમતો માટે અનુવાદ.
તેથી જો તમે તમારા ASCII ટેબલ ચાબુક, પછી પ્રયત્ન કરો અને વચ્ચે સંબંધો શોધવા માટે, જેમ કે, 102 અને 5
અથવા 122 અને 25.
અમે આદેશ વાક્ય દલીલો અમારા કી મેળવેલ કર્યું છે, અમે સાદી ભાષા મેળવેલ કરી લીધી છે,
અમે તેને enciphered કર્યું છે.
હવે અમે શું બાકી છે તે છાપો.
અમે આ અલગ અલગ રીતે એક દંપતિ કરી શકે.
અમે કરી શકે શું ખરેખર આપણે સાથે જાઓ છાપી છે.
, આપણે ઉપર શબ્દમાળા માં અક્ષરો ફરી વળવું
અમે ફક્ત બરાબર પછી છાપી શકે છે જ્યારે અમે તે ગણતરી.
વૈકલ્પિક રીતે, તમે પણ તે એરે માં સંગ્રહે શકે અને અક્ષરો ઝાકઝમાળ છે
અને અંતે તે સમગ્ર એરે પર ફરી વળવું અને તે પ્રિન્ટ આઉટ.
તેથી કે જે તમને માટે વિકલ્પો થોડા હોય છે.
યાદ છે અને તે% સી એક અક્ષર છાપવા માટે પ્લેસહોલ્ડર પ્રયત્ન રહ્યું છે.
તેથી અમે સીઝર હોય છે, અને હવે અમે Vigenere પર ખસેડો,
જે અત્યંત સીઝર માટે સમાન છે, પરંતુ ફક્ત થોડી વધારે જટિલ છે.
તેથી Vigenere સાથે અનિવાર્યપણે તમે કીવર્ડ માં પસાર કરી છે જઈ રહ્યાં છો.
તેથી તેના બદલે એક નંબર, તમે એક શબ્દમાળા છે જઈ રહ્યાં છો,
અને જેથી તમારા કીવર્ડ તરીકે કામ ચાલી રહ્યું છે.
પછી, સામાન્ય તરીકે, તમે શબ્દમાળા માટે વપરાશકર્તા માંથી પ્રોમ્પ્ટ મેળવવા જઈ રહ્યાં છો
અને પછી તેને ચિહ્નિત કરો અને પછી તેમને ગૂઢ પાછા આપે છે.
જેથી મેં કહ્યું હતું, તે ખૂબ જ સીઝર માટે સમાન બદલે ચોક્કસ સંખ્યા દ્વારા સ્થળાંતર ઓફ સિવાય, છે,
સંખ્યા ખરેખર અક્ષર અક્ષર પર દર વખતે બદલી રહ્યું છે.
કે વાસ્તવિક સંખ્યા પ્રતિનિધિત્વ કરવા માટે પાળી, તે કીબોર્ડ અક્ષરો દ્વારા રજૂ કરવામાં આવ્યું છે.
તેથી જો તમે એક છે, હમણાં પૂરતું પાળી દાખલ કરો, પછી કે 0 ની પાળી અનુલક્ષે કરશે.
જેથી તે ફરીથી છે મૂળાક્ષર અનુક્રમણિકા નહીં.
શું ઉપયોગી હોઈ શકે જો તમને જોઈ રહ્યાં છો કે અમે ખરેખર તે ASCII કિંમતો સાથે કામ કરીએ છીએ શકે છે
તેમજ પત્રો, તેમજ મૂળાક્ષર અનુક્રમણિકા તરીકે,
કદાચ શોધવા અથવા તમારા પોતાના ASCII કોષ્ટક કે જે 25 મારફતે 0 મૂળાક્ષર અનુક્રમણિકા બતાવે બનાવવા માટે,
કે જેથી z મારફતે, અને તે ASCII કિંમતો તમે પ્રકારની સંબંધ જોઈ શકો છો
અને રેખાચિત્ર અને પ્રયાસ અને કેટલાક પેટર્ન શોધો.
તેવી જ રીતે, જો તમે ચોક્કસ ઉદાહરણ અંતે એફ દ્વારા રહ્યા હતા -
અને ક્યાં તો લોઅરકેસ અથવા મોટા એફ છે - પછી તે 5 અનુલક્ષે કરશે.
આપણે અત્યાર સુધી સારો?
Vigenere માટે સૂત્ર થોડી અલગ છે.
મૂળભૂત રીતે, તમે જુઓ છો કે તે સીઝર જેમ જ છે,
ને બદલે સિવાય માત્ર k અમે k અનુક્રમણિકા જ હોય ​​છે.
નોંધ કરો કે આપણે હું કારણ કે અનિવાર્યપણે નથી ઉપયોગ કરી રહ્યાં છો, મુખ્ય શબ્દ ની લંબાઈ
છે તે જરૂરી નથી અમારી ગૂઢ લંબાઈ.
આ એક બીટ સ્પષ્ટ હોય ત્યારે આપણે એક ઉદાહરણ કે હું બીટ પર પછીથી હોય જોશો.
મૂળભૂત રીતે, જો તમે ohai એક કીવર્ડ સાથે તમારા કાર્યક્રમ ચલાવવા માટે,
પછી તે અર્થ એ થાય કે દર વખતે, ohai તમારા પાળી પ્રયત્ન રહ્યું છે.
તેથી તેના આધારે સ્થિતિ શું તમે તમારા કીવર્ડ છે પર,
તમે તે રકમ દ્વારા તમારા ચોક્કસ ગૂઢ અક્ષર પાળી રહ્યા છીએ.
ફરીથી, સીઝર જેમ જ, અમે ખાતરી કરવા માટે કે આપણે વસ્તુઓના કેપિટલાઈઝેશન બચાવવા બનાવવા માંગો છો
અને અમે માત્ર ચિહ્નિત કરો, અક્ષરો અથવા ખાલી જગ્યાઓ નથી અક્ષરો.
તેથી સીઝર પાછળ વિધેયો કે જે તમે ઉપયોગ કર્યો હોઈ શકે પર જુઓ,
કે જે રીતે તમે નક્કી કર્યું છે કે કેવી રીતે વસ્તુઓ પાળી માટે, અને તમારા કાર્યક્રમ માટે કે અહીં લાગુ પડે છે.
તેથી આ બહાર મેપ દો.
અમે સાદાલખાણ કે અમે વપરાશકર્તાના GetString માંથી મેળવેલ કર્યું છે પાસે
આ કહેતા ... CS50 છે!
તો પછી અમે ohai એક કીવર્ડ છે.
પ્રથમ 4 અક્ષરો ખૂબ સરળ હોય છે.
અમે જાણીએ છીએ કે ટી ​​ઓ દ્વારા ખસેડાયેલો શકાય રહ્યું છે,
પછી h,-h દ્વારા ખસેડાયેલો શકાય રહ્યું છે, હું એક ખસેડવામાં આવશે રહ્યું છે.
અહીં તમે જુઓ કે જે 0 રજૂ કરે છે,
જેથી તે પછી ઓવરને કિંમત ખરેખર માત્ર પહેલાની જેમ જ અક્ષર છે.
પછી ઓ આઇ દ્વારા ખસકી ગયેલ છે.
પરંતુ તે પછી તમે આ સમયગાળા અહીં છે.
અમે ચિહ્નિત કરો કે, તેથી તે પછી અમે તેને કંઈપણ દ્વારા ફેરફાર કરતી નથી નથી માંગતા
અને બસ બદલ્યા સમય છાપો.
[વિદ્યાર્થી] હું કેવી રીતે તમે જાણો છો કે આ દ્વારા ખસેડાયેલો નથી નથી - તમે ક્યાં હતી - >> ઓહ, માફ.
અહીં ટોચ પર છે કે જે તમને આદેશ વાક્ય દલીલ અહીં ohai જુઓ,
કે મુખ્ય શબ્દ જ હશે.
અને તેથી મૂળભૂત, તો તમે કીવર્ડ માં અક્ષરો પર રાખતા રહ્યા છો.
[વિદ્યાર્થી] તેથી ઓ એ જ સ્થળાંતર કરી રહ્યું છે -
તેથી ઓ મૂળાક્ષરો એક ચોક્કસ નંબર અનુલક્ષે છે.
[વિદ્યાર્થી] અધિકાર. પરંતુ જ્યાં તમે CS50 ભાગ વિચાર નહીં?
ઓહ. કે GetString જ્યાં તમે જેમ, છીએ છે "મને એક બેવડી શબ્દમાળા આપો."
[વિદ્યાર્થી] તેઓ તમારા કે દ્વારા પાળી દલીલ આપી રહ્યા છીએ
અને પછી તમે તમારા પ્રથમ શબ્દમાળા માટે કહીશું. >> યાહ.
તેથી જ્યારે તેઓ કાર્યક્રમ ચલાવો, તેઓ કીવર્ડ સમાવેશ જઈ રહ્યાં છો
તેમના આદેશ વાક્ય દલીલો જ્યારે તેઓ તેને ચલાવો.
પછી એક વાર તમે ચેક કર્યું છે કે તેઓ ખરેખર તમે 1 આપી છે અને વધુ, ઓછા નથી,
પછી તમે તેમને શબ્દમાળા માટે પૂછવા માટે જઈ રહ્યાં છો કહે, "મને એક શબ્દમાળા આપો."
તેથી કે જ્યાં આ કિસ્સામાં તેઓ તમને આ આપી છે ... CS50 છે!
તેથી પછી તમે તે વાપરો અને ohai ઉપયોગ અને ફરી વળવું રહ્યા છીએ.
નોંધ કરો કે અહીં અમે પૂર્ણવિરામ એનક્રિપ્ટ પર છોડવામાં આવી,
પરંતુ અમારા પોઝિશન ohai, આગામી એક માટે દ્રષ્ટિએ અમે ઓ ઉપયોગ થાય છે.
આ કિસ્સામાં તે બીટ મુશ્કેલ છે કારણ કે તે જોવા માટે કે 4 છે,
તેથી આપણે થોડી ચાલુ રાખો. જસ્ટ મારી સાથે અહીં વળગી.
તો પછી અમે i અને ઓ, કે જે પછી ઓ અને ક દ્વારા કરવામાં આવે છે અનુક્રમે ભાષાંતર હોય છે.
ત્યાર બાદ અમે એક જગ્યા હોય છે, અને તેથી તે પછી આપણે જાણીએ છીએ કે અમે જગ્યાઓ ચિહ્નિત કરો નથી જઈ રહ્યા છે.
પરંતુ સૂચના બદલે આ સ્થળ એક માટે અહીં જવાની,
અમે દ્વારા એનક્રિપ્ટ કરી રહ્યા છીએ - અહીં - હું જો તમે જોઈ શકો છો કે જે જાણતા નથી.
તેથી તે ગમે તમે ખરેખર પૂર્વનિર્ધારિત નથી, કહે છે, ઓ અહીં જાય છે, ક અહીં જાય છે,
અહીં એક જાય છે, હું અહીં જાય, ઓ,-h, એ, ઓ, આઇ,-h, એક હું. કે જે તમને નથી કરતી.
તમે ફક્ત મુખ્ય શબ્દ તમારા સ્થિતિ પાળી
જ્યારે તમે જાણો છો કે તમે ખરેખર વાસ્તવિક પત્ર એનક્રિપ્ટ કરી રહ્યા છીએ.
કરતું નથી તે પ્રકારના અર્થમાં છે?
ઠીક છે.
જેથી માત્ર કેટલીક રીમાઇન્ડર્સ.
તમે ખાતરી કરો કે તમે ફક્ત તમારા કીવર્ડ આગામી પત્ર આગળ બનાવવા માંગો છો
જો તમારી સાદી ભાષા માં અક્ષર એક પત્ર છે.
તેથી કહેવું અમે ઓ પર છો.
અમે નોંધ્યું છે કે આગામી પાત્ર, જે સાદી ભાષા ના હું અનુક્રમણિકા, એક નંબર છે, હમણાં પૂરતું છે.
તો પછી અમે જ, અમારા કીવર્ડ માટે ઇન્ડેક્સ આગળ ન હોય, તો ત્યાં સુધી આપણે બીજું પત્ર પહોંચે છે.
ફરીથી, તમે પણ કીવર્ડ શરૂઆતમાં ખાતરી કરો કે તમે wraparound બનાવવા માંગો છો
જ્યારે તમે તેને ઓવરને અંતે છો.
જો તમે જોઈ અહીં અમે હું પર છો, તો આગામી એક ઓ પ્રયત્ન છે.
જેથી તમે તમારા કીવર્ડ શરૂઆતમાં wraparound માટે સક્ષમ હોવાની કેટલાક માર્ગ શોધવા માંગો છો
દરેક સમય છે કે જે તમે ઓવરને પહોંચે છે.
અને તેથી ફરી ઓપરેટર પ્રકારની શું આસપાસ રેપિંગ માટે તે કિસ્સામાં ઉપયોગી છે?
ઉદાહરણ બોલ ગણતરી માં ગમે છે.
[વિદ્યાર્થી] ટકા સાઇન. >> અરે વાહ, આ ટકા સાઇન છે, કે જે મોડ્યૂલો છે.
તેથી મોડ્યૂલો હાથમાં અહીં આવે છે જ્યારે તમે ઉપર તમારી ohai માં ઇન્ડેક્સ લપેટી કરવા માંગો છો કરશે.
અને માત્ર એક ઝડપી હિંટ: આ ગણતરી બોલ જેવા બીટ મુખ્ય શબ્દ પર રેપિંગ લાગે છે પ્રયાસ કરો,
જ્યાં જો ત્યાં 3 જૂથો, 4 થી વ્યક્તિ છે,
તેમની સંખ્યા કે તેઓ જણાવ્યું હતું કે 4 3 મોડ છે, કે જે 1 હતી.
તેથી પ્રયત્ન કરો અને તે વિચારે છે કે રસ્તો.
જેમ તમે સૂત્ર માં થયો હતો, જ્યારે પણ તમે સીઆઇ અને પછી પાઇ છે પણ પછી કેજે,
તમે ખાતરી કરો કે તમે તે ટ્રેક રાખવા બનાવવા માંગો છો.
તમે તેને હું કહી કરવાની જરૂર નથી, તો તમે તેને જ કૉલ કરવાની જરૂર નથી,
પરંતુ તમે ખાતરી કરો કે તમે પદ કે તમે તમારા સાદાલખાણ ખાતે ટ્રેક રાખવા બનાવવા માંગો છો
તરીકે સ્થિતિ તેમજ જે તમે તમારા કીવર્ડ ખાતે છો
કારણ કે તે જરૂરી જ નથી જવાનું છે.
માત્ર કીવર્ડ કરે છે - તે તમારા સાદી ભાષા કરતાં સંપૂર્ણપણે અલગ લંબાઈ હોઈ શકે છે.
પણ, તમારા સાદી ભાષા, ત્યાં નંબર્સ અને અક્ષરો છે,
તેથી તે માટે સંપૂર્ણપણે અપ મળીને મેળ ખાતી નથી ચાલી રહ્યું છે. હા.
[વિદ્યાર્થી] ત્યાં એક કેસ બદલી કાર્ય છે?
તમે એક મૂડી માટે ફેરફાર કરી શકો છો? >> અરે વાહ, અહીં ચોક્કસપણે છે.
તમે તપાસી શકો છો - હું તે toupper, બધા 1 શબ્દ માને છે.
પરંતુ, જ્યારે તમે વસ્તુઓ સાઇફર અને લખાણ સાચવવા પ્રયાસ કરી રહ્યા છો
તે શ્રેષ્ઠ મૂળભૂત કરવા માટે અલગ કિસ્સાઓમાં હોય છે.
જો તે એક મોટા છે, તો પછી તમે આ દ્વારા પાળી માંગો છો
કારણ કે તમારા સૂત્રમાં, જ્યારે તમે પાછા જોવા અમે કેવી રીતે જઇ પ્રકારની હોય
પરસ્પર નંબરો રજૂ ની ASCII માર્ગ વચ્ચે
અને વાસ્તવિક મૂળાક્ષર અનુક્રમણિકા, અમે ખાતરી કરવા માંગો છો
ત્યાં પેટર્ન અમુક પ્રકારની છે કે જે તમે ઉપયોગ કરવા જઈ રહ્યાં છો જ હશે.
પેટર્ન પર બીજી નોંધ ખરેખર.
તમે ચોક્કસપણે નંબરો સાથે વ્યવહાર કરવામાં જઈ રહ્યાં છો.
જાદુ નંબર્સ ઉપયોગ કરવાનો પ્રયાસ કરો, કે જે શૈલી એક ઉદાહરણ છે.
તેથી કહેવું તમને ગમે દ્વારા દર વખતે પાળી કંઈક કરવા માંગો છો -
ઠીક છે, સંકેત, જેથી અન્ય સ્પોઇલર છે જ્યારે તમે કંઈક ફરતું કરી રહ્યા છીએ
ચોક્કસ રકમ દ્વારા માટે એક વાસ્તવિક નંબર દ્વારા કે પ્રતિનિધિત્વ કરવાનો પ્રયાસ કરો
પરંતુ પ્રયત્ન કરો અને જુઓ જો તમે તે ASCII કિંમત છે, કે જે પ્રકારની વધુ અર્થમાં કરશે વાપરી શકો છો.
બીજી નોંધ: અમે સૂત્રો સાથે કામ કરીએ છીએ,
ભલે તમારી ટીએફ પ્રકારની ખબર પેટર્ન શું તમે ઉપયોગ કરી શકે છે,
તમારી ટિપ્પણીઓ પ્રકારની કરવા માટે શ્રેષ્ઠ તર્કશાસ્ત્ર, ગમે સમજાવવું,
"હું કારણ કે આ પેટર્ન ઉપયોગ કરું છું ..." અને પ્રકારની પેટર્ન સંક્ષિપ્તમાં સમજાવો તમારી ટિપ્પણીઓમાં.
[આ 2 walkthrough હતું] જો કોઇ અન્ય પ્રશ્નો છે, તો પછી હું ફક્ત થોડો માટે અહીં રહેવા પડશે.
ક્રિપ્ટો અને આગામી માટે આભાર: તમારા 2 pset સાથે શુભેચ્છા.
[વિદ્યાર્થી] આપનો આભાર. >> આભાર.
[મીડિયા ઑફલાઇન પ્રસ્તાવના]