[Powered by Google Translate] વિભાગ સમસ્યા 2 સેટ કરો: હેકર આવૃત્તિ
રોબ બોડેન, હાર્વર્ડ યુનિવર્સિટી
આ CS50 છે. CS50.TV
તેથી, હું રોબ છું. હું કિર્કલૅંડ એક વરિષ્ઠ છું. આ મારું ત્રીજું CS50 TFing વર્ષ છે.
તે પ્રથમ વખત કે અમે વિભાગ પરંપરાગત-વ્યાખ્યાન-શૈલી ફેરફાર થાય છે,
જ્યાં અમે સમીક્ષા ફક્ત પ્રકારની વ્યાખ્યાન થયું શું અને તે પછી તમે ગાય્સ પ્રશ્નો પૂછી,
હવે ખૂબ સમસ્યા આધારિત છે, જ્યાં અમે સ્પેસીસ ઉપયોગ કરવા માટે, અને -
ઓહ, તેથી આ વિચારને તે લિંક હું તમને મોકલવામાં પર જાઓ અને પછી તમે મારા સ્પેસ માં હશો.
શું કોઇને લેપટોપ નથી? ઠીક છે.
તેથી અમે આ ઉપયોગ કરી રહ્યા છીએ, અને અમે સમસ્યાઓ કરી શકાય જઈ રહ્યાં છો વિભાગમાં રહે છે
અને તેમને ચર્ચા અને બહાર figuring શું ખોટું છે
અને હું તમારો કોડ કેટલાક ખેંચે છે, હોઈ શકે છે અને હું તમારા વિચારો ચર્ચા થઈ શકે છે.
તેથી કોઈને પણ મુશ્કેલી ધરાવે છે?
તમે બાજુ પર ચેટ કરી શકે છે; હું જો અમે તે માટે કારણ હશે ખબર નથી.
હવે, જે અગાઉના supersection જેમ, જો તમે તે વર્ગ હતા, તમે જાણો છો કે શું વિશે છે.
પી સેટ બધી પર ત્યાં આ વિભાગો જ હશે.
2 પી સેટ તેથી, સ્પષ્ટીકરણો, હું માનું તમે 1 પી સેટ પર તે પહેલેથી જ જોવા મળી હતી.
પરંતુ અમે 2 પી સેટ પર અમે શું આજે પર જઈને કરી રહ્યા છીએ જોવા માટે કરી શકો છો.
અને તમે પ્રશ્નો વિભાગમાં જોઈ શકશો.
તેથી આ પી સેટની તમામ હશે; ત્યાં પ્રશ્નો વિભાગ હશો.
અત્યાર સુધી અમે જણાવ્યું હતું કે, છે "એક પ્રેક્ટિસ તક આ નક્કી કરો."
તમે આ કાર્યક્રમ સબમિટ કરી નથી પૂછવામાં આવશે.
આ વિચાર એ છે કે આ મદદ તમે સમસ્યા સમૂહ સાથે પ્રારંભ પ્રકારની અપેક્ષા છે.
હું હેકર આવૃત્તિ પર ધારી, તેમને ઘણો જ નવું, રસપ્રદ શીખવા માટે વસ્તુઓ હશે તેવું માનવામાં આવે છે.
તેઓ સીધા સમસ્યા સમૂહને લાગુ ન પણ હોય.
અને હમણાં અમે કર્યા તમે તેમને submit નથી છીએ, પરંતુ સિદ્ધાંતમાં,
બાદમાં સમસ્યા સમૂહો માટે, તો તમે તેને સબમિટ કરો, અને શકે છે આમ તો તમે ક્યાં તો વિભાગમાં આવી શકે
અથવા વિભાગ જોવા માટે જવાબો મેળવવા માટે, અથવા તો તમે ફક્ત તેને તમારી પોતાની પર વિચાર કરી શકે છે
જો તમે મારી હાજરી માણવા જેવું લાગે છે નથી.
અત્યાર - મને લાગે છે કે આ પ્રથમ એક છે.
ઓહ. પણ, પ્રશ્નો આ વિભાગો હેઠળ અમે પણ તમને શોર્ટ્સ વિશે પ્રશ્નો પૂછી છે.
તેથી હું માનું છું, સિદ્ધાંતમાં, તમે કલમ આવતા પહેલા આ જોઈ માનવામાં કરી રહ્યાં છો,
પરંતુ તે દંડ છે જો તમે ન કરતા; અમે તેમને પર કોઈપણ રીતે જવું પડશે.
તેથી અમે આ સાથે શરૂ કરી શકો છો: "જ્યારે લૂપ ડુ-જ્યારે લૂપ કેવી રીતે અલગ પડે છે?
બાદમાં જ્યારે એ ખાસ કરીને ઉપયોગી છે? "
જેથી કોઇ પણ વ્યકિત કોઇ હોય -?
[વિદ્યાર્થી] આ ડુ-જ્યારે લૂપ હંમેશા ઓછામાં ઓછું એક વાર ચલાવવા કરશે.
હા. જેથી તફાવત છે. જ્યારે લૂપ - I'll માત્ર તેને અહીં પર શું - લૂપ, જ્યારે અમે આ પરિસ્થિતિ છે
અહીં, જ્યારે ડુ-જ્યારે તમે એક શરત નથી ત્યાં સુધી અમે નીચે અહીં વિચાર નથી.
અને તેથી, જ્યારે તમારું કાર્યક્રમ ચલાવી છે અને તે જ્યારે લૂપ મળે,
તે તુરંત જ ચકાસે જો આ સ્થિતિ સાચું છે.
જો કે પરિસ્થિતિ સાચું નથી, તે માત્ર પર લૂપ સંપૂર્ણપણે છોડી દો.
શું-જ્યારે લૂપ, કારણ કે કાર્યક્રમ ચલાવવા છે, તે "નથી." નોંધાયો નહીં
નથીંગ આ બિંદુએ થાય છે, માત્ર અમલ ચાલુ છે.
પછી જ્યારે તેને ", જ્યારે" બનાવ્યા જો શરત સાચું છે, તો લૂપ બેકઅપ અને તેને ફરીથી કરીશ
અને ફરીથી અને ફરીથી ત્યાં સુધી આ પરિસ્થિતિ સાચું છે અને પછી માત્ર મારફતે પડે નથી.
તેથી તફાવત છે, કે જે આ અધિકાર ખૂબ શરૂઆતથી અવગણી શકો છો.
આ જરુરી એકવાર ચલાવે છે અને પછી વધુ વાર ચલાવો જો સ્થિતિ હજુ પણ સાચું શકે છે.
તેથી જ્યારે લૂપ માત્ર એક વખત તે શું કરશે, અથવા - જ્યારે લૂપ - અમે તેને બધી નથી જરૂર પડી શકે છે,
જલદી અમે તેને મેળવવા થી, જો શરત ખોટી છે, અમે માત્ર તે પર અધિકાર અવગણો પડશે.
જ્યારે આવું ત્યારે લૂપ, અમે એક વખત તે અમલ કરે છે, એવું જરૂરી રહેશે.
ત્યાર બાદ, જ્યારે અમે આ પરિસ્થિતિ મેળવવા માટે, અમે તપાસ જો તે સાચું કે ખોટું છે.
જો તે સાચું છે, તો અમે તેને ફરીથી કરીશ; જો તે ખોટા છે, અમે માત્ર જઈને કરવાનું ચાલુ રાખીશું.
તેથી જ્યારે બાદમાં છે એ ખાસ કરીને ઉપયોગી?
તેથી હું 4 વર્ષ પૂર્ણ, 3 વર્ષ, ગમે તે કહે કરી શકો છો,
કે હું પ્રોગ્રામિંગ થઈ, હું આ ઉપયોગ કર્યો છે, જેમ કે 10 વખત હેઠળ.
અને કદાચ 5 તેમને CS50 છે ત્યારે અમે-જ્યારે આંટીઓ રજૂઆત કરી રહ્યાં છે.
તેથી જ્યારે તમે આમ કરો ત્યારે આંટીઓ ઉપયોગ કરી શકું?
હા - એ ક્યારે છે
[વિદ્યાર્થી] જ્યારે તમે વપરાશકર્તા ઈનપુટ કરવા માટે, અથવા કંઈક તમે ચકાસવા માંગો છો વિચાર કરવાનો પ્રયાસ કરી રહ્યા છીએ -
યાહ. આવું ત્યારે આંટીઓ, ઇનપુટ વપરાશકર્તા મોટી છે.
જે પ્રથમ દંપતી સમસ્યા સેટ પર શા માટે છે, જ્યારે તમે વપરાશકર્તા પૂછો, પસંદ કરવા માંગો છો,
"મને એક શબ્દમાળા આપો," તમે જ્યાં સુધી તમે કે જેઓ શબ્દમાળા વિચાર નથી ચાલુ રાખી શકો છો.
અને તેથી તમે, જરૂરી છે, શબ્દમાળા માટે ઓછામાં ઓછી એક વાર પૂછી જરૂર છે.
પરંતુ પછી જો તેઓ કંઈ ખરાબ જવાબ, પછી તમે લૂપ પાછા જરૂર છે અને ફરીથી પૂછો.
પરંતુ વપરાશકર્તા ઈનપુટ કરતાં અન્ય, તે ખૂબ જ દુર્લભ છે કે હું કેસ અનુભવી
જ્યાં હું લૂપ માટે "ઓછામાં ઓછું એક વાર" કરવા માંગો છો પરંતુ કદાચ વધુ.
પ્રશ્નો અથવા -? છે કોઇ ડુ-જ્યારે લૂપ ક્યાંય ઉપયોગ થયો નથી?
ઠીક છે. જેથી આગામી એક છે, "શું ઓળખકર્તા અઘોષિત નથી
સામાન્ય રીતે જો રણકાર દ્વારા outputted સૂચવે છે? "
તેથી શું પ્રકારની કોડ માટે હું વિચાર લખી શકે છે 'બિનજાહેર ઓળખકર્તા?'
[વિદ્યાર્થી] તે x 2 =?
તેથી અમે તેને અહીં પ્રયત્ન કરી શકો છો, x 2 =.
અમે આ સ્કોર કરીશું - ઓહ, હું તેને ક્લિક ન કરો નહોતો. તમામ હક છે - તેથી અહીં અમે મેળવો.
"બિનજાહેર ઓળખકર્તા x ની વાપરો."
જેથી બિનજાહેર ઓળખકર્તા, એક ચલ છે.
તે વારંવાર એક ચલ એક ઓળખકર્તા કૉલ કરશે.
તેથી તે જાણીએ છીએ કે તે ખરેખર એક ચલ નથી શકે છે; તે ખબર નથી તે શું છે.
તેથી તે ઓળખકર્તા છે.
શા માટે તેથી તે અઘોષિત છે? યાહ.
તેથી શબ્દાવલિ ચલની ઘોષણા પર સ્પષ્ટ થઈ
છે જ્યારે તમે "પૂર્ણાંક એક્સ," અથવા "શબ્દમાળા વાય," ગમે તે કહો.
આ ચલ ઓફ આરંભ, અથવા ચલની સોંપણી,
જ્યારે પણ તમે કહી "x = 2 છે."
તેથી અમે અલગ પગલાં આ કરી શકો છો, પૂર્ણાંક X, X = 2, અને ત્યાં સુધી - અમે અહીં સામગ્રી સમૂહ કરી શકો છો -
પરંતુ ત્યાં સુધી આ રેખા થાય છે, એક્સ હજી પણ uninitialized છે પરંતુ તે જાહેર કરવામાં આવ્યું છે.
અને તેથી અમે ચોક્કસપણે તેને 1 લીટી માં કરી શકો છો, અને હવે અમે જાહેર છે અને પ્રારંભ.
પ્રશ્નો?
અને છેલ્લે, "સીઝર સાઈફર કેમ છે ખૂબ જ સુરક્ષિત નથી?"
પ્રથમ તેથી, કોઈને પણ કહે છે કે સીઝર સાઈફર શું છે કરવા માંગો છો કરે છે?
[વિદ્યાર્થી] સીઝર સાઈફર માત્ર એ છે કે તમે મેપ, તમે દરેક અક્ષર પાળી,
અક્ષરો ચોક્કસ નંબર ઉપર જાય છે, અને પાછા ખસેડવા માટે, અને તે ખૂબ જ સુરક્ષિત નથી કારણ કે
ત્યાં માત્ર 26 શક્ય વિકલ્પો છે અને તમે માત્ર તે 1 દરેક પ્રયાસ છે જ્યાં સુધી તમે તેને મળે છે.
ઓહ. તેથી, હું પુનરાવર્તન કરવું જોઈએ?
આ સીઝર સાઈફર, it's - હું તેનો અર્થ, તમે કે જે તમને સમસ્યા પર તેની સાથે વ્યવહાર કરવામાં આવશે -
અથવા હું સમસ્યા સમૂહ કે હેકર આવૃત્તિ પર નથી પ્રમાણભૂત આવૃત્તિ ધારી.
જેથી સમસ્યા સમૂહ પ્રમાણભૂત આવૃત્તિ પર, તમે જેમ, સંદેશ વિચાર "વિશ્વ હેલો,"
અને તમે પણ 6 જેવા અનેક હોય છે, અને તમે તે સંદેશ લેવા અને દરેક વ્યક્તિગત પાત્ર,
તમે તેને મૂળાક્ષરમાં 6 જગ્યાઓ ફેરવવા.
જેથી 'h', 'હેલો માં-h-i જ-k-l-મીટર-n બની જશે.
જેથી પ્રથમ અક્ષર n હશે. અમે ઈ સાથે જ વાત કરે છે.
જો આપણે એક છે, પસંદ, z અથવા કંઈક, પછી અમે પાછા ફરતે વીંટળાય છે ત્યારે 'એક.'
પરંતુ દરેક અક્ષર જગ્યા 6 અક્ષરો પાછળથી મૂળાક્ષરમાં, નહીં અને તે ખૂબ જ સુરક્ષિત નથી
કારણ કે કેટલા રીતે તમે એક પત્ર લપેટી શકે માત્ર 26 શક્યતાઓ છે.
જેથી તમે માત્ર તેમને 26 તમામ પ્રયાસ કરી શકો છો અને, કદાચ એક પર્યાપ્ત લાંબા સમય સુધી સંદેશા માટે,
માત્ર તે શક્ય 26 વસ્તુઓ 1 થી વંચાય પ્રયત્ન રહ્યું છે,
અને વંચાય એવા એક મૂળ સંદેશો પ્રયત્ન રહ્યું છે.
તેથી તે કંઇ બધા એનક્રિપ્ટ એક ખૂબ જ સારો માર્ગ નથી.
, તે શોર્ટ્સ સાથે સંબંધિત નથી "શું કરે છે?"
તેથી કાર્ય શું છે? હા.
[વિદ્યાર્થી] તે કોડ અલગ ભાગ કે જે તમે મારફતે જાઓ અને પછી ગમે પરત કિંમત વિચાર કહી શકો છો જેવું છે.
યાહ. પણ માત્ર આગામી એક જવાબ આપીને અથવા વારંવાર - તેથી હું તે આગામી જવાબ દ્વારા જવાબ પડશે.
તમે વિધેયો ની જગ્યાએ વાપરવું માત્ર નકલ અને પેસ્ટ કરી શકો છો કોડ ઓવર એન્ડ ઓવર અગેઇન.
જસ્ટ કે કોડ લે છે, તે fuction મૂકવામાં, અને પછી તમે ફક્ત કાર્ય કહી શકે છે
તમારી પાસે ગમે ત્યાં નકલ કરવામાં આવી અને પેસ્ટ.
તેથી કાર્યો ઉપયોગી છે.
તેથી હવે અમે વાસ્તવિક સમસ્યાઓ કરવું પડશે.
પ્રથમ એક. જેથી પ્રથમ એક વિચાર છે, તો તમે તેને શબ્દમાળા પસાર કરવા માટે, અને અનુલક્ષીને -
અથવા તે બધા લોઅરકેસ કહેવું છે? તે બધા લોઅરકેસ નથી કહેવું નથી.
જેથી સંદેશો કંઈપણ હોઈ શકે છે, અને - ઓહ નં. તે કરે છે.
"સરળતા માટે, તમે કે વપરાશકર્તા માત્ર કરશે લોઅરકેસ અક્ષરો અને જગ્યાઓ ઇનપુટ. ધારે શકે છે"
કે જેથી અમે તેને માત્ર નાના અક્ષરો સાથે સંદેશ પસાર અને પછી અમે એકના
મૂડી અને લોઅરકેસ વચ્ચે - અમે શબ્દમાળા મૂડી અને લોઅરકેસ માટે, વૈકલ્પિક બદલો.
તેથી પહેલાં તો અમે તમને એક પણ સમસ્યા ડાઇવ બીજા આપવા માટે,
પ્રથમ વસ્તુ કે અમે જરૂર શું છે?
ઓહ, હું શું માત્ર નહોતો પર ક્લિક કરો? ઓહ, હું હમણાં જ અહીં ઇમેઇલ પર ક્લિક કર્યું છે.
જેથી પ્રથમ વસ્તુ અમે જરૂર - હું ખોટું એક જોઈ રહ્યો છું?
આ એક ભાગ છે?
ના, તે ત્યાં હજુ પણ છતાં છે.
ઠીક છે, હજુ પણ અહીં છે.
- હવે અમે નથી ધારણ કરી શકે છે? હા. અહીં અમે નથી ધારણ કરી શકે છે કે તે માત્ર નાના અને જગ્યાઓ છે.
તેથી હવે અમે એ હકીકત છે કે જે અક્ષરો હોઈ શકે છે ગમે અમે તેમને પ્રયત્ન કરવા માંગો છો સાથે કામ હોય છે.
અને તેથી પ્રથમ વસ્તુ અમે કરવા માંગો છો ફક્ત સંદેશો વિચાર છે.
અમે હમણાં જ એક શબ્દમાળા જરૂર હોય, શબ્દમાળા ઓ = GetString, ઠીક છે.
હવે આ સમસ્યા છે, ત્યાં આમ માર્ગો એક દંપતી છે.
પરંતુ અમે માટે bitwise ઓપરેટરો અહીં ઉપયોગ કરવા માંગો છો જવું છે.
ત્યાં છે લોકો ક્યાં તો supersection ન હતા,
અથવા કંઈક જાણે છે, અને ન bitwise ઓપરેટરો શું છે?
અથવા તેઓ કેવી રીતે કોઈપણ રીતે તે ASCII સંબંધિત?
[વિદ્યાર્થી] હું supersection અંતે ન હતી, પરંતુ હું જાણું છું bitwise ઓપરેટરો શું છે.
ઠીક છે. તેથી પછી હું તેમને મૂળભૂત પર જાઓ નથી, પરંતુ હું સમજાવવું પડશે
અમે શું કરીએ અહીં ઉપયોગ કરવા માંગો છો જઈ રહ્યાં છો.
તેથી 'એ': એક મૂડી દ્વિસંગી રજૂઆત સંખ્યા 65 છે.
હું માત્ર જોવા જાઉં છું - 41 માટે 01000001 પ્રયત્ન રહ્યું છે.
જેથી 65 રેખાંશ હોવો જોઈએ; તેથી આ પાત્ર મૂડી એ નું બાઈનરી રજૂઆત છે
હવે, અક્ષર નું બાઈનરી રજૂઆત 'એ' લોઅરકેસ
છે એ જ વાત હોય, લગભગ જઈ રહી છે. કે છે - 6, હા. આ અધિકાર છે.
તેથી દ્વિસંગી મૂડી એ, દ્વિસંગી લોઅરકેસ 'એક.'
તેથી નોંધ્યું છે કે એ અને 'એ' આ એક બીટ છે. વચ્ચે તફાવત
અને આ 32 બીટ, જે 32 નંબર રજૂ બીટ બને છે.
અને તે અર્થમાં બનાવે છે કારણ કે એ 65 છે; 'એ' 97 છે.
તેમની વચ્ચે તફાવત 32 છે.
તેથી હવે અમે જાણીએ છીએ કે અમે એ માટે 'એ' ના એક લેતી દ્વારા રૂપાંતરિત કરી શકો છો
અને bitwise તે ORing સાથે - કે જે 1 જેમ દેખાય છે.
આ એક bitwise અથવા 00100000 છે, અને તે અમને આપીશું 'એક.'
અને અમે 'એ' થી bitwise ANDing દ્વારા મેળવી શકો છો
11, કે સ્થળ, 11111 માં 0 સાથે.
તેથી આ પછી અમને આપો ચોકકસ શું 'એ' હતું નહીં; પરંતુ આ વ્યક્તિગત બીટ રદ કરવા માટે,
તેથી અમે 01000001 પડશે; હું જો હું યોગ્ય ગણાશે જાણતા નથી.
પરંતુ bitwise ORing આ ટેકનિક મૂડી મેળવી કરવા માટે લોઅરકેસ,
અને bitwise માટે લોઅરકેસ મૂડી મેળવવા ANDing એ માટે અનન્ય નથી
અક્ષરો તમામ વિ k કે, Z વિ z,
તે બધા માત્ર આ એક બીટ દ્વારા અલગ પડે જતાં હોય છે.
અને તેથી તમે આ ઉપયોગ કોઈપણ લોઅરકેસ પત્ર માંથી કોઇપણ મૂડી પત્ર અને ઊલટું બદલી શકો છો.
ઠીક છે. તેથી આ મેળવવાની એક સરળ રસ્તો છે - તેથી બદલે કર્યા
બહાર લખી 1011111 ગમે છે - આ નંબર રજૂ એક સરળ રસ્તો છે, અને આ એક નથી
કે હું supersection માં ઉપર ગયા, પરંતુ ઝૂલતો ડેશ (~) અન્ય bitwise ઓપરેટર છે.
કરે ~ શું છે તે બીટ પ્રતિનિધિત્વ અંતે જુએ છે.
ચાલો કોઈપણ નંબર લે છે.
આ માત્ર કેટલાક બાયનરી નંબર છે, અને શું ~ છે એ નથી કે તે માત્ર બિટ્સ તમામ flips.
તેથી આ એક 1 હતી, હવે 0, આ 0 છે, હવે 1 એક, 010100.
તેથી કે તમામ ~ કરે છે. કે છૂટકારો મેળવવા - તો 32 માટે નંબર રહ્યું છે -
જેથી 32 માટે 00100000 નંબર રહ્યું છે, અને તેથી આ ~ થઇ રહ્યું છે
આ અહીં નંબર કે હું સાથે 'એ' ANDed.
નથી દરેકને કે જુઓ છો? આ એક ખૂબ સુંદર સામાન્ય જ્યારે તમે બહાર આકૃતિ માંગો છો, જેમ છે
પાછળથી વસ્તુઓ છે કે જે અમે, જોયા હોઈ શકે છે જ્યારે અમે જો જોવા માંગો છો માટે -
અથવા આપણે 1 સિવાય બધું, દરેક એક બીટ સેટ કરવા માંગો છો
તમે બીટ કે અમે સેટ જોઈતો નથી ઓફ ~ નથી કરતા હોય છે.
તેથી અમે 32 બીટ સેટ નથી માંગતા તેથી, અમે 32 ના ~ નથી.
ઠીક છે. તેથી અમે તે બધી અહીં ઉપયોગ કરી શકો છો.
બધા હક છે, તેથી તેને દંડ જો તમે ન થઈ જાવ, ત્યારે અમે ધીમે ધીમે ઉપર એકસાથે ચાલવા રહેશે,
અથવા આ પર ચાલવું, તેથી - આ મારફતે. આ લઈ જવામાં.
જેથી અમે અમારા શબ્દમાળા ધરાવે છે, અને અમે તે શબ્દમાળા દરેક અક્ષર પર લૂપ કરવા માંગો છો અને શું કરવું તે કંઈક.
તેથી અમે કેવી રીતે શબ્દમાળા પર લૂપ છે? અમે શું ઉપયોગ કરવો જોઇએ?
હું તે કરી અહીં નથી માંગવાનો. યાહ.
જેથી હું મારા iterator હોય છે, અને તે તેમણે જણાવ્યું હતું કે, પણ હું કેવી રીતે જાણી શકું કેટલા અક્ષરો શબ્દમાળા છે?
Strlen (ઓ), પછી હું + +.
તેથી હું અહીં કર્યું છે શું વસ્તુઓ કરવાનું શ્રેષ્ઠ રસ્તો નથી.
શું કોઇને ખબર શા માટે?
કારણ કે તમે શબ્દમાળા દરેક એક સમય ભાષા ચકાસણી કરી રહ્યા છીએ.
તેથી અમે માટે strlen ખસેડવા માંગો છો જવું છે, હું અહીં કહેવું શકે છે, પૂર્ણાંક લંબાઈ strlen = (ઓ),
અને પછી હું લંબાઈ <નથી, અને કદાચ તમને તે પહેલા જોઇ તે નથી,
હું પણ પૂર્ણાંક હું = 0 લંબાઈ, strlen = (ઓ). કરી શકે
અને તેથી આ કંઈક બહેતર છે, હવે ત્યારથી હું અવકાશ પ્રતિબંધિત કરી છે
આ ચલ લંબાઈ ફક્ત લૂપ 'માટે' આ બદલે, તે પહેલાં તેને જાહેર
અને તે હંમેશા હાજર હોય, અને કદાચ તમને શા માટે છે કે ખરાબ નથી પકડી નહોતી,
અથવા મૂળ ખરાબ, it's શા માટે હતી - લૂપ માટે શરૂ થાય છે.
હું શરત ચકાસાયેલ. છે મને ઓ લંબાઈ <?
તેથી ઓ લંબાઈ, ચાલો સાથે "હેલો" સમગ્ર સમય કામ કરે છે.
ઓ જેથી લંબાઈ,-h ઈ-l-l-o. લંબાઈ 5 છે.
તેથી હું = 0 લંબાઈ, 5 છે, તેથી હું 5 <ન હોવાથી, લૂપ ચાલુ રહે છે.
તો પછી અમે ફરી જાઓ. અમે સ્થિતિ તપાસો. છે મને હેલો લંબાઈ <?
તેથી આપણે હેલ્લો લંબાઈ તપાસો. H-ઈ-l-l-o. જે 5 છે; i 5 <નથી, તેથી અમે ફરીથી ચાલુ રાખો.
તેથી અમે ગણતરી કરવામાં આવે છે, અમે હેલ્લો ગણતરી કરવામાં આવે છે લૂપ દરેક ઇટરેશન માટે,
પણ એવું બદલવા માટે ક્યારેય ચાલી રહ્યું છે; તે હંમેશા માટે 5 જ હશે.
તેથી અમે ફક્ત ફ્રન્ટ અપ 5 યાદ રાખો, અને હવે બધું સારું.
જેથી સમગ્ર શબ્દમાળા પર વારો.
માટે અમે શું શબ્દમાળા દરેક અક્ષર માટે શું કરવા માંગો છો?
[વિદ્યાર્થી બોલવા, દુર્બોધ]
યાહ. તેથી, જો અક્ષર બિન આલ્ફાબેટીક છે, તો પછી અમે માત્ર તે ઉપર છોડી દેવા માગો છો.
કારણ કે અમે માત્ર આલ્ફાબેટીક અક્ષરો વિશે કાળજી; અમે નંબર ન લખવા કરી શકો છો.
તેથી અમે કેવી રીતે કરી શકો છો? અમારી સ્થિતિ તેથી, તેથી જો આપણે કંઈક કરવા માંગો છો - તપાસ જો તે મૂળાક્ષર છે.
કેવી રીતે અમે આ તપાસ કરી શકું?
[વિદ્યાર્થી] તમે ફક્ત વિધેય વાપરી શકે છે આલ્ફા છે.
છે કે આ ક્યાં, અથવા કોઇ પણ સમાવેશ થાય છે જેમ char.h, અથવા કંઈક સમાવેશ થાય છે?
તેથી અમે [i] ઓ હોય છે, - ચાલો આલ્ફા કાર્ય છે, અને સ્પષ્ટ ઉપયોગ ન ઉપયોગ
કે ઓ ના આઠમા અક્ષર છે તો યાદ રાખો કે એક શબ્દમાળા અક્ષરો ઝાકઝમાળ છે,
s ની આઠમી પાત્ર રહે છે.
હવે, જો તે મૂડી પત્ર છે, અમે જાણીએ છીએ કે તે એક ચોક્કસ શ્રેણી હોવી જોઇએ.
અને તે શ્રેણી શું છે?
યાહ. તેથી જો ઓ [i] 65 ≥, અને ઓ છે [i] 90 ≤ છે, હું શું તેના બદલે શું કરવું જોઈએ?
યાહ. તેથી તમે ચોક્કસપૂર્વક માટે ક્યારેક પણ ના ASCII કિંમતો ખબર પણ ક્યારેય જરૂર કરીશું.
લાગે છે ક્યારેય 65 નંબરો, 90, 97 અને 102, અથવા તે ગમે છે.
112 - - તમે જરૂર નથી? તમે બધા અંતે તે જાણવું જરૂરી નથી. કે ખોટું પણ છે.
માત્ર એક જ ક્વોટ અક્ષરો, એક ક્વોટ સ્થિરાંકો વાપરો. તેથી 'એ' અને 90 કરતાં ઓછી 'ઝેડ' છે
અને આ નોંધપાત્ર સારું છે - હું બોલ મારા માથા ઉપરની કે Z 90 નથી જાણી શકશે.
હું બોલ મારા માથા ઉપરની કે 'Z' મૂડી ઝેડ છે ખબર નથી
તેથી લાંબા તરીકે આ મૂડી એ મૂડી Z, અમે અથવા શ્રેણી છે લોઅરકેસ માટે ચકાસણી કરી શકો છો,
અથવા જો તે શ્રેણીમાં છે ≥ 'એ' અને ≤ z.
જેથી અમારી શરત છે.
જ્યાં આ વસ્તુઓ મૂકી કરવા માટે શૈલી બદલાય છે.
હું આ જેવા કરવું પડશે.
હવે, અમે શું કરવા માંગો છો?
અમે જાણીએ છીએ કે આ પત્ર એક અક્ષર છે, એક મૂળાક્ષર અક્ષર.
તેથી અમે શું આ હવે મૂડી પત્ર અથવા લોઅરકેસ પત્ર પ્રયત્ન કરીશું વચ્ચે આવનજાવન કરવાની જરૂર છે.
અમે ટ્રેક એક છે જે આપણે તેને કેવી રીતે કરવા માંગો છો રાખવા છે?
[વિદ્યાર્થી અવાજો, દુર્બોધ]
તેથી હા દો, પરંતુ મને તપાસો.
0-2 મોડ્યુલ કહ્યું હતું, તો બહાર ફેંકી સૂચન હતું, અને હું સાથે સંમત છો.
સૂચના સિવાય કે, જેમ - આ કેસ છે? યાહ.
તે દરેક અન્ય એક છે, પરંતુ અમને i ની 2 મોડ્યુલ કરી શકો છો, અથવા i 2 મોડ, કારણ
નોંધ્યું છે કે ઇ રાજધાની છે અને 'એ' લોઅરકેસ છે? પરંતુ તેમને અલગ જગ્યા છે?
તેથી તેઓ એ જ 2 મોડ પ્રયત્ન જઈ રહ્યાં છો, પરંતુ તેઓ અલગ કિસ્સાઓમાં છો.
[વિદ્યાર્થી પ્રશ્ન, દુર્બોધ]
યાહ. તેથી અમે માત્ર એક ગણતરી રાખી રહ્યા છીએ.
અમે પણ અહીં કે કરી શકે જો આપણે ઇચ્છતા; કે થોડો અતિભારે વિચાર કરી શકે છે
લૂપ જાહેરાતો માટે છે; હું તેને મૂકવા અહીં પડશે.
તેથી પૂર્ણાંક ગણતરી = 0 અંતે શરૂ થાય છે.
અને તેથી હવે, હું ગણતરી કેટલા મૂળાક્ષર અક્ષરો અમે પડ્યું જાઉં છું.
તેથી અમે અનાવશ્યક ગણતરી + + થી આપણે બીજું મૂળાક્ષર અક્ષર મળી રહ્યા છીએ.
પરંતુ, તેથી હવે તમે જો ગણતરી 2 મોડ કહી રહ્યાં છે.
તેથી શું ગણતરી 2 મોડ જો? ઓહ. હું હવે માટે 0 == કરવું પડશે.
અમે પણ તપાસવું કે પડશે. તેથી ગણતરી 2 મોડ 0 == જો, પછી શું?
[જવાબ વિદ્યાર્થીઓ, દુર્બોધ]
તેથી અમે તે મોટા અંત કરવા માંગો છો.
ત્યાં 2 કિસ્સાઓમાં છે; મોટા અને નાના એ 2 કેસો છે.
તેથી જો આપણે નાના છો તો અમે તેને મોટા કરવાની જરૂર છે.
જો તે મોટા અમે કંઈ પણ કરવા માટે જરૂર નથી.
પરંતુ, ત્યાં એક રસ્તો છે - shouldn't ઘસવું છે -
કે અમે પણ તપાસો કે તે અપરકેસ અથવા લોઅરકેસ નથી જરૂર છે?
માટે અમે શું હંમેશા ખાતરી કરો કે આપણે હંમેશા મોટા અંતે અંત બનાવવા કરી શકો છો?
તેથી નોટિસ આપણે શું લોઅરકેસ 'એ' માટે કર્યું; શું જો અમે આ જ ચોક્કસ વસ્તુ હતી એ મોટા?
ફેરફારથી મોટા કરે છે, અથવા કિંમત ફેરફાર કરે છે?
યાહ. તેથી કોઈપણ મૂડી પત્ર 32 ~ સાથે ANDed bitwise માટે તે જ મોટા અક્ષર હોવો રહ્યું છે
કારણ કે કોઇ પણ મોટા અક્ષર માટે 32 મા બીટ સેટ નથી.
તેથી જો આપણે પાત્ર ઓ [i], અમે તેને લોઅરકેસ અથવા મોટા બનવા માટે કરવા માંગો છો લાવવા માંગો છો.
તેથી જો તે લોઅરકેસ હતું, તે હવે મોટા, જો તે મોટા હતું, તે હજુ મોટા, અને તે છે.
હું supersection આ જણાવ્યું હતું કે: તમે 32 વાપરો જો તમે ઇચ્છો કરી શકો છો, પરંતુ હું 'એ' કરી પસંદ કરે છે - એ,
માત્ર સાદા 32 બદલે, કારણ કે તે અન્ય કોઈપણ બિટ હોઈ શકે છે.
આ 32 બીટ કર્યા પછી, તે આ કોઇ હોઇ શકે, અથવા અમારી પાસે પર્યાપ્ત નહિ
આ અક્ષરો તમામ પ્રતિનિધિત્વ નંબરો.
તેથી જો તમે 32 બીટ વિચાર, તે 64 બીટ હોઇ શકે છે, તે 128 બીટ હોઈ શકે છે.
તે બિટ્સની કોઈપણ બિટ કે મોટા અને નાના વચ્ચે અલગ હોઈ શકે છે.
હું જાણું છું કે તે 32 બીટ નથી કરવો જોઈએ.
હું આ 'એ' નો ઉપયોગ કરી શકો છો - બિટ કે બે વચ્ચે અલગ પડે છે વિચાર
આ જાદુ નંબર છે કે જે 32 છે પર આધાર રાખે જરૂર વગર.
અને તેથી હવે, બીજું ગણતરી વિચિત્ર હતી, અને તેથી હું શું કરવા માંગો છો?
[વિદ્યાર્થી જવાબો, દુર્બોધ]
[વિદ્યાર્થી] કે શું છે?
હું તેને 1 સેકન્ડમાં કરશે.
તેથી હવે જો હું કરવા માંગો છો - હું ખાતરી કરવા માટે અક્ષર હવે નાના બનાવવા માંગો છો,
અને તેથી હું અથવા 32 દ્વારા કરી શકો છો, અને 32 અર્થ 'એ' - એ
પરંતુ પાછલા એક જેવી જ તર્ક દ્વારા નોટિસ કે, જો
અક્ષર પહેલાથી જ લોઅરકેસ, પછી ORing 32 દ્વારા માત્ર રાખે તે લોઅરકેસ.
તે મૂળ અક્ષર નથી બદલાઈ ગયેલ છે.
પરંતુ હવે હું એ કહીને કે, "જો તે લોઅરકેસ છે, ફક્ત તે વિશે ભૂલી જાઓ ટાળવા નથી,
જો તે મોટા છે, પછી તે બદલો. "
તે વધુ અનુકૂળ આ કરવા માટે છે.
[વિદ્યાર્થી] આ લોઅરકેસ વર્ક ના મોટા બાદબાકી જો તે 32 ન હતા કે વ્યૂહરચના વૂડ?
જો તે, પસંદ, 34 અથવા કંઈક?
તેથી, તમે જાણો છો કે આ 2 વચ્ચે તફાવત હોય છે જરૂર -? >> Bit 1.
તેને 1 કરતાં વધુ બીટ હોઇ શકે છે, જ્યાં સુધી આ સ્થિતિ નીચે બિટ્સ તમામ સમાન છે શકે છે.
તેથી અમે 26 ઓછામાં ઓછા અક્ષરો જરૂર છે - અથવા, ત્યાં 26 અક્ષરો છે.
તેથી અમે 26 ઓછામાં ઓછા નંબરો જરૂર તફાવત પ્રતિનિધિત્વ -
A અને 'એ' માટે 26 ઓછામાં ઓછા ધરાવે છે, વચ્ચે તફાવત
અથવા અન્ય અમે તમામ મૂડી નંબરો ન રજૂ કરશે.
એટલે કે એ, જો આપણે 1 શરૂ થાય છે, તે આ બિટ્સ ઉપયોગ કરો ચાલી રહ્યું છે,
આ પહેલાં 5 બિટ્સ માટે ઝેડ મારફતે બધું પ્રતિનિધિત્વ તમામ
જે આગામી શા માટે બીટ, અથવા આ બીટ છે, આગામી બીટ એ છે કે જે માટે અને વચ્ચે તફાવત પસંદ છે છે 'એક.'
કે શા માટે પણ છે, તે ASCII કોષ્ટકમાં, ત્યાં 5 લોઅરકેસ અક્ષરો મૂડી અક્ષરો અલગ પ્રતીક છે.
ત્યારથી તે સંકેતો, વધારાની 5 કે લાવે તો તેમને 32 વચ્ચે તફાવત રહેલા છે.
[વિદ્યાર્થી] તેથી અમે તેને કરવા માટે, કારણ કે તે ASCII કે માર્ગ રચાયેલ છે શકે છે.
હા. પરંતુ તે ASCII - તફાવત પણ આ બિટ્સ બંને હોઈ શકે છે.
જેમ કે, જો એ 10000001 હતા, અને 'એ' 11100001 હતા - મને ભૂલી જાઓ, ગમે.
એ - પરંતુ જો તે આ હતા, તો પછી અમે 'એ' હજી પણ ઉપયોગ કરી શકે છે
તે માત્ર હવે એ અને 'એ' હજુ પણ આ 2 બીટ્સ વચ્ચે તફાવત છે.
મને લાગે છે કે તે 48 લખાયેલો છે. તે 32 + 64? મને લાગે છે કે તે શું છે?
દરેક એક અક્ષર, પસંદ, Z અને z કે, અને k; તે હજુ 2 બીટ્સ હશે
તેઓ હજુ પણ એ જ ચોક્કસ તે 2 બીટ્સ સિવાય સેટ બિટ્સ હશે.
તેથી લાંબા તે હંમેશા સાચું, અનુલક્ષીને જો આપણે તે ASCII અથવા અમુક અન્ય સિસ્ટમની મદદથી કરી રહ્યા છો,
સુધી ત્યાં માત્ર બિટ્સ કે દરેક અક્ષર માટે અલગ છે સમૂહ નંબર છે,
પછી તે દંડ કામ કરે છે.
તે માત્ર છે કે 32 સેટ કરવામાં આવી હતી કારણ કે તે પ્રથમ એક અમે કદાચ તેનો ઉપયોગ કરી શકે છે. કૂલ. >>
હું પ્રાધાન્ય આપો, તો કદાચ તમને જોઈ નથી, જો બ્લોક માત્ર એક જ વાક્ય છે છે છે,
તમે સર્પાકાર કૌંસ છૂટકારો મેળવી શકે છે; તેથી હું આ કરી પસંદ કરે છે.
પણ, તમને ખબર કેવી રીતે અમે ઓ [i] + = 1 જેવી વસ્તુઓ કરી શકો છો?
તમે પણ ઓ [i] bitwise અને 32 =. કરી શકો છો
અને bitwise અથવા 32 =.
પણ, 2 મોડ == 0 ગણતરી.
જેથી યાદ - હું તે નથી લખશે - કોઈપણ કિંમત બિન શૂન્ય સાચું છે, અને 0 ખોટું છે.
તેથી "ગણતરી 2 મોડ જો 0 ==" કહેતા તરીકે જ છે, "જો 2 મોડ ગણતરી નથી."
હું કદાચ ફક્ત રેખાઓ ઉલટી થશે અને કહ્યું કે, "જો ગણતરી 2 મોડ,
તે અથવા 1, બીજું એ અને 1, તો "કે જેથી હું જરૂર ન આપી નથી". "
પરંતુ આ જ રીતે કામ કરે.
અને બીજું શું હું અહીં શું કરી શકો છો?
તમે તેમને ત્રણ ભાગનું બનેલું સાથે ભેગા જો તમે ઇચ્છતા હતા, પરંતુ પછી શકે કે જે હમણાં જ વસ્તુઓ messier કરો છો
અને કદાચ વધુ વાંચો મુશ્કેલ છે, તેથી અમે તે કરીશું નહીં.
કોઈપણ કોઈપણ અન્ય સૂચનો છે?
છે કે બધી સમસ્યા માટે પૂછવામાં? હા ઓહ.
તેથી આ ખાલી લીટીઓ છૂટકારો મેળવવા માટે, હવે અમે એફ,% s છાપો પડશે શબ્દમાળાઓ માટે એક છે,
અમે એફ છાપો, ઓ આવશે.
હવે આપણે તેના ચલાવો. શું હું કશું ખોટું છે?
કે જે \ છે "; હું n માંગો છો.
ઠીક છે. હવે અમે તેને ચલાવવા પડશે. તે કદાચ મને અંતે કિકિયારી પડશે.
Strlen string.h છે.
તેથી આ છે રણકાર વિશે સરસ વસ્તુ છે તે તમને કહે છે તે શું કરે છે,
તેના બદલે GCC ને જે ફક્ત કહે છે, "અરે, તમે કંઈક ભૂલી ગયા છો, મને ખબર છે કે તે શું હતું નહિં."
, પરંતુ આ મને કહેશે "તમે string.h સમાવેશ થતો હતો."
તેથી મેં કંઈપણ કરવા માટે પૂછતી નહોતી, તેથી તે કંઇ નથી કહેતા છે.
પરંતુ, "4 ઉમેરો આભાર" અમે તેમની ઉદાહરણ કરવું પડશે.
તે બરાબર દેખાય છે. હુરે.
તેથી તમારા મુખ્ય પરત, હું લગભગ તે ક્યારેય નથી.
તે વૈકલ્પિક છે. અને મુખ્ય માત્ર કાર્ય જેના માટે તે વૈકલ્પિક છે.
જો તમે કંઈપણ મુખ્ય નથી પાછા નથી, એવું મનાય છે કે જે તમે 0 પાછા હતા.
પ્રશ્નો?
ઠીક છે. તેથી હવે બીજા સમસ્યા.
"પસાર કરીને સપ્તાહ હિસ્સો 2 બીજા વ્યાખ્યાન કે 2 'ચલો કિંમતો જેઓ માંથી રિકોલ
એક કાર્ય (જો સ્વેપ તરીકે ઓળખાય છે) તે 2 ચલો બરાબર ઓછામાં ઓછા વિના નથી, કામ 'પોઇન્ટર.' નથી "
અને પોઇંટરો અવગણો સુધી અમે તેમને મેળવો.
અમે 2 ચલો સ્વેપ કરવા માંગો છો; અમે કાર્ય નથી વાપરી તે કરવા કરી રહ્યા છો.
અમે હજુ પણ મુખ્ય કરતા હો તે કહે રહ્યા છીએ.
પરંતુ તે 2 ચલો વાપરવા માટે, અમે એક કામચલાઉ ચલ વાપરવા માંગો નહિં.
ત્યાં 2 આ કરવા માટે માર્ગો છે.
તમે તે કરી તમારા પરંપરાગત દ્વિસંગી ઓપરેટર્સનો ઉપયોગ કરી શકો છો.
તેથી તે કોઈપણ કરવાનું ઝડપી અને ગંદા રીતે ખબર નથી?
વાસ્તવમાં તે વિચારના એક મિનિટ લાગી શકે છે. હું હોય તો -
હું સમસ્યા સુયોજિત જેમ તેઓ કહીશું. તેથી જો હું 2 ચલો છે, એ છે, કે જે ફક્ત એક પૂર્ણાંક છે
કે તેઓ મને આપે છે, અને રકમ ચલ બી, જે અન્ય પૂર્ણાંક છે કે જે હું છું આપવામાં આવે છે.
તેથી જો હું આ 2 ચલો છે, હવે હું તેમને સ્વેપ કરવા માંગો છો.
પરંપરાગત, તમારા નિયમિત દ્વિસંગી ઓપરેટર્સનો ઉપયોગ, હું તેનો અર્થ, +, જેમ કે -, ÷.
જવાબ નથી bitwise ઓપરેટરો કે જે બાઈનરી પર કામ કરે છે.
, +, ÷, બધા અને તે છે - તેથી મદદથી.
અમે કંઈક કરવાથી સ્વેપ કરી શકે છે = એક + b, અને b = એક - બો, એક = એક - બી.
તેથી, સેનીટી ચકાસો, અને પછી અમે તે શા માટે કામ કરે છે જોશો.
હવે કહો કે એક = 7, બી = 3, પછી + b થી 10 પ્રયત્ન રહ્યું છે.
તેથી અમે હવે = 10 સુયોજિત કરી રહ્યાં છો, અને પછી અમે બો = એક કરી રહ્યા છીએ - બી.
તેથી અમે કરી રહ્યા છીએ બો = એક - બો છે, કે જે 7 હોઇ શકે રહ્યું છે, અને b = એક - ફરી બો,
અથવા = એક - બી. 7 જે 3 છે - જે 10 પ્રયત્ન રહ્યું છે.
તેથી હવે યોગ્ય રીતે 'એ', 7 હતી, બો 3 હતું, અને હવે બોલ્ડ 7 છે અને 'એ' 3 છે.
જેથી પ્રકારની અર્થમાં બનાવે છે; 'એ' એ 2 નંબરો મિશ્રણ છે.
આ બિંદુએ 'એ', સંયોજન છે, અને પછી અમે મૂળ બો બાદબાકી કરી રહ્યાં છો,
અને પછી અમે બાદબાકી કરી રહ્યાં છો શું મૂળ હતી 'એક.'
પરંતુ આ બધી સંખ્યાઓ માટે કામ કરતું નથી.
આ જુઓ, ચાલો સિસ્ટમ ગણે છે; જેથી અમે સામાન્ય રીતે 32 બિટ્સ તરીકે પૂર્ણાંકોના વિચારો.
ચાલો કંઈક છે જે 4 બીટ્સ જેવી માત્ર પર કામ કરે છે.
આસ્થાપૂર્વક હું એક સારું ઉદાહરણ સાથે હમણાં આવે છે.
તેથી મને ખબર છે, આ સરળ હશે.
હવે કહો કે અમારી 2 નંબરો 1111, અને 1111 છે; જેથી અમે દ્વિસંગી માં હમણાં છો.
વાસ્તવિક દશાંશ માં, જો તમે તેને તે રીતે લાગે કરવા માંગતા હો, 15 = અને = b 15.
અને તેથી અમે અપેક્ષા, પછી અમે તેમને સ્વેપ - તેઓ પણ એ જ નંબર ન હોય,
પરંતુ મેં આ રીતે કર્યું હતું.
ચાલો તેમને જ નંબરો કરી નથી. હિસ્સો 1111 અને 0001 દો.
તેથી = 15 અને બોલ્ડ = 1.
પછી અમે તેમને સ્વેપ, અમે 'એ' માટે 1 પ્રયત્ન અને બોલ્ડ 15 હોઈ અપેક્ષા.
તેથી અમારા પ્રથમ પગલું છે = એક + + બી.
અમારા નંબરો માત્ર 4 બિટ્સ વિશાળ છે, તેથી 'એક' છે, જે 1111 છે + b, જે 0001 છે,
છે અંત 10000 હોવાની જવાનું, પરંતુ અમે માત્ર 4 બિટ્સ હોય છે.
તેથી હવે = 0.
બો - - વાસ્તવમાં, આ હજી પણ સંપૂર્ણપણે કામ કરે છે અને હવે અમે સુયોજિત બો = એક કરવા માંગો છો.
એક = એક - બાય - ચાલો જોવા જો આ બહાર સંપૂર્ણપણે કામ કરે છે.
તેથી પછી બો = 0 - 1, કે જે હજુ પણ 15 રહેશે અને તે પછી એક = એક - બો છે, કે જે 1 હશે.
કદાચ આ કામ કરે છે.
મને લાગે છે કે ત્યાં એક કારણ તે નિયમિત ઉપયોગ કરીને કામ કરતું નથી છે.
ઠીક છે, જેથી ધારણા છે કે તે નિયમિત દ્વિસંગી કામગીરી સાથે કાર્ય કરતું નથી ઉપર કામ
અને હું જોવા માટે કરશે - હું જોવા માટે જો તે સાચું છે Google આવશે.
તેથી અમે તે કરવા bitwise ઓપરેટર્સનો ઉપયોગ કરવા માંગો છો, અને અંહિ ચાવી XOR છે.
તેથી, XOR (^) દાખલ જો તમે તેને હજુ સુધી જોઇ ન હોય.
તે છે, ફરી એક bitwise ઓપરેટર તેથી તે બીટ, અને it's દ્વારા બીટ કામ કરે છે -
જો તમે 0 અને 1 બિટ્સ હોય, તો પછી આ 1 હશે.
જો તમે 1 બિટ્સ અને 0 હોય, તો તેને 1 હશો, તો તમે 0 બિટ્સ અને 0 0 હશો તે હોય,
અને જો તમે 1 બિટ્સ અને 1 ધરાવે છે તે 0 હશો.
તેથી તે જેમ છે અથવા. જો બિટ્સની ક્યાં સાચું હોય, તો તે 1, પરંતુ અથવા વિપરીત, તે બંને બીટ્સ કે સાચું છે ન હોઈ શકે.
અથવા આ છે 1 હશે, XOR હશે આ 0 છે.
તેથી અમે માટે XOR અહીં ઉપયોગ કરવા માંગો છો જઈ રહ્યાં છો.
એક મિનિટ માટે તે વિશે વિચારો; હું Google પર જાઉં છું.
વેલ, તમે તે વાંચી શકો છો; હું XOR સ્વેપ અલ્ગોરિધમનો પૃષ્ઠ પર હાલમાં છું.
આસ્થાપૂર્વક આ શા માટે હું can't સમજાવશે -
આ બરાબર અલગોરિધમ કે અમે હમણાં જ કર્યું છે.
હું હજુ પણ શા માટે દેખાય નહિં - હું માત્ર એક ખરાબ ઉદાહરણ છે લેવામાં જોઇએ,
પરંતુ આ કિસ્સામાં જ્યાં 'એ' માટે 0 બની જાય છે, 5 બિટ્સ માટે મેળવવામાં પછી, તેથી હવે 'એ' 0 છે થયું,
એટલે કે શું કહે છે "પૂર્ણાંક ઓવરફ્લો."
વિકિપીડિયા અનુસાર, "આ XOR સ્વેપ જેમ નહિં પણ, આ તફાવત માટે જરૂરી છે કે તેમાં કેટલીક પદ્ધતિઓ વાપરે છે
ગેરંટી આપવી કે એક્સ + + વાય પૂર્ણાંક ઓવરફ્લો થતા નથી. "
તેથી આ સમસ્યા હોય છે; આ પૂર્ણાંક ઓવરફ્લો હતી, પરંતુ હું કંઇક ખોટું કર્યું.
મને ખાતરી છે કે નથી. હું એક બીજા સાથે આવવા પ્રયાસ કરીશું.
[વિદ્યાર્થી] સારું, પૂર્ણાંક ઓવરફ્લો જ્યારે તમે ત્યાં એક નંબર મૂકવા પ્રયાસ કરી રહ્યા છો નથી
બિટ્સ જથ્થો તમે ફાળવવામાં કરતાં મોટી?
યાહ. અમે 4 બિટ્સ હોય છે. That's - અમે 4 બિટ્સ હતી, અમે પછી તે માટે 1 ઉમેરવા પ્રયત્ન કરો, જેથી અમે 5 બિટ્સ સાથે અંત.
પરંતુ પાંચમી બીટ માત્ર કાપી નહીં, હા.
વાસ્તવમાં તે કદાચ -
[વિદ્યાર્થી] કે તમે શું ભૂલ ફેંકવું, અથવા તે કરે છે - જે એક ભૂલ ફેંકવું છો?
નંબર તો ત્યાં કોઈ ભૂલ છે. જ્યારે તમે વિધાનસભા સ્તર મેળવવા માટે, ખાસ બીટ
ક્યાંક સેટ છે કે જણાવ્યું હતું કે ત્યાં એક ઓવરફ્લો હતી, પરંતુ સી તમે પ્રકારની માત્ર કે સાથે વ્યવહાર નથી.
તમે ખરેખર તેની સાથે વ્યવહાર નથી જ્યાં સુધી તમે સી ખાસ વિધાનસભા સૂચનો ઉપયોગ કરી શકો છો
ચાલો XOR સ્વેપ વિશે વિચારો.
અને મને લાગે છે કે વિકિપીડિયા લેખ પણ શકે કરવામાં કહેતા છે કે -
તેથી તે પણ મોડ્યુલર અંકગણિત લાવવામાં, તેથી મને લાગ્યું કે હું હતો, સિદ્ધાંત મુજબ, મોડ્યુલર અંકગણિત કરી
જ્યારે હું જણાવ્યું હતું કે, 0 - 1 15 ફરી છે.
જેથી ખરેખર કદાચ - 1 = 15 - એક નિયમિત પ્રોસેસર છે કે 0 કરે છે.
કારણ કે આપણે 0 અંતે અંત, અમે 1 સબ્ટ્રેક્ટ છે, તેથી તે પછી તે માત્ર આસપાસ 1111 પર પાછા વિંટાળે છે.
તેથી આ અલ્ગોરિધમનો ખરેખર કામ કરે છે, એક + b, એક શકે છે - બો, બી - એક; કે દંડ થઇ શકે છે.
પરંતુ અમુક પ્રોસેસરો જે નથી, અને તેથી તે તે ચોક્કસ મુદ્દાઓ માં દંડ નહિં હોય.
XOR સ્વેપ કોઈપણ પ્રોસેસર પર કામ કરશે. ઠીક છે.
આ વિચાર એ છે કે તે એ જ હોઇ શકે છે, જોકે માનવામાં આવે છે.
અમે XOR જ્યાં વાપરી રહ્યા હોય કોઈક 1 ચલો બની બંને ની માહિતી મેળવી,
અને પછી વ્યક્તિગત વેરિયેબલ્સ માહિતી ફરીથી ખેંચો.
તેથી કોઈને વિચારો / જવાબ નથી?
[વિદ્યાર્થી જવાબ, દુર્બોધ]
તેથી આ કામ કરે છે, અને તે પણ, XOR પરિવર્તનીય છે કરીશું.
અનુલક્ષીને ક્રમ કે જેના આ 2 નંબરો માટે અહીં હોવા થાય છે,
આ પરિણામ એ જ પ્રયત્ન રહ્યું છે.
તેથી ^ બો છે બો ^ એ.
તમે પણ જુઓ આ પરચૂરણ શકે છે એક ^ = b, બી ^ = એક, એક ^ = ફરીથી બી.
તેથી આ અધિકાર છે, અને તે જોવા માટે આ શા માટે કામ કરે છે, બિટ્સ લાગે છે.
એક smallish નંબરનો ઉપયોગ કરીને, ચાલો 11001, અને 01100 કહો.
તેથી આ 'એ' હોય છે; આ બોલ્ડ છે.
તેથી ^ = બો.
અમે સુયોજિત આ 2 વસ્તુઓ ના XOR માટે 'એ' = શકાય જઈ રહ્યાં છો.
1 તેથી 0 ^ 1 છે; 1 ^ 1 0 છે; 0 ^ 1 1 છે, અને 0 ^ 0 0 છે; 1 ^ 0 1 છે.
તેથી 'એક,' જો તમે રેખાંશ નંબર પર જુઓ, તે જ હશે -
તમે મૂળ 'એ' અને નવા વચ્ચે સંબંધ ખૂબ જોવા નથી જવું 'એક' કરી રહ્યાં છો
પરંતુ બિટ્સ જોઈ 'એ', જે માહિતી એક જાળીદાર જેમ હવે
બંને મૂળ 'એ' અને મૂળ બો.
તેથી જો આપણે બો ^ એક, અમે જુઓ કે અમે મૂળ અંતે અંત પડશે 'એક.' લઇ
અને જો આપણે લઇ મૂળ 'એ' ^ નવા 'એક,' અમે જોવા અમે મૂળ બો અંતે અંત.
તેથી (એક ^ ખ) ^ બો = મૂળ 'એક.'
(અને ^ ખ) ^ એક = મૂળ બો.
ત્યાં છે - જોઈને આ કંઈપણ XOR પોતે છે બીજી રીતે હંમેશા 0 હોય છે.
1101 તેથી 1101 ^, બધા બિટ્સ જ હશે આવે છે.
તેથી ત્યાં એક કેસ જ્યાં 1 છે 0 અને 1 અન્ય છે ક્યારેય ચાલી રહ્યું છે.
તેથી આ 0000 છે.
આ સાથે જ. (એક ^ ખ) ^ બો જેવી છે ^ (બો ^ ખ).
(ખ બો ^) માટે 0 હશે છે; 0 ^ માત્ર પ્રયત્ન 'એક' રહ્યું છે કારણ કે બધા બિટ્સ 0 છે.
જેથી માત્ર મુદ્દાઓ કે જે પ્રયત્ન જવું છે જ્યાં 'એ' મૂળ હતી 1 એક - મુદ્દાઓ હતા.
અને તે જ અહીં વિચાર; હું ખૂબ ખાતરી કરો કે તે પણ પરિવર્તનીય છું.
યાહ. હું કહું છું કે નહોતી તે પહેલાં પરિવર્તનીય હતી.
આ ^ 'એક' અને તે સાહચર્યાત્મક છે, તેથી હવે (ખ ^) એક ^ એ.
અને અમે બો ^ (^ ની એક). કરી શકો છો
અને તેથી ફરી, અમે મૂળ બો મેળવો.
તેથી 'એ' હવે 'એ' બોલ્ડ અને એકસાથે સંયોજન છે.
અમારા નવા કોમ્બો ઉપયોગ કરીને 'એ', અમે કહીએ છીએ બો = કોમ્બો 'એ' ^ મૂળ બો, અમે મૂળ વિચાર 'એક.'
અને હવે = કોમ્બો 'એ' ^ નવા બો છે, જે મૂળ હતો - અથવા જે હવે શું 'એ' અથવા બો હતી.
કે આ કેસ અહીં નહીં. આ = b, જૂની બો છે.
તેથી હવે બધું તો સ્વૅપ ક્રમમાં પાછળ છે.
જો આપણે ખરેખર બિટ્સ તપાસ્યા હતા, બો = એક ^ બોલ્ડ માટે 2 આ XOR રહ્યું છે,
અને જવાબ માટે આ પ્રયત્ન રહ્યું છે, અને પછી એક = એક ^ બો આ 2 XORing છે અને જવાબ આ છે.
પ્રશ્નો? ઠીક છે. જેથી છેલ્લા એક કેટલેક અંશે નોંધપાત્ર મુશ્કેલ છે.
[વિદ્યાર્થી] હું માનું છે કે તે તેના વિશે પ્રશ્ન છે. >> ઓહ, માફ.
[વિદ્યાર્થી] શું ખરેખર છે ઝડપી? જો તમે આ XOR વાપરો, અથવા તે છે જો તમે નવી ચલ જાહેર?
તેથી શું ખરેખર ઝડપી છે, એક નવી ચલ જાહેર અથવા XOR મદદથી સ્વેપ?
જવાબ બધા શક્યતા છે, એક હંગામી ચલ.
અને કારણ કે એકવાર તે નીચે સંકલિત છે - એસેમ્બલી સ્તરે તેથી,
ત્યાં કોઈ સ્થાનિક ચલો, અથવા કોઇ કામચલાઉ ચલો અથવા આ સામગ્રી કોઈપણ જેમ કે વાત છે.
તેઓ માત્ર માંગો કરી રહ્યા છીએ - ત્યાં મેમરી છે, અને ત્યાં રજીસ્ટર છે.
રજિસ્ટર્સ છે જ્યાં વસ્તુઓ સક્રિય થાય છે.
તમે મેમરી 2 માં વસ્તુઓ ઉમેરી નથી; તમે રજીસ્ટર 2 માં વસ્તુઓ ઉમેરો.
અને તમે રજીસ્ટર માં મેમરી માંથી વસ્તુઓ લાવવા માટે પછી તેમને ઉમેરવા માટે,
અને પછી તમે તેમને પાછી ફેરવી મેમરીમાં શકે છે, પરંતુ તમામ ક્રિયા રજિસ્ટર બને.
તેથી જ્યારે તમે કામચલાઉ ચલ અભિગમ ઉપયોગ કરી રહ્યાં છો, સામાન્ય રીતે થાય છે શું છે
આ 2 નંબરો રજિસ્ટર પહેલેથી જ છે.
અને પછી, પછી તમે તેમને સ્વૅપ કર્યું છે કે બિંદુ પરથી,
તે માત્ર અન્ય રજીસ્ટર મદદથી શરૂ કરી શકશો.
તમે ગમે ત્યાં બો નો ઉપયોગ કર્યો હતો, તે ફકત રજિસ્ટર કે જેઓ પહેલાથી સ્ટોર કરવામાં આવ્યું હતું ઉપયોગ કરશો 'એક.'
તેથી તે માટે ખરેખર સ્વેપ કરવા કંઇપણ જરૂર નથી. યાહ?
[વિદ્યાર્થી] પરંતુ તે પણ વધુ મેમરી અધિકાર લે છે,?
તે માત્ર ત્યારે જ વધુ મેમરી લેવાં જોઈએ, જો કે કામચલાઉ ચલ સ્ટોર કરવાની જરૂર પડશે.
ગમે જો તમે તે પછી કામચલાઉ ચલ ફરી ક્યાંક વાપરવા માટે,
પછી - અથવા તમે કે કામચલાઉ ચલ કંઈક સોંપો.
તેથી સમય 'એક' કામચલાઉ નોકર માં બો કોઈપણ બિંદુએ જો અલગ મૂલ્યો અથવા કંઈક હોય છે,
પછી તે મેમરીમાં અલગ સ્થળોએ હોય ચાલી રહ્યું છે, પરંતુ તે વાત સાચી છે કે
ત્યાં ઘણા સ્થાનિક ચલો કે જે માત્ર રજિસ્ટર માં હાજર હોય છે.
, કે જે કિસ્સામાં તે મેમરીમાં ક્યારેય મૂકી છે અને જેથી તમે ક્યારેય મેમરી બગાડ કરી રહ્યા છો.
ઠીક છે. છેલ્લા પ્રશ્ન થોડો વધુ છે.
અહીં, આ CS50 સાધન છે, ત્યાં એક શબ્દકોશ છે.
અને આ કારણ છે કારણ કે [? B66] એક સ્પેલચેકરરૂપરેખાંંકિતકરો જ્યાં તમે લખી આવશે છે
હેશ કોષ્ટકો અથવા પ્રયત્નોમાં અથવા અમુક માહિતી માળખું મદદથી.
તમે એક સ્પેલચેકરરૂપરેખાંંકિતકરો લખી શકાય જઈ રહ્યાં છો, અને તમે આ શબ્દકોશ ઉપયોગ કરી કે શું રહ્યા છીએ.
પરંતુ આ સમસ્યા માટે, અમે માત્ર લુકઅપ માટે જુઓ જો એક શબ્દ કોશ છે જવું છે.
તેથી તેના બદલે અમુક માહિતી માળખું સમગ્ર શબ્દકોશ સ્ટોર કરવાનો
અને પછી સમગ્ર દસ્તાવેજ પર શોધી જોવા માટે જો કાંઇ ખોટીજોડણીવાળું છે,
અમે ફક્ત માટે 1 શબ્દ શોધવા માંગો છો. તેથી અમે માત્ર સમગ્ર શબ્દકોશ સ્કેન કરી શકે છે
અને જો આપણે સમગ્ર શબ્દકોશ શબ્દ શોધવા ક્યારેય, પછી તે ત્યાં ન હતો.
જો અમે સમગ્ર શબ્દકોશ ઉપર સ્કૅન અને શબ્દ નથી, જુઓ તો અમે સારા છીએ, અમે તેને જોવા મળે છે.
અહીં કહે છે કે અમે સી કાર્ય ફાઈલ હેન્ડલિંગ જોઈ શરૂ કરવા માંગો છો,
કારણ કે અમે શબ્દકોશ વાંચી માંગો છો,
પરંતુ હું કાર્યો તમે લાગે કરીશું કે જે તરીકે સંકેતની અહીં આપશે.
હું તેમને સ્પેસીસ પર લખી શકશો.
તેથી મુખ્ય તમે જેના માટે ખુલ્લા અને પછી એફ, સ્વાભાવિકપણે, એફ બંધ જોવા માંગો છો પડશે,
કે જે તમારી કાર્યક્રમ ઓવરને અંતે જાઓ, અને એફ સ્કેન એફ.
તમે પણ ઉપયોગ કરી શકે છે એફ વાંચી પરંતુ તમે કદાચ નથી માંગતા
કારણ કે - તમે ન અંત છે કે જરૂર નથી.
એફ સ્કેન એફ છે તમે શું કરવા પર શબ્દકોશ સ્કેન ઉપયોગ કરી રહ્યા છીએ.
અને તેથી તમે આ ઉકેલ કોડ જરૂર નથી, માત્ર પ્રયાસ અને સ્યુડો કોડ માંગો તમારા માર્ગ
ઉકેલ માટે અને પછી અમે તેને ચર્ચા કરીશું.
અને ખરેખર, કારણ હું પહેલેથી જ તમને આ આપ્યો હતો, જો તમે કોઈપણ ટર્મિનલ અથવા તમારા ઉપકરણ શેલ જાય,
હું કરશે - સામાન્ય રીતે હું - જો તમે હજુ સુધી જોઇ ન હોય, મને ખબર નથી જો તમે વર્ગ કર્યું હતું,
પરંતુ માણસ છે, તેથી મદદ પાનાંઓ, ખૂબ ખૂબ ખૂબ કોઈપણ કાર્ય જોઈ માટે ઉપયોગી છે.
તેથી હું, પસંદ કરી શકો છો, માણસ એફ, સ્કેન એફ.
આ હવે વિધેયોને સ્કેન એફ કુટુંબ વિશે માહિતી છે.
હું પણ માણસ એફ, ઓપન કરી શકે છે, અને તે મને કે વિગતો આપીશું.
તેથી જો તમને ખબર કાર્ય શું તમે નો ઉપયોગ કરવામાં આવે છે, અથવા તો તમે કોડ વાંચન કરી રહ્યા છીએ
અને તમે અમુક કાર્ય જુઓ અને તમે છો, જેમ કે "આ શું કરે છે?"
જસ્ટ માણસ કાર્ય કે નામ.
ત્યાં વિચિત્ર ઉદાહરણો એક દંપતિ જ્યાં તમે કહેવા શકે છે
ગમે છે. કે કાર્ય નામ, અથવા 3 માણસ કે વિધેય નામ, 2 માણસ
પરંતુ તમે માત્ર કરવા કે જો માણસ કાર્ય નામ સાથે પ્રથમ વખત કામ ન થાય છે.
[વિદ્યાર્થી] તેથી હું ઓપન માટે મદદ પાનું વાંચી રહ્યો છું, પરંતુ હું હજુ પણ તે કેવી રીતે અને કાર્યક્રમ વાપરવા પર મૂંઝવણમાં છું.
ઠીક છે. મદદ પાનાંઓ ઘણાં મદદરૂપ કરતા ઓછી હોય છે.
તેઓ વધુ મદદરૂપ છો જો તમે પહેલાથી જ ખબર તેઓ શું કરી
અને પછી તમે માત્ર દલીલો અથવા કંઈક ક્રમ યાદ કરવાની જરૂર છે.
અથવા તેઓ તમને એક સામાન્ય ઝાંખી આપે શકો છો, પરંતુ તેમને કેટલાક ખૂબ જબરજસ્ત છે.
એફ સ્કેન એફ જેમ, પણ. તે તમને આ તમામ કાર્યોને માટે માહિતી આપે છે,
અને રેખા 1 નીચે અહીં કહેવું થાય છે, "એફ સ્કેન એફ શબ્દમાળા બિંદુ અથવા સ્ટ્રીમ પરથી વાંચે છે."
પરંતુ એફ ખોલો. તેથી, અમે એફ ઓપન કેવી રીતે ઉપયોગ કરશો?
એક કાર્યક્રમ છે કે જે ફાઇલ કરવાની જરૂર ના વિચાર I / O એ છે કે
તમે પ્રથમ ફાઇલ સાથે તમે વસ્તુઓ કરવા માંગો છો ખોલવા જરૂર છે, અને અનાવશ્યક,
તે ફાઇલ માંથી વસ્તુઓ વાંચી અને તેમની સાથે સામગ્રી નથી.
વધુ ખુલ્લું છે, આપણે શું કરવા માટે ફાઇલ ખોલવા વાપરો.
આ વસ્તુ અમે પાછા, જેથી ફાઈલ શું અમે ખોલવા માંગો છો, તો અમને આપે છે -
અહીં તેને "/ વપરાશકર્તા / શેર / dict / શબ્દો." કહે છે
આ ફાઈલ કે અમે ખોલવા માંગો છો છે, અને અમે તેને ખોલવા માંગો છો -
અમે સ્પષ્ટપણે ઉલ્લેખ કરે છે કે અમે તેને વાંચવામાં અથવા જો અમે ખોલવા માંગો છો તે લખવા માટે ખોલવા માંગો છો છે.
ત્યાં સંયોજનો અને સામગ્રી એક દંપતી છે, પરંતુ અમે વાંચન માટે આ ખોલવા માંગો છો.
અમે ફાઇલ વાંચવામાં કરવા માંગો છો.
તેથી આ વળતર શું કરે છે? એ એક ફાઈલ તારો (*) આપે છે,
અને હું માત્ર ચલ એફ બધું છે, તેથી * બતાવીશું,
ફરી, તે નિર્દેશક છે, પરંતુ અમે પોઇન્ટર સાથે કામ કરવા નથી માંગતા.
તમે એફ લાગે છે કે, એફ હવે ચલ તમે ફાઈલ પ્રતિનિધિત્વ ઉપયોગ જઈ રહ્યાં છો છે.
તેથી જો તમે ફાઇલને વાંચવામાં કરવા માંગો છો, તો તમે એફ માંથી વાંચી શકાય છે.
જો તમે ફાઈલ બંધ કરવા માંગો છો, તો તમે એફ બંધ કરો.
તેથી કાર્યક્રમ ઓવરને અંતે જ્યારે અમે અનાવશ્યક ફાઇલ બંધ કરવા માંગો છો, તો આપણે શું કરવું જોઈએ?
અમે એફ બંધ કરવા માંગો છો.
તેથી હવે છેલ્લા ફાઈલ કાર્ય કે અમે ઉપયોગ કરવા માંગો છો જઈ રહ્યાં છો f, એફ સ્કેન એફ સ્કેન છે.
અને કરે છે જે શું છે તે એક સાથે મેળ પેટર્ન શોધી ફાઈલ પર સ્કેન કરે છે.
માણસ અહીં પાનું અંતે છીએ, અમે પૂર્ણાંક એફ સ્કેન એફ જુઓ, હવે માટે વળતર કિંમત અવગણો.
પ્રથમ દલીલ ફાઈલ * સ્ટ્રીમ છે તેથી, પ્રથમ દલીલ અમે પસાર કરવા માંગો છો જઈ રહ્યાં છો એફ છે.
અમે એફ પર સ્કેન કરી રહ્યા છીએ.
બીજી દલીલ બંધારણમાં શબ્દમાળા છે.
હું તમને એક ફોર્મેટ સ્ટ્રિંગ હમણાં આપશે.
મને લાગે છે કે અમે કહે, 127s \ n એ, કે જે બિનજરૂરી છે ઘણો થાય છે.
કે ફોર્મેટ સ્ટ્રિંગ શું છે આ વિચાર છે, તમે સ્કેન એફ ઓફ પ્રિન્ટ એફ ના વિરુદ્ધ તરીકે વિચાર કરી શકો છો.
તેથી પ્રિન્ટ એફ, પ્રિન્ટ એફ અમે પણ ફોર્મેટ પેરામીટર આ પ્રકારના ઉપયોગ કરો છો,
પરંતુ પ્રિન્ટ એફ શું આપણે કરી રહ્યા છે - ચાલો સમકક્ષ જુઓ.
તેથી એફ છાપો, અને ત્યાં ખરેખર પણ એફ એફ પ્રિન્ટ, જ્યાં પ્રથમ દલીલ એફ પ્રયત્ન રહ્યું છે છે.
જ્યારે તમે એફ છાપો, અમે કંઈક જેમ કહેવું શકે છે, "પ્રિન્ટ 127s \ n" અને પછી તો અમે તેને કેટલીક શબ્દમાળા પસાર કરવા માટે,
તે આ છે અને પછી એક નવી લાઇન શબ્દમાળા છાપી રહ્યું છે.
127 અર્થ શું, હું ખૂબ ખાતરી છું, પરંતુ હું મારી જાતે તે ક્યારેય પ્રતિબંધિત કરી છે,
તમે પણ પ્રિન્ટ એફ માં '127 'કહેવું નથી જરૂર,
પરંતુ તેનો અર્થ શું પ્રથમ 127 અક્ષરો છાપી છે.
તેથી હું ખૂબ ખાતરી કરો કે કેસ છે છું. તમે તે માટે Google કરી શકો છો.
પરંતુ આગામી એક હું લગભગ હકારાત્મક તે અર્થ છે છું.
તેથી આ પ્રથમ 127 અક્ષરો, નવી લાઇન દ્વારા અનુસરવામાં છાપો.
એફ સ્કેન હવે એફ, તેના બદલે એક ચલ જોઈ અને તે પ્રિન્ટિંગ,
તે કેટલાક શબ્દમાળા જોવા, અને ચલ માં પેટર્ન સ્ટોર ચાલી રહ્યું છે.
ચાલો ખરેખર એક અલગ ઉદાહરણમાં સ્કેન એફ વાપરો.
તેથી આપણે કહેવું અમે કેટલીક પૂર્ણાંક હતી, એક્સ = 4,
અને અમે બનાવવામાં શબ્દમાળા બનાવવા માંગો - જે શબ્દમાળા બનાવવા માંગો
હતી, જેમ કે આ ઉપર ઘણી પાછળથી આવશે,
કંઈક કે 4.jpg જેમ જ છે.
તેથી આ એક કાર્યક્રમ છે કે જ્યાં તમે રકમ કાઉન્ટર હશે શકો છો,
હું સામે સરવાળો, અને તમે છબીઓ સમૂહ સાચવવા માંગો છો.
જેથી તમે i.jpg, જ્યાં i તમારા લૂપ કેટલાક પુનરાવૃત્તિ છે સાચવવા માંગો છો.
તેથી અમે કેવી રીતે કે JPEG માટે આ શબ્દમાળાને કરો છો?
જો તમે 4.jpg છાપો માગતા હતા, અમે ફક્ત પ્રિન્ટ એફ,% d.jpg કહેવું શકે છે,
અને પછી તે JPEG માટે છાપો કરશે.
પરંતુ જો આપણે માટે શબ્દમાળા 4.jpg સાચવવા માંગો છો, અમે સ્કૅન એફ વાપરો.
શબ્દમાળા ઓ તેથી - ખરેખર અમે can't - પાત્ર, ઘરનાં પરચૂરણ કામો ઓ, ચાલો 100 જાઓ.
તેથી હું માત્ર 100 અક્ષરો કેટલાક એરે જાહેર
અને કે અમે શું ખચીત કે JPEG સ્ટોર કરી સાઇન જઈ રહ્યાં છો
તેથી અમે સ્કૅન એફ ઉપયોગ જઈ રહ્યાં છો, અને બંધારણ, અમે કેવી રીતે% d.jpg કહેવું કરશે
ક્રમમાં 4.jpg છાપો માટે, આ ફોર્મેટમાં% d.jpg પ્રયત્ન રહ્યું છે.
તેથી બંધારણ% d.jpg, અમે સાથે% d બદલવા માંગો છો તે x છે,
અને હવે અમે તે શબ્દમાળા ક્યાંક સ્ટોર કરવાની જરૂર છે.
અને જ્યાં અમે આ શબ્દમાળા સંગ્રહવા જઈ રહ્યાં છો એરે ઓ છે.
તેથી કોડ છે, ઓ આ વાક્ય પછી, જો આપણે એફ, આ ચલ s માંથી% s છાપો,
તે 4.jpg છાપી રહ્યું છે.
તેથી એફ સ્કેન એફ સ્કેન એફ જેમ જ હવે તે આ ફાઇલ પર જોઈ છે, અપવાદરૂપે છે
શું માટે s માં સંગ્રહે છે.
કે છેલ્લા દલીલ શું હોવું રહ્યું છે.
બંને ફોર્મેટ પ્રમાણે નીચે પ્રયાસ કર્યો કાર્યો સ્કેન ની "સ્કેન એફ કુટુંબ - અમે સંગ્રહવા માંગો છો.
જો કોઈપણ સ્થાન પોઇન્ટ સંગ્રહાયેલ છે તમે પાછા શકે છે - "
ના, અમે સારી પણ હોઈ શકે છે. દો મને એક બીજા માટે વિચારો.
આ હેક શું કાર્ય જે કરે છે - જેથી સ્કેન એફ નથી?
તેથી સ્કેન એફ એક પૂર્ણાંક લેવા અને કોઈ jpg નથી જઈ રહ્યું છે.
તે [mumbles] જવાની છે.
શબ્દમાળા પૂર્ણાંક સી માં પૂર્ણાંક ચલ સાચવો
આ ચલ શું છે, અથવા આ કાર્ય શું છે જેને?
હા. That's - હા. તેથી હું તમને વ્યાખ્યાયિત કરવામાં આવ્યો હતો તે પહેલાં ઓ પ્રિન્ટ એફ હતી,
જે - જે વધુ સમજદારીવાળું છે, શા માટે હું જણાવ્યું હતું કે તે ખૂબ પ્રિન્ટ એફ જેવું હતું બનાવે છે.
સ્કેન એફ હજુ પ્રિન્ટ એફ જેવા પ્રકારની હોય છે, પરંતુ ઓ પ્રિન્ટ એફ તેને સ્કેન ઉપર રહ્યું છે
અને ચલો બદલો અને હવે તે એક શબ્દમાળા માં સંગ્રહે.
તેના બદલે તે પ્રિન્ટિંગ, તો તે એક શબ્દમાળા માં સંગ્રહે છે.
જેથી સંપૂર્ણ અવગણના કરે છે. તમે હજુ પણ પ્રિન્ટમાં એફ જેમ તરીકે ફોર્મેટ specifier વિચાર કરી શકો છો.
તેથી હવે, જો આપણે 4.jpg વસ્તુ કરવા માગતા હતા, અમે ઓ પ્રિન્ટ એફ કરવા માટે, આ એક્સ કરશે.
તેથી સ્કેન એફ કરી છે શું - શું ને તમારા પ્રશ્નનો હશે?
[વિદ્યાર્થી] હું માત્ર અમે શું કરીએ અધિકાર અહીં પ્રયાસ કરી રહ્યા છો પર મૂંઝવણમાં છું
કે JPEG સાથે. તમે કે 1 વધુ સમય સમજાવે છે?
તેથી આ હતો - તે ઓછી એફ સ્કેન હવે એફ માટે સંબંધિત છે; આસ્થાપૂર્વક, તે પાછા માર્ગ અમુક પ્રકારનો ટાઇ થશે.
પરંતુ હું શરૂઆતમાં બતાવવા માટે ઇરાદો કરવામાં આવ્યો હતો કે શું હતું - આ ખરેખર સીધા આ [સંબંધિત? F5]
તમે ઓ પ્રિન્ટ એફ ઉપયોગ કરી રહ્યા છીએ, જ્યાં કહેવું, અમે 100 ઈમેજો છે,
અને તમે 1.jpg ઈમેજ, 2.jpg, 3.jpg વાંચી માંગો છો.
તેથી ક્રમમાં છે કે જે કરવું હોય, તો તમે એફ ઓપન કરવાની જરૂર છે, અને તે પછી તમે શબ્દમાળા કે જે તમે ખોલવા માંગો છો પાસ હોય છે.
તેથી અમે 1.jpg ખોલવા માંગો છો; ક્રમમાં શબ્દમાળા કે 1.jpg છે બનાવવા માટે,
અમે ઓ કરવું% ની પ્રિન્ટ એફ d.jpg-અમે પૂર્ણાંક હું = 0 માટે ન હતી.
હું 40 <, હું + +.
તેથી ઓ પ્રિન્ટ એફ% i ની d.jpg.
તેથી આ વાક્ય પછી, હવે ચલ અથવા એરે ઓ 1.jpg માટે જઈ રહ્યો છે.
અથવા, 0.jpg, 1.jpg, 2.jpg. અને તેથી અમે, બાદમાં ખોલો, વાંચન માટે દરેક ઇમેજ કરી શકો છો.
જેથી છે ઓ શું છાપવું એફ કરે છે. શું તમે જુઓ ઓ શું એફ હવે કરવાનું છે છાપી?
[વિદ્યાર્થી] ઠીક છે, તેથી તેને લઈ રહ્યો છે - તે શબ્દમાળા બનાવે છે, something.jpg, અને પછી તેને સંગ્રહ કરે છે.
હા. તે બનાવે છે - આ એ બીજા ફોર્મેટ સ્ટ્રિંગ સ્કેન એફ અને પ્રિન્ટ એફ જેમ જ છે,
જ્યાં બીજી દલીલ તેને ચલો બધા દાખલ, ઓ તરીકે હું વિરોધ હોઈ શકે છે.
કદાચ - મારા કહેવાનો અર્થ છે કે કેસ છે. પરંતુ ગમે દલીલો ક્રમ છે.
તે ફોર્મેટ સ્ટ્રિંગ માં ચલો બધા દાખલ રહ્યું છે
અને પછી અમારી બફર માં સંગ્રહિત; આપણે કહી છે કે બફર, તે જ્યાં અમે શબ્દમાળા સ્ટોર કરી રહ્યાં છે.
તેથી અમે ઓ ની અંદર સંગ્રહિત છે યોગ્ય રીતે ફોર્મેટ સ્ટ્રિંગ,% d 4 સાથે બદલાઈ હતી.
[વિદ્યાર્થી] તેથી જો અમે આ કર્યું, જે ચલ માત્ર તેમની સોંપણી થઈ જતાં એફ છે?
હા. તેથી અમે આમ પહેલાં મૂળ એફ બંધ કરીશું.
પરંતુ - અને પછી પણ, જો ત્યાં એક એફ અહીં ખોલી શકતા હતા, પછી અમે કહી જરૂર -
યાહ. પરંતુ તે એક સો અલગ ફાઇલો ખોલવા કરશે.
ઠીક - [વિદ્યાર્થી] પરંતુ અમે ઍક્સેસ કરવા અથવા શકશે નહીં.
ઠીક છે. તેથી સ્કેન f, એફ સ્કેન એફ, આ જ વિચાર પ્રકારની છે,
પરંતુ બદલે, તેના બદલે એક શબ્દમાળા માં સંગ્રહિત છે, તો તે તમને હવે જેવા વધુ છે
એક ડંખ અને પેટર્ન છે કે જેઓ શબ્દમાળા સામે બંધબેસતા પર જવું અને ચલો માં પરિણામો સ્ટોર.
તમે સ્કેન એફ વાપરવા માટે 4.jpg કંઈક પર પાર્સ, અને રકમ પૂર્ણાંક એક્સ માં પૂર્ણાંક 4 સ્ટોર કરી શકો છો.
કે અમે શું સ્કેન એફ વાપરી શકો છો.
એફ સ્કેન એફ આદેશ વાક્ય પર કે શું થઈ રહ્યું છે.
હું ખરેખર છું ખૂબ ખાતરી કરો કે આ છે CS50 પુસ્તકાલય શું કરે છે.
તેથી જ્યારે તમે કહી, "પૂર્ણાંક વિચાર" તે ઉપર એફ-ing સ્કેન છે - સ્કેન એફ રીતે તમે વપરાશકર્તા ઈનપુટ વિચાર છે.
એફ સ્કેન એફ એ જ વસ્તુ કરવા જઈ રહ્યો છે પરંતુ ફાઇલનો ઉપયોગ પર સ્કેન કરે છે.
અહીં, અમે આ ફાઇલ પર સ્કેનીંગ કરવામાં આવે છે.
આ પેટર્ન અમે સાથે મેળ કરવાનો પ્રયાસ કરી રહ્યા કેટલાક શબ્દમાળા કે 127 અક્ષરો લાંબી છે
નવી લાઇન દ્વારા અનુસરવામાં
તેથી હું ખૂબ ખાતરી કરો કે અમે પણ માત્ર કહી શકે છું "ઓ સાથે મેળ ખાય," શબ્દકોશમાં થી
અમે હોય થાય છે, અમે ખાતરી આપી રહ્યા છો, તે શબ્દ કે લાંબો છે,
અને પણ એફ સ્કેન એફ મને લાગે છે કે, નવા વાક્ય પર કોઈ બાબત શું કરવાનું બંધ કરશે.
પરંતુ અમે આ મેચમાં નવી લીટી સમાવો, અને કરીશું -
[વિદ્યાર્થી] જો અમે નવી લાઇન સમાવેશ થયો ન હતો, તે શબ્દ ભાગો શોધવા માગો છો?
દરેક - તે - શબ્દકોશ જોઈ -
તેથી શબ્દકોશ, આ અમારી બધા જ શબ્દો છે.
દરેક એક નવી લાઇન પર છે.
આ સ્કેન એફ માટે આ શબ્દ બનાવ્યો રહ્યું છે.
જો અમે નવા વાક્ય સમાવેશ થતો નથી, પછી તે શક્ય છે કે આગામી સ્કેન એફ ફક્ત નવા વાક્ય વાંચવા આવશે.
પરંતુ નવી લાઇન સહિત પછી ફક્ત નવી લાઇન નજરઅંદાજ કરશે.
પરંતુ અમે એક શબ્દ ભાગ ક્યારેય વિચાર છે, કારણ કે અમે હંમેશા નવા વાક્ય આવે છે, reading કોઈ બાબત શું કરશો.
[વિદ્યાર્થી] પરંતુ જો તમારી પાસે એક શબ્દ "cissa," cissa જેવા શોધવા માટે.
તે મળી શકશે, અને કહે છે કે તે મેચ છે?
અહીં અમે - તેને વાંચી હશે - આ ખરેખર સારા બિંદુ છે.
અમે વર્તમાન ક્યારેય ઉપયોગ કરી રહ્યાં છો - શબ્દ અમે શોધી રહ્યાં છો તે પ્રથમ આદેશ વાક્ય દલીલ છે.
તેથી શબ્દમાળા શબ્દ = 1 argv.
તેથી શબ્દમાળા અમે શોધી રહ્યાં છો તે 1 argv છે.
અમે અમારા સ્કેન એફ તમામ ખાતે શબ્દ માટે નથી જોઈ રહ્યા છીએ.
અમે સ્કૅન એફ સાથે કરી રહ્યા હતા શું શબ્દકોશમાં દરેક શબ્દ રહ્યો છે,
અને પછી એક વાર અમે તે શબ્દ અમે strcmp વાપરવા માટે તેમને સરખાવવા જઈ રહ્યાં છો છે.
અમે અમારી શબ્દ સરખાવવા જઈ રહ્યાં છો અને અમે શું માત્ર સાઇન વાંચો
તેથી ખચીત, અમે અંત સ્કેન fs સમૂહ કરી રહ્યા છીએ
ત્યાં સુધી તે માત્ર જેથી બને છે કે સ્કેન એફ આપશે -
તે એક પાછા ફરવા માટે, લાંબા સમય સુધી તે એક નવો શબ્દ સાથે મેળ ખાતી છે કરશે,
અને તે કંઈક બીજું જલદી તે શબ્દ સાથે મેળ કરવામાં નિષ્ફળ જાય છે આપશે.
અમે સમગ્ર શબ્દકોશ પર વાંચી રહ્યા છો, લાઇન દ્વારા લીટી દરેક શબ્દ સ્ટોર આ ચલ ઓ માં.
તો પછી અમે ઓ સાથે શબ્દ સરખામણી કરવામાં આવે છે, અને સરખામણી 0 == જો,
strcmp માટે 0 લાવવા જો મેચ કરવામાં આવ્યું હતું બને છે.
તેથી જો તે 0 હતો, તો પછી અમે એફ છાપી, મેળ ખાતી કરી શકો છો,
અથવા શબ્દ કોશ છે, અથવા જે તમે એફ પ્રિન્ટ માંગો છો.
અને પછી - અમે એફ ઉપર બંધ કરો અને ફરીથી કરવા નથી માંગતા.
આ વસ્તુ પ્રકાર અમે કરવા માંગો છો છે, અને અમે ફક્ત શબ્દકોશ શબ્દ માટે નથી જોઈ રહ્યા છીએ.
તેથી અમે તે કરવા માટે, જો આપણે તેમના પેટર્ન, cissa જોવા માટે માગે છે શકે છે, જેમ કે તમે પહેલાં જણાવ્યું હતું કે,
જો અમે તે પેટર્ન જોવા માટે માગે છે, પછી તે કિસ્સામાં નિષ્ફળ જશે
જે ખરેખર એક શબ્દ નથી, પરંતુ એક શબ્દકોશમાં શબ્દો તેને તે ધરાવે છે કારણ કે.
તેથી તે આ શબ્દ સાથે મેળ ખાય, પરંતુ આ જ શબ્દ ઉપગણ એક શબ્દ નથી.
પરંતુ અમે કેવી રીતે ઉપયોગ કરી રહ્યાં છો તે નથી; આપણે દરેક શબ્દ વાંચન કરી રહ્યાં છો
અને પછી શબ્દ અમે તે શબ્દ સાથે હોય સરખામણી કરો.
તેથી અમે હંમેશા સંપૂર્ણ શબ્દો સરખામણી કરી રહ્યા છો.
હું બહાર અંતિમ ઓપ ઉકેલો પછી પણ મોકલી શકો છો.
આ લગભગ અધિકાર જવાબ પ્રકારની છે, મને લાગે છે.
[વિદ્યાર્થી ટિપ્પણી દુર્બોધ]
ઓહ, હું કે છૂટકારો મળ્યો તે પહેલાં? ચાર ઓ, હું માનું અમે 127 કહ્યું - હું ભૂલી જાઓ સૌથી મોટો શું છે.
અમે હમણાં જ 128 કરીશ; જેથી હવે ઓ લાંબા પર્યાપ્ત છે.
અમે કંઈપણ પ્રિન્ટ કરવાની જરૂર નથી.
અમે પણ અમારી ફાઈલ બંધ માંગો છો જઈ રહ્યાં છો, અને તે યોગ્ય જવાબ વિશે પ્રયત્ન કરીશું.
CS50.TV