 Hello friends, I am Sanjay Gupta. Welcome back on Sanjay Gupta Tech School. अब देख हैं C-language video series अब देख हैं C-language video series अब देख हैं जो लेक्चर हम देखस करनेवाल हैं वो लेक्चर नहीं नहीं अब देख सी लेक्चर देखस हैं नहीं तो जिस में आपको रहा कर नहीं और स्फ़िंक बारे में और कुच प्रोगरंज वापको गर कर रहा है। उंकि रोगेग देखस कर हें यह और कैसे वो नहीं अप फहाट उप्राक्टकली देख हैं अपने बच्चले बीटिएग़ में अपको बताच़च्खो अप शकन्व भी उज़च़चते हो आप नाप गटेस भी उज़च़चते हैं तो बेस है वो आप प वो वीटिएग से already cover कर चुकएग़ अप नहीं किया आप पहले बो बीटिएग़ देखगा पर नहीं, उगर थी करेक्तर साब श्वो खड़े है, लास्ट करेक्तर के जुस्ट बाग आप अप्टमेटिक्टे क्रेक्तर स्वो देखटा है तो लोग आप वो ज़ो रेववर्स किलि जो लूप start करेगे उसके लिएगे लूप करेगे आप नहीं कि हम नहीं च्छट लोग � यो प्र लूप है जिसके साथ हम कोई स्टेट में रपीट नहीं तो हम नहीं सैमे को लग नहीं पुट कर दिया और ये ये अंटरनली रपीट होतर अगा जब तक ये कंटिशन पाल्स नहीं जाती है तो जब ये कंटिशन पाल्स होगी, तो आई की वेलु क्या होगी? 5 तिखिए लग नल किस पुठिशन पर लग नहीं पर अगा पपलग है. तो आप ये कंकुलूड कर सक टेहाए गे जब ये वोलूप क्मठीट होगा तो आई नल को पुओट कर रहुग रहा होगा अब हमें एक नया लूप इंप्लिमट करना है, जो की श्ट्रिंग का रिवर स्प्रिंट करेगा. तो उस लूप को स्थाट करते हैं, तो अप देखों हमें पताए की आई लास्ट पूजिशन पर पहुट चूका हैं. तो मैंने क्या किया? एक विरीबल लिया जे और पूस में क्या साइंग कर दिया आई माँने स्वर. तो जे ग्रेटडन एकवल्स तो जी और जे माँने स्वर. और यहा मैंने लिखा प्रिंटेफ और सेंची स्टीर अप जे. अब देखो जे को दिखले करने था. अब देखो जब यह लूप फिनिष जाएगा तो आई की वेल्यो क्या है? तो इस एकजामपल के लिए अगर नम्मर अप करेक्टर जाएगा एकव है, तो उसके अगर आई की वेल्योगी. लूप यह गर उक देखो लेए अप सब प gravity मिसब लेए बई़गा है. लूप लएगा करने आई की आई तुवठ सेंचिस डूएगा है. लूप यह आई को बगत यहक्डाठ विल्योगी वेल्योगी लेएगा जाएगा वेल्योगी को लगकर. अफीग तो परेंट नहींग गराणाग जे बेसिकलि फोर्फ ने सटाडवा और कान तक जाए ग़ाएगा देटगन एकोल्ज तो जीडो तक तो जीडो तक देख़्ीज होगा और एक खेरक्टर को पर्श्ट सी के फूँमने कन्सोल पर दिस्पले करागा यहां दीजेगा यहांपर परसेंट S नहीं इस नहीं चीईगा परसेंट C यहे काए और भी अजी अईके क्यरेक्तर को प्रन्ट करवार रहा है आप चाठा है की पूरी स्थिंग को रिबरस करके वर लेकिगा परसेंट S नहीं करागा है तु उऄसक богड़ै में अबी शी ुगराम को बवरडर पुर्द़ प्रीश प्रेट�コ ौसक messages दुचो स्मालते good थो आभी बसifullyस क blueberries ममग रहींगह शीडता after plant तुए षीचर प्रीषों मैँ झोत ज़दाद रहीं गूका- आप ऑन ़प जी infinitely टैmark with one उसे पहले a प्रिंट वा, than i, than d, than i, than k उस्तरी के से अपने दिखा गी, हमने जो स्फ्रिंग रीड गी थी, उसका रिवार्स कैसे प्रिंट कराया और ये जो लूप है, ये हो सकता है कि आपको प्रूस करें अपने प्रिंट रीड कराया, स्वन के लास्ट लिएंदेक्स पे पाच रहे, जेग अब हम क्या कर रहे है, यहापके से प्रिंट प्रिंट प्रूस को तो हदागेता है, जीखे, अप देखो, अगर मैं फिर से इजाम पर लिखता हूँ, इंदिया पैक से चीरो, 0, 1, 2, 3, 4, 5 तो जे तो पूएंट करेगा लास्ट लिएंदेक्स को, अब हमें क्या करना है, हमें S1 की वेलू को S2 में डालना है, तो जे जो है वो लास्ट पूएंट को पूएंट कर रहे है, जो की S1 है, अब हमें एक और वे लिएंबल यूँस करना पडेगा, तो हम क्या करते है, यह पर एक और वेलू करना है, K equals to 0, & उस को यह पर पूएंट करना है, तो इस से आप को एक नहीं चीज और चीजने को मिलेगी, की हम जो पूएंट लूएंट करते है, उस में एक से जादा वेल भी एनिचलाइस हो सकते है, और एक से जादा वेलिएबल को इंक्रीज यह देक्रीज भी एक साथ किया जादा सकते है, तो अप के तो सेकिन च्रिंके कामाएगा, S2 of K, और J, तो अप च्रिंके कामाएगा, S1 of J. तो अप इस को देकते है, देखो, आए की वेलू थी, 5, 5-1 कितना वा 4, तो अप J तो मानलीजे 4 है, यह में लिक दिता है, J तो है 4, और K कामाएगा से स्थार्ट तो जीरो से, कंडिशन चेक परो, J जीरो से ग्रेटर है, कंडिशन ट्रू, तो अप S1, S1 string का J index, किस में हा साइन हो जाएगा, S2 K, K index पर, तो S1, S1, S1, S1 means first string, J मतलग 4, तो यह A जो है, यह S2 के 0 index पर जाएगा, कोपी हो जाएगा, फिर J minus minus होगा, तो J की वेलियो क्या होगे, 3, K plus plus होगा, K होगा, 1. तो अप की वर क्या होगा, यह जो S1 of J है, तो यह आप देखो जे कितना है भी, 3. तो 3rd index पर क्या है, capital I, तो अप capital I, S2 string के K position पर जाएगा, के की वेलियो क्या है, 1. तो वो 1st index पर जाएगा, स्तोर होगाएगा. तो यस तरीके से S1 के, यो elements है, वो reverse order में, एक एक कर के फैच होगा, और जो S2 string है, उस में जाएगा, स्तोर होगाएगा. तो एक चीज और बताएए, कि जब यह तरीके से स्तोर कराएगा, तो क्या S2 string में नल कभी भी स्तोर होगा? तो अप बोलेगे नहीं, कि यह नल को हम already श्किप कर चुके है, हम जो रिवर्स है, वो यस तरीके से स्तोर कराएगा. तो आप क्या गर होगे, यह फोर लुक जब खतम होगाएगा, तो आप लिख होगे S2 of K equals to नल. तो किसी भी स्त्रिंग को, स्त्रिंग बनावे के लिए अस में नल को स्तोर करनाएगा, तो हम S1 की values तो कोपी कराएगा, बत नल कभी भी कोपी नहीं होगा. तो नल को कभी करने के लिए लुक फिनिष होने का विट करनाएगा, और लुप के फिनिष होने के बाद आप यस करीखे से, नल को K position पे स्तोर कर देगे. तो K, जो लास करेक्टर होगा जस बाद वले पोजिशन पर होगा, तो वहाप नल स्तोर जाएगा. अब आप यस कर सकते हैं, प्रिंट आप पोसंट स आस तु, तब देखो आस तु को मैं पोसंट आस के तु प्रिंट करागा, क्योगी आस वन स्ट्रिंग का रिवर्स किस में कोपी होट चुका है, आस तु के अंडर और वो स्क्रींट पर दिस्पले होगा है, अब इस को आप इस को आप इस करागा, के वेरिवल यूज किया, बअछ उसको मैं देखे नहीं किया, तो इस को टीख किया, अब अब अपना प्रोगरागम एकसीखिए तोगा, या ने था देखरहाँ आका आप देखरा आताप स Weberas printing A conducive reverse A, D, N, I, India reverse remains, correct? तो 2 श्यँग, as it is अरग़ पार्ट सेंगे हम दे एस वुन को लिट किया अब देखों खफी करने में क्या करने है? अस वन का 0 अंटेक्स पर जो वैल्यू है वो अस 2 के 0 अंटेक्स पर ज़ाएगी अस 1 के 1 अंटेक्स की वैल्यू, अस 2 के 1 अंटेक्स पर ज़ाएगी the same index value of the index is copied the reverse is reversed the last index of S1 is S2 that is why we started with a copy loop but the i variable will only be used for both the value of the i index of S1 will be used for the i index and it will work till the i index of S1 is not taken जैसी नल में लेगा ये लूप स्तोप जाएगा ये मेंस नल कोपी नहीं होगा तो अगें लूप फिनिश होने के बाद, S2 को श्टिंग बनाने के ले, S2 के आई पोजिशन पर कैस्टो करना पड़ेगा, नल तो ये छीज़ अमेश्ट है द्यान रखना जब भी आप मैंनूली एक एक खरेक्तर को एक स्टिंख से जुस्टे स्टिंग में कोपी कर दैग, तो नामली नल कोपी नहीं होता है, कि नल पे हमारी तरमनेशन, कुँँँँँँँँँँँँँँँँँँँँँँँँँ� प्री अड़ पूँ, ये ये व्ँश्टिंख हे प्रहिंट कर आग्ग़ा। ये हम ने प्रिंट के स्वन नहीं नित तिया स्थिझ मैं वेने स्दिए। तो तो बाब थक होंगे तोभो से वेल्लिग में कर थी। योगो देखने के बाद खुच से भी प्रक्टिस करे हैं या फिर साथ के साथ लेप्टोप लेके बैद हीं जैसे-शे मैं एक श्लेंग करता जा रहा हूँ, आप अप अपने लेप्टोप ने ताएप करे किपींग को इंप्लिमेंट कर से। पूरी भीडिो सीडीस को फोलो करने का पेलेश लैंक जिस वीटियो के डिसक्यशं में आप रेप्टोप लेप लेप लेप रेप लोगे वो अप लोगे नहींग को विपी हूँँ now third program is string concatenation so this will be interesting so before implementing the program let's see what is concatenation then we will modify this program and concatenate now in string concatenation you will have to read both the strings so in S1 let's suppose I took sanjay and in S2 I took gupta concatenation means combining and merge the values in any one so S1 is sanjay and S2 is gupta so when I concatenate then I need an output that my first name is available in S1 and in S2 my last name is added in S1 so concatenation so there is no need to make a third string you have to copy the other values in any one of the existing two so see what to do these are two strings we have to copy the gupta in the end of S1 it means in S1 we have to reach in this position and in this position we will get null in both the ends null is available so we have to iterate the loop one by one and reach in this position on null position so for that I told you in the first program if we write this let me copy this loop so S1 of I not equals to null I plus plus and semicolon so this loop will come independently on I on null position so I is on null position so after this loop is over I will store S1 of I equals to a blank space because I need space between first name and last name so now this null is over and space is available and I have to transfer I to the next position so I have to write I plus plus so see through this loop we have reached in the null position of the first string we have copied the blank space and the I index which was pointing to null is now pointing to space and as soon as I plus plus so it will point to that index which is just part of space so if I tell you practically then space and after space where cursor is blinking that position is now pointing to I where we have to copy G, U, P, T, A so in S2 we have to start with 0 index so we have to copy S2 so it means the second loop will depend on S2 that till S2 string is not in null till then we have to copy a character so here I have written S2 of J not equals to null and J plus plus copy in S1 on which position I came from where I have to copy from S2 from which position J and as soon as it will be copied then you can see that J is getting plus plus and we will also do I plus plus here so that after one value comes on S1 string cursor or index will point to the next position and if you want you can put I plus plus and write here also this is also possible so now I have written here if you want you can put it on comma so when this loop will be finished so when this loop is finished this whole loop will be copied but null will not be able to be copied because when null comes this loop will be terminated it means what we will do now on the I index of S1 what we have to copy what we have to copy on S1 because both things are combined and going in S1 so we have to put null in S1 string so this is our first string and this is our second string now let's print it and see what are the results now I have used J variable so let's use comma and write J this is a concatenation program so you can use concatenation in the comments so now this is sorry now I have to input two strings here enter first string enter second string and write here S2 so first string will come then second string will come then after that first string will reach last position then space enter and next position will be on index then the second string will copy character of S1 and then in S1 we have to sign both strings so if we execute this then we will have to input two strings so I have entered Sanjay and then Gupta now let's see the output in first string both are combined Sanjay Gupta and in second string Gupta is still available it means that my last name was concatenated in the end and you can see in the middle space is also coming so this way string concatenation works so I hope that I have explained step by step in very easy way you can implement this on your laptop if you have any doubt you can discuss it with me and now the last program is string comparison and after that we will see some predefined functions so let's see string comparison so string comparison basically we have to do the values that two strings are available so we have to check if the content is equal or not so again if there are two strings then the program is the same if we have to trade so let's say this is our first string ABC this is our second string ABC so in this case both the strings will be equal both the contents are same then I have written AB and in S2 I have written ABC so first two characters are same last character is not same so here it will be null and in this it will be C so the S1 it will reach null and if we compare null with C then it will be unequal it means we have to run loop until two characters are unequal ok until all characters are equal then loop will continue as soon as we get unequal then we will stop the loop using break keyword and if there are two characters then it will be unequal ok so let's implement this so we will have one variable requirement for I index because we have to compare 0 index then we have to compare 1 index and so on so if S1 null S1 of I is not equal and S2 of I is not equal ok so if S1 null is not equal then loop will continue and in loop you have to apply this condition S1 of I not equals to S2 of I ok so if S1 string's I index S2 string's I index is not equal so what you can do is make a flag variable initially it will be 0 and set it here and break so when it will be unequal then only flag will be made and loop will be terminated otherwise loop will continue and if all characters are equal then flag will never be 1 sign flag value will remain 0 so after this loop is over we have to check one thing value of flag so if flag is equal to 0 then you can say strings are equal and else strings are unequal ok so we will check all cases and keep in mind we are not checking the length we are checking the characters in the string so we execute it so first string I put ABC, second I put ABC so it printed strings are equal again we execute it first string I put ABC second I put XBC so strings are unequal ok it is working properly again ABC and ABC so strings are unequal so if I put equal length string character is same I did it correctly I put equal length string characters are different I did it correctly I put unequal length string it is working correctly ok so this is ABC as it is so it is printing strings are equal and all other cases strings are unequal ok so in this way program I implemented in which we are checking unequal case and we will break flag one it is not unequal and the whole loop is executed and it will not be unequal so in that case the value of flag will be 0 ok so in this way we performed comparison now now some pre-defined functions I want to tell you if you see this pre-defined function you will see string length copy, concatenation, reverse comparison is related so all the programs we have made we have written the whole process loop implemented and we developed logic now C says some functions have been implemented you have to use them directly you don't have to think about any logic so now we will talk pre-defined functions of string whenever you have to use them you have to include another header file that is string.h ok so first let's take the length of the string so program must be very small because we don't have to implement code or logic we have to directly use pre-defined function so length equals to str-alien-s1 that's it so str-alien is the work to identify the length it will take the length of s1 and we have to set it directly normally in exams when questions are asked it is mentioned that don't use pre-defined function because with pre-defined function your task becomes very easy so length is 6 so in exams try to not use pre-defined function and implement logic so if you implement logic then examiner will know that you have depth knowledge about programming and if you implement pre-defined function then you will feel that you didn't implement logic you directly used C's feature so your capabilities are not shown there next is str-cpy so we will copy s1 to s2 so now we don't have the length requirement so we are directly using str-cpy s2, s1 and we will print here that can string equals to % s2 okay we have to input in s1 print to s2 so s2 should be printed which is available in s1 so here we don't have the length requirement so let's remove it when you execute it input here is sanjay so you can see what is the second string so always keep in mind the first argument it has target and the second argument is source okay now let's talk about concatenation so I have just told you that we have to concatenate two strings so we have implemented a very difficult logic in which we used 2-3 loops so now we will make it easy because C has given us a very nice function str-cat so what will happen in this in s1 concatenation will happen in s2 so here we write concatenated string s1 so now in s1 I will input my first name in s2 my last name but you will see that s1 will print my full name let's execute it first name, last name you can see what is in concatenated string full name now notice here that space didn't come so now you have to manage it yourself if you want space so first concatenate space str-cat s1, space okay so in s1 space will be added then in s1 s2 will be added so in this way spaces will be given between your name so instead of single quotes double quotes because we have passed the string I had passed the character constant by mistake so now you will see space will also come so in this way you can see some changes because your base has become very strong so I have told str-alien str-cpy, str-cat now let's talk about reverse so for reverse we had written a very big code so I will comment it because we have to use it in the next program so str-reve s1 here it says reverse so now the reverse of s1 will be printed so now the reverse of s1 will be printed India you can see India's reverse is being printed automatically we have written this statement if we pass s1 in reverse then it will be reversed and s1 will be printed so it is very easy because it is predefined when user is defined then it is a little difficult because logic decides something now two more are left so I have told you the string comparison this string comparison I have told you this program so in that case I have told you with uppercase if you compare uppercase and lowercase then it will be unequal so now there are two methods str-cmp and str-cmp so str-cmp is case sensitive that uppercase and lowercase are different now we have written code but str-cmp will ignore the case meaning for that uppercase and lowercase are the same so if you have written capital abc and small abc then it will be equal so now we see practically by implementing so now we have to write code in this way so str-cmp is if both the strings are equal then it will assign 0 in n if n double equals to 0 then you can print equal and else you can write unequal so now we execute this abc abc unequal uppercase and lowercase are unequal and if we put uppercase and uppercase then it will be equal so in this case it will be equal but if I put str-cmp i I have just added i in str-cmp so i means ignore case so now if you execute this and if you put abc small and abc capital then it will be equal so friends in this way in this video I have many programs like reverse copy concatenation comparison user defined method logic I have implemented and I have also told you about everyone's predefined function so I hope that you understood last video which was lecture number 18 str-kill base and for some simple programs and in lecture number 19 I have implemented more advanced programs so if you have any doubt then you can communicate with me and in the next video we will discuss new topic which is structure and union so now I will tell you about structure so I hope that in video series whatever videos are available which I have made for you you will like them so share them more so that the beginners get help and they are not afraid of programming and keep in mind that whatever programs I have explained in every video please implement them by yourself and if you have any doubt so I am available thank you for watching this video