C Language Tutorial Subtitles for Beginners with Practice
C Language Tutorial for Beginners (with Notes & Practice Questions)
Apna College
SRT - Most compatible format for video players (VLC, media players, video editors)
VTT - Web Video Text Tracks for HTML5 video and browsers
TXT - Plain text with timestamps for easy reading and editing
Scroll to view all subtitles
[संगीत]
हाय एवरीवन मैं हूं आपकी श्रद्धा दीदी एंड
वेलकम टू अपना कॉलेज आज की सी ट्यूटोरियल
में हमने बेसिक से लेकर एडवांस तक पूरी की
पूरी सी को खत्म कर रखा है तो इस वीडियो
को देखने के बाद आप कोडिंग प्रोग्रामिंग
सीख जाएंगे और अगर आपका कॉलेज में एग्जाम
है जिसके अंदर सी पूछी जाती है तो उसकी
आपकी पूरी तैयारी हो जाएगी इस ट्यूटोरियल
को हमने 11 चैप्टर्स के अंदर डिवाइड किया
है जिनके नीचे आपको टाइम स्टंप्स मिल रहे
होंगे तो आप इंडिविजुअली भी अगर आपको कोई
टॉपिक पढ़ना है तो वो भी जाकर आप पढ़ सकते
हैं और चैप्टर्स के साथ हमने 100
क्वेश्चंस इस वीडियो के अंदर इंक्लूड किए
हैं जिसमें से 70 क्वेश्चन मैंने पर्सनली
आपको अपने सामने सॉल्व करवाए हैं और 30
क्वेश्चंस को मैंने आपकी प्रैक्टिस के लिए
होमवर्क में दिया है साथ के साथ वीडियो के
साथ कोड्स जितने भी हैं या नोट्स जितने भी
हैं उनका लिंक भी आपको नीचे मिल रहा होगा
ताकि एक बार ट्यूटोरियल खत्म करने के बाद
आप कभी भी आकर फ्री में रिवीजन कर सके
इसके साथ अगर कोई भी ऐसी चीज है जो आपको
इंपॉर्टेंट लगती है या आप मुझे बताना
चाहते हैं तो उसको आप नीचे मुझे कमेंट
करके बता सकते हैं और बीच में अगर आपको
कोई भी लेक्चर बुकमार्क करना है कोई भी
टॉपिक बुकमार्क करना है उसका आप नीचे
सिंपली टाइम लिख दीजिए और उसको कमेंट कर
दीजिए तो अगली बार हम आएंगे तो वो कमेंट
हमें ऊपर दिख रहा होगा तो शुरुआत करते हैं
अपने सबसे नए और सबसे बड़े सी ट्यूटोरियल
की तो सी में कोड करने से पहले हमें दो
चीजें अपने सिस्ट सिस्टम के अंदर इंस्टॉल
करनी पड़ेंगी जिनमें से सबसे पहला है
हमारा वीएस कोड यानी कोड एडिटर अब कोड
एडिटर एक नोटबुक की तरह होता है जैसे
नोटबुक के अंदर हम इंग्लिश में हिंदी में
चीजें लिख रहे होते हैं वैसे ही अपने कोड
एडिटर के ऊपर हम कोई कोड लिखते हैं और हम
जिस कोड एडिटर का इस्तेमाल करेंगे उसका
नाम है वीएस कोड अब इसके अलावा आपने देखा
होगा कि कॉलेजेस के अंदर स्कूल्स के अंदर
कुछ लोग कोड ब्लॉक्स पर काम कर रहे होते
हैं कुछ लोग किसी और सॉफ्टवेयर पर काम कर
रहे होते हैं पर यहां हम वीएस कोड इसलिए
यूज़ कर रहे हैं क्योंकि ये बहुत अच्छा
सॉफ्टवेयर है और इसमें आप सिर्फ सी की
प्रोग्रामिंग नहीं उसके बाद अगर आपको c+ प
जावा या फिर किसी और लैंग्वेज में
प्रोग्रामिंग करनी है तो उसके लिए भी हम
आपको एटमॉस्फेयर ये पूरा ऐसे तैयार करके
दे देंगे कि आपको कुछ और इंस्टॉल ना करना
पड़े तो शुरुआत से ही जब हम एक अच्छे कोड
एडिटर पर काम करते हैं ना तो उसके बहुत
सारे फायदे होते हैं दूसरी चीज जो हमें
इंस्टॉल करनी पड़ेगी वो है हमारा कंपाइलर
जिसके लिए हम सर्च करेंगे फॉर जीसीसी अब
कंपाइलर एक ऐसा सिस्टम एक ऐसा सॉफ्टवेयर
होता है जिसके अंदर रूल्स लिखे होते हैं
हमारी प्रोग्रामिंग लैंग के तो सी का
कंपाइलर होगा जिसके अंदर सी की लैंग्वेज
के जो भी रूल्स है ना वो लिखे होंगे तो आप
जो भी कोड लिखेंगे वह आपके कोड के लिखने
के बाद चेक करेगा कि क्या आपने कोड सही
लिखा है और उस कोड को रन करने का काम भी
कंपाइलर करता है तो कंपाइलर्स के बारे में
हम बाद में डिटेल में पढ़ रहे होंगे अभी
सबसे पहले इंस्टॉल करते हैं अपने कोड
एडिटर को यानी वीएस कोड को तो वीएस कोड को
इंस्टॉल करने के लिए हमें अपनी स्क्रीन पर
सबसे पहले
लोड वीएस कोड फॉर विंड अब यहां पर सबसे
पहला हमारे पास ऑप्शन आएगा कि हम विज के
लिए डाउनलोड करना चाहते हैं
नेक्स्ट पर अब एक चेक बॉक्स की जो लिस्ट
है वह हमारे पास आ रही होगी और हमें क्या
करना है सारे के सारे चेक बॉक्सेस को टिक
कर देना है ऊपर वाला कहता है कि डेस्कटॉप
पर एक आइकन हमारे लिए क्रिएट हो जाए तो और
नीचे वाले पथ्स वगैरह की काफी सारी
इंफॉर्मेशन हमें दे रहे हैं तो सारे चेक
बॉक्सेस को टिक कर देंगे एंड उसके बाद कर
देंगे हम इंस्टॉल तो फाइनली वीएस कोड
हमारे लिए इंस्टॉल हो जाएगा और क्लिक कर
देंगे फिनिश पर अब इसके बाद हम सिस्टम में
जाकर सर्च कर सकते हैं फॉर वीएस कोड वीएस
कोड सर्च करने के बाद वो खुल जाएगा और ऐसा
कुछ हमारे पास स्क्रीन पर डिस्प्ले होकर आ
जाएगा जिसके अंदर सबसे पहले तो हम एक थीम
चूज कर सकते हैं हमारी मर्जी है कि हम एक
लाइट थीम चूज करें या डार्क थीम चूज करें
तो वी विल गो विद डार्क उसके बाद आपको
नेक्स्ट सेक्शन नेक्स्ट सेक्शन करते जाना
है अगर हम चाहे तो गट भी इंस्टॉल कर सकते
हैं पर गट के लिए अभी हम काम नहीं करेंगे
अभी इंस्टॉल नहीं करेंगे और मार्क कर
देंगे एज डन अब वीएस कोड के अंदर कोई हमें
नई फाइल खोलनी है जिसके अंदर हम चीजें लिख
सक तो न्यू फाइल पर क्लिक कर सकते हैं और
ऐसे फाइल्स के अंदर हम डिफरेंट डिफरेंट
कोड्स को प्रोग्राम्स को लिख रहे होंगे अब
यहां हमने वीएस कोड डाउनलोड किया है लेकिन
अगर आप किसी और कोड एडिटर पर भी काम करना
चाहते हैं आपके पास ऑलरेडी डाउनलोडेड है
तो आप उसका भी इस्तेमाल कर सकते हैं सेम
कोड हम कर रहे होंगे दूसरी चीज जो हम
डाउनलोड करेंगे वो है सी का कंपाइलर अब सी
के कंपाइलर को डाउनलोड करने के लिए सबसे
पहले हमें लिखना पड़ेगा
chromecast.com दिख रहा होगा उसपे हमें
क्लिक करना है तो डाउनलोड हमारे लिए
स्टार्ट हो जाएगा सबसे पहले जो विंडो
अपीयर करेगी पॉपअप आएगा उसके ऊपर
इंस्टॉलेशन डायरेक्ट्रीएंट्री
जें हैं वो डाउनलोड होती रहेंगी फिर एक
विंडो खुलेगी जिसमें वो हमसे पूछ रहा है
कि हमें और कौन से पैकेजेस डाउनलोड करने
हैं तो उसमें जो चेक बॉक्स हमारे पास आएगा
वो डिफरेंट डिफरेंट लैंग्वेजेस के लिए है
अभी के लिए क्या करेंगे बेसिक सब के लिए
डाउनलोड कर लेते हैं तो इंस्टॉल में सब पे
हमें क्लिक कर देना है मतलब चेक बॉक्स सब
के लिए टिक करना है फिर लेफ्ट में जाके एक
इंस्टॉलेशन का ऑप्शन आएगा इंस्टॉलेशन के
ऑप्शन में हमें क्लिक करना है और फिर
अप्लाई चेंजेज पर क्लिक करके सबके लिए
हमें डाउनलोड कर लेने हैं अपने पैकेजेस तो
ये पैकेजेस हो सकता है आपकी इंटरनेट स्पीड
के हिसाब से कुछ टाइम बाद डाउनलोड हो तो
उसके लिए आपको थोड़ा वेट करना पड़ सकता है
अब जैसे ही ये पैकेजेस डाउनलोड हो जाएंगे
ना उसके बाद हमारे पास आएगा कि ऑल चेंजेज
आर अप्लाइड सक्सेसफुली तो फिर हम उस चीज
को को कर देंगे क्लोज तो अभी हमने कोड
एडिटर को डाउनलोड कर लिया यानी वीएस कोड
को हमने सीके कंपाइलर को डाउनलोड कर लिया
इंस्टॉल कर लिया है पर एक छोटी सी चीज बची
है वो है हमारे एनवायरमेंट वेरिएबल अब
एनवायरमेंट वेरिएबल क्या होता है या इस
स्टेप में हम एगजैक्टली कर क्या रहे हैं
उसके हम डिटेल में नहीं जाएंगे बेसिक चीज
यह समझनी है कि आपको अगर सी का कोड अपने
सिस्टम के अंदर चलाना है तो उससे पहले
आपको यह सारे स्टेप्स जो हैं वोह फॉलो
करने पड़ेंगे इसके लिए सबसे पहले हम क्या
करेंगे हम अपने कंप्यूटर के सिस्टम में
फाइल्स में जाएंगे और उसमें दिस पीसी पर
जा रहे होंगे दिस पीसी के अंदर हम सर्च
करेंगे फॉर मजी डब् एम आई एन जीड तो सर्च
करने के बाद मजीड के फोल्डर में जाना है
उसके अंदर हमें जाना है बिन के फोल्डर में
तो बिन के फोल्डर में जब ऊपर पूरा का पूरा
पाथ एक डिस्प्ले हो रहा होगा उस पर जब हम
क्लिक करेंगे ना तो हमारा एक पाथ हाईलाइट
होगा व्हिच इज सी ड्राइव स् मजीड बिन इस
पूरे के पूरे पाथ को हमें कॉपी करना है
क्योंकि इसको हम अपने सिस्टम के
एनवायरमेंट वेरिएबल में ऐड करने वाले
तो राइट क्लिक करके इसको कॉपी कर लेंगे हम
अब हमें क्या करना है अब हमें अपने
कंप्यूटर के अंदर सर्च करना है कंट्रोल
पैनल के लिए कंट्रोल पैनल के अंदर जाकर
जाएंगे हम सिस्टम्स में सिस्टम्स के अंदर
हम जा रहे होंगे एडवांस सिस्टम सेटिंग्स
में अब जैसे ही एडवांस सिस्टम सेटिंग्स पर
जाएंगे तो एक पॉपअप दिखेगा हमें स्क्रीन
पर जिसके अंदर हमें इस एनवायरमेंट वेरिएबल
वाले ऑप्शन पर जाना है तो एक और
एनवायरमेंट वेरिएबल का ऑप्शन हमारे पास आ
रहा होगा इस ऑप्शन के अंदर इन एनवायरमेंट
वेरिएबल में नीचे सिस्टम वेरिएबल के अंदर
हमें पाथ को ढूंढना है जैसे ही हम पाथ को
ढूंढ लेंगे ना पाथ पे हमें जाना है तो
हमारा ब्लू कर्सर जैसे ही पाथ पे आ जाएगा
फिर हम कर देंगे उसको एडिट तो हम पाथ को
एडिट करने वाले हैं इसमें हम एक नया पाथ
एडिट करेंगे और नए पाथ के अंदर हम कॉपी कर
देंगे अपनी वो लोकेशन जिसके अंदर हमारे
मजी डब् का बिन फोल्डर है उस लोकेशन को
हमने कॉपी कर दिया उस लोकेशन को हमने
पेस्ट कर दिया है फिर एंटर प्रेस करेंगे
फिर प्रेस करेंगे ओके दोबारा से केके एंड
फाइनली लास्ट का ओके तो इस तरीके से हमारे
वेरिएबल के अंदर पाथ वेरिएबल के अंदर हमने
अपने मंजी डब् के बिन के पाथ को ऐड करा
दिया है अब वीएस कोड को खोलेंगे और अब हम
क्या करने वाले हैं एक सैंपल कोड करके मैं
बस आपको रन करके दिखाने वाली हूं जिसके
अंदर अभी हमें ये नहीं समझना कि सी के
अंदर प्रोग्रामिंग किस तरीके से होती है
या चीजें रन कैसे करते हैं या जो भी हम
लिख रहे हैं उसका मतलब क्या है बस सिंपली
देखना है कि जैसे ही हमने अपना एनवायरमेंट
सेट किया है हमारा सी का कोई भी कोड इस पर
रन करता है तो फाइल के अंदर खोलकर मैं एक
सैंपल कोड लिखने वाली हूं तो वीएस कोड के
अंदर हम एक नई फाइल खोलने वाले हैं उस नई
फाइल को सबसे पहले सेव कर लेते हैं h
world.con करने से पहले वीएस कोड में कुछ
एक्सटेंशंस होती हैं जिनको हमें इंस्टॉल
करना पड़ता है ताकि वीएस कोड समझ पाए कि
आप कौन सा कोड कोड रन करने वाले हैं व
उसके लिए कुछ और एडिशनल आपको फंक्शनैलिटीज
लाकर दे दे तो नीचे आपको एक्सटेंशंस का
ऑप्शन मिल रहा होगा अब सी को रन करने के
लिए हमें c c+ प का जो एक्सटेंशन पैक है
उसको अपने वीएस कोड के अंदर इंस्टॉल करना
पड़ेगा इसको इंस्टॉल एक बार हमने कर लिया
तो ऊपर टर्मिनल में जाकर हम ओपन करेंगे
न्यू टर्मिनल अब मैं कुछ कमांड्स लिखने
वाली हूं जो बहुत ही ज्यादा
कॉम्प्लेक्टेड लिख लिखकर बहुत अच्छे
एडवांस लेवल के सी के प्रोग्राम्स लिखने
वाले हैं तो बिल्कुल अभी चिंता नहीं करनी
कि ये
कॉम्प्लेक्शन करने वाली हैं तो मैंने कुछ
कोड लिखी कमांड्स लिखी नीचे और जैसे ही
मैंने कमांड लिखी मेरे लिए हेलो वर्ल्ड
मेरी स्क्रीन पर प्रिंट होकर आ जाएगा एंड
आप नोटिस करेंगे ऊपर कोड के अंदर भी मैंने
प्रिंट एफ एक चीज लिखी है जिसके अंदर
मैंने हेलो वर्ल्ड लिखा है तो मैंने ऊपर
कोड में भी लिखा है नीचे मेरी स्क्रीन में
भी आ गया है तो कुछ इस तरीके से हमारे सी
का कोड काम कर रहा होता है
के लिए अलग से भी बहुत सारे वीडियोस बनाए
हुए हैं तो आपको अगर कोई भी डाउट आता है
इंस्टॉलेशन में आप उस पर्टिकुलर वीडियो को
जाकर देख सकते हैं एंड उसमें काफी सारे जो
डाउट्स है वो आपके क्लियर हो रहे होंगे अब
अपने सी कोड को लिखने के लिए हम सबसे पहले
एक फाइल क्रिएट करेंगे फाइल को क्रिएट
करने के लिए ऊपर जाना है फाइल में और वहां
पर क्लिक करना है ओपन पर अब ओपन के अंदर
हमारे पास ऑप्शन आएंगे कि कोई हमारे पास
पुराना फोल्डर हो उसको हम पहले से खोल दें
लेकिन हम एक नया फोल्डर बनाने वाले हैं
जिसका हम नाम देंगे सी ट्यूटोरियल्स
इस सी फोल्डर को हम ओपन करने वाले हैं अब
हमारे पास एक ओपन हो गया है फोल्डर इसके
अंदर पर कोई फाइल नहीं है तो सबसे पहले हम
एक सी की फाइल लगाएंगे जैसे हम क्या करते
थे प्रैक्टिकल फाइल बनाया करते थे ना
स्कूल के अंदर जिसमें सारे की सारी हम
चीजें लिखा करते थे वैसे ही यहां पर हम एक
फाइल बनाएंगे जिसके अंदर सारा का सारा
अपना कोड हम लिखने वाले हैं फाइल बनाने के
लिए हम क्लिक करेंगे इस आइकन पर और अपनी
फाइल का हम नाम देंगे हेलोड सी तो ये
हमारी फाइल आ गई है यहां से हम इसे कर
देते हैं बंद अब यहां पर फाइल का नाम हमने
h . स दिया हम अपनी फाइल को कोई भी नाम दे
सकते हैं हो सकता है हम उसे लिखना चाहे
फर्स्ट प्रोग्राम तो हम लिख सकते हैं
फर्स्ट प्रोग्राम स ये डॉ स जो है इसको
एक्सटेंशन कहते हैं जैसे अगर हम t एकटी
फाइल नोटपैड पे कभी फाइल बना देते विज के
सिस्टम में तो उसको हम लिखते थे
abc.xyz
लिखा होता है
पे डॉट पवा लिखा होता है तो जो एक्सटेंशन
होता है वो बता देता है कि फाइल के अंदर
क्या है यहां पे डॉट सी जो है वो सी का
एक्सटेंशन है और ये बता रहा है हमें कि
हमने एक सी की फाइल क्रिएट करी है अब इस
फाइल के अंदर हम क्या करेंगे एक सैंपल कोड
लिखेंगे सी का इस कोड से हम समझेंगे कि सी
को लिखना कितना आसान है और बिल्कुल जितना
लोग बता देते हैं ना प्रोग्रामिंग कोडिंग
बहुत तोप चीज है उतनी कोई बड़ी चीज नहीं
है बहुत ही आसान है इसके अंदर हम कुछ-कुछ
चीजें लिखेंगे जो अभी हमें समझ नहीं आएंगी
लेकिन चैप्टर वन हमारा जैसे ही कंप्लीट ट
होगा सारी चीजें क्लियर हो जाएंगी तो यहां
पर हम कुछ-कुछ चीजें लिखने वाले हैं जो
शायद एलियन लैंग्वेज लग सकती है एसटीडी आड
ए इंट मेन प्रिंट एफ हेलो वर्ल्ड रिटर्न
रो अब यहां हमने हेलो वर्ल्ड लिखा है अब
ये सॉर्ट ऑफ कन्वेंशन होता है कि जो भी नई
प्रोग्रामिंग लैंग्वेज आप सीखते हैं ना
उसमें सबसे पहला कोड जो ये मतलब रूल है
कोडिंग वर्ल्ड का कि सबसे पहला कोड आपको
हेलो वर्ल्ड ही लिखना पड़ता है तो उसका
हमने कोड लिखा है इस कोड का काम है कि यह
हेलो वर्ल्ड को स्क्रीन पे प्रिंट करवा
देगा तो देखते हैं कैसे इसको कर लेते हैं
सेव और किसी भी सी कोड को रन करने के लिए
हमें ऊपर जाना पड़ता है टर्मिनल पे और हम
खोलेंगे न्यू टर्मिनल न्यू टर्मिनल में
सबसे पहले एक लाइन लिखते हैं जीसीसी h स
यहां पर ये जीसीसी जो है वो हमारा कंपाइलर
है c का तो हम उस कंपाइलर को इवोक कर रहे
हैं और उसके बाद लिखेंगे अपनी फाइल का नाम
तो बेसिकली हम क्या कह रहे हैं कि हमारे
जो फाइल में हमने कोड लिखा है उसको कंपाइल
कर दो ये कंपाइल इतना डिफिकल्ट जो शब्द है
ना ये भी चैप्टर वन के एंड तक क्लियर हो
जाएगा तो फाइल को हमने कर दिया कंपाइल अब
इसको रन करेंगे कोड को कैसे रन करेंगे हम
लिखेंगे / एड आउट ये a एक अ बाय डिफॉल्ट
फाइल क्रिएट हो जाती है जिसका एक्सटेंशन
है डॉट आउट यानी डॉट आउटपुट इसको हम कर
देंगे रन तो प्रिंट होगा हमारे लिए हेलो
वर्ल्ड अब जो कोडर्स विंडोज पर हैं उन्हें
यहां पर लिखना पड़ेगा ड a.exe क्योंकि
विंडोज में बाय डिफॉल्ट a.exe फाइल क्रिएट
होती है जिसकी एक्सटेंशन होती है डटी यानी
एग्जीक्यूटेबल फाइल लेकिन जो स्टूडेंट्स
हमारे
बहुत सिंपल और बहुत लॉजिकल है अगर थोड़ा
सा अब हम कोडिंग सीख पाते हैं तो हम
डिस्कवर करेंगे कि उससे हम कितनी सारी
इंटरेस्टिंग चीजें बना सकते हैं तो ये लिख
दिया है हमने अपना हेलो वर्ल्ड प्रोग्राम
इसके अंदर ये मेन क्या होता है ये इंक्लूड
क्या होता है ये यहां पे हैश क्यों लिखा
हुआ है ये ज़ीरो क्यों लिखा हुआ है इन सब
का मतलब हमें धीरे-धीरे समझ में आने वाला
है अब अपने चैप्टर वन के अंदर हम कुछ
बेसिक कांसेप्ट पढ़ेंगे जिनको पढ़ने के
बाद हमें प्रोग्रामिंग समझ में आने लग
जाएगी इसके अंदर हम सबसे पहले पढ़ने वाले
हैं वेरिएबल के बारे में कीवर्ड्स क्या
होते हैं हमारे कांस्टेंट्स क्या होते हैं
साथ में कॉमेंट्स किस तरीके से लिखे जाते
हैं हमने जो अभी सी का बेसिक प्रोग्राम
लिखा है इसका स्ट्रक्चर क्या होता है और
ये जो हमने कंपाइलेशन की बात करी थी हमारा
कोड एक्चुअली रन कैसे हो रहा है इस मशीन
पे इस कंप्यूटर पे इस सब के बारे में हम
सिर्फ अपने चैप्टर वन में पढ़ेंगे और सारी
चीजें सीख लेंगे सबसे पहला टॉपिक जिसके
साथ हम शुरुआत करने वाले हैं ये है
वेरिएबल वेरिएबल की डेफिनेशन की अगर बात
करें तो ये होता है नेम ऑफ अ मेमोरी
लोकेशन व्हिच स्टोर्स सम डेटा अब वेरिएबल
मेमोरी लोकेशन का नाम होता है जब भी हमें
कोई चीज स्टोर करनी पड़ती है उसके लिए
पहले जगह चाहिए होती है जैसे मान लीजिए
हमें कोई जूते रखने हैं तो जूतों के लिए
पहले डब्बे होते हैं ना किसी भी दुकान में
बहुत सारे हर डब्बे के अंदर कुछ जूते आते
हैं एक डब्बे के अंदर हील्स रखी होंगी एक
डब्बे के अंदर चप्पल रखी होंगी तो वो जो
चप्पल है वो हील्स है वो शूज हैं
स्पोर्ट्स शूज हैं वो सारा हमारा डाटा है
और उस डब्बे को हम एक कंटेनर कह सकते हैं
जिसके अंदर हमारा डेटा रहता है और उसी
कंटेनर को अगर हम कोई नाम दे दें तो वो
नाम होगा हमारा वेरिएबल उसी तरीके से
मम्मी जब किचन में बहुत सारे मसाले रखा
करती हैं मान लीजिए एक डब्बा है जिसमें
मसूर की दाल रखी है एक डब्बा है जिसमें
हल्दी रखी है एक डब्बा है जिसमें नमक रखा
है तो ये जो कंटेनर्स होते हैं इनके अंदर
हमारा डाटा होता है यानी कोई हमारा खाने
का सामान होता है बाहर वाला जो कंटेनर
होता है उसको हम कह देते हैं वेरिएबल अब
इसी तरीके से कंप्यूटर भी कुछ डाटा स्टोर
करता है ये डाटा जहां पर जाकर स्टोर होता
है मान लीजिए यह है हमारे कंप्यूटर की
मेमोरी और इसमें खुद के कुछ-कुछ डब्बे बने
हुए हैं और इस मेमोरी के अंदर अगर हमें
नंबर 25 स्टोर कराना है तो उसको हम किसी
एक डब्बे में स्टोर करा देंगे और उस डब्बे
को हम एक नाम दे देंगे जो नाम है यहां पर
a और इसी a को हम कह देते हैं वेरिएबल अब
मान लो इसके बाद नंबर नहीं कोई कैरेक्टर
स्टोर कराना है तो ये कैरेक्टर s को हम एक
नई मेमोरी लोकेशन यानी नए डब्बे पर स्टोर
करा देंगे उस मेमोरी लोकेशन का हम नाम दे
देंगे b और ये b क्या कहलाएगा ये कहलाएगा
हमारा वेरिएबल तो मेमोरी के अंदर अगर हमें
कुछ भी स्टोर कराते हैं तो उस मेमोरी
लोकेशन को जब कोई नाम दे देते हैं उस
डब्बे को कोई नाम दे देते हैं उसको हम
वेरिएबल कहते हैं अब वेरिएबल को एक्चुअली
इंप्लीमेंट कैसे करते हैं उसका कोड लिखकर
देख लेते हैं हल्का सा यह वाली लाइन हम
हटा रहे होंगे यह जो सारा का सारा कोड है
यह हमारा बाय डिफॉल्ट कोड है यानी इसको हम
हर बार लिखने वाले हैं अभी हमें इस पर
ध्यान नहीं देना अभी हमें बीच के कुछ
पार्ट पर ध्यान देना है मान लीजिए हमें
नंबर 25 को स्टोर कराना है तो हम यहां पर
लिखेंगे इंट नंबर इज इक्वल टू 25 तो इस
सिंगल लाइन की वजह से हमारा नंबर 25 में
मेरी में स्टोर हो गया उस डब्बे के अंदर
जाके और उस डब्बे का नाम हमने यहां पर
लिया है नंबर वैसे ही अगर कोई कैरेक्टर
स्टोर कराना हो कैर स्टार इ इक्वल टू
स्टार तो अपनी मेमोरी के अंदर हमारे
कीबोर्ड पे जो स्टार बना हुआ है इसको हमने
स्टोर करा दिया मेमोरी में और उस वेरिएबल
का उस कंटेनर का नाम हमने दे दिया स्टार
उसी तरीके से अगर हमें एज स्टोर करानी है
तो हम लिखेंगे इंट ए इ इक्वल टू 22 तो
यहां पे हमने अपनी एज 22 मेमोरी के अंदर
स्टोर करा दी और उस लोकेशन का नाम हमने दे
दिया एज यहां पर यह जो इंट क्या है यह
कैरेक्टर क्या है इसको हम अभी के लिए
इग्नोर करेंगे और ध्यान देंगे सिर्फ इस
लाइन पर वैसे ही मान लीजिए हमें कोई
डेसीमल वैल्यू स्टोर करानी हुई तो हम
लिखेंगे फ्लोट पा =
3.14 तो ये जो पाई की हमारी वैल्यू होती
है 3.14 ये भी अब मेमोरी के अंदर जाके
स्टोर हो गई है और उस मेमोरी लोकेशन का उस
कंटेनर का हमने नाम दे दिया पाई तो कुछ इस
तरीके से कोई भी नंबर कोई भी वैल्यू अपनी
मेमोरी के अंदर हम स्टोर करा सकते हैं और
वह जहां पर स्टोर हुई है उस कंटेनर का हम
नाम याद रख सकते हैं तो इनको हम वेरिएबल
कहते हैं अब c के अंदर वेरिएबल को लिखने
के कुछ-कुछ रूल्स होते हैं इनमें से सबसे
पहला रूल हमारा होता है कि वेरिएबल आर केस
सेंसिटिव केस सेंसिटिव कहने का क्या मतलब
है कि छोटा a और बड़ा a अलग-अलग होंगे जो
हमारा कैपिटल a और हमारा स्मल a होता है
ये अलग-अलग होंगे इनको हम सेम नहीं मान
सकते जैसे अगर हमें कोई नंबर स्टोर कराना
है 30 तो हम लिख सकते हैं इंट a = 30 तो
मेमोरी के अंदर 30 स्टोर हो गया और उस
लोकेशन का नाम जहां पे स्टोर हुआ उसको
हमने a दे दिया अब हमें दूसरा नंबर स्टोर
कराना है 40 तो अगर हम लिखें इंट a = 40
तो दूसरी लोकेशन पर 40 हमारे पास स्टोर हो
गया और उस लोकेशन का नाम हमने कैपिटल a दे
दिया यहां पर ये स्ल a और यह कैपिटल a
दोनों अलग-अलग वेरिएबल हैं सेम नहीं है
दूसरा रूल जो c का कहता है वेरिएबल के
बारे में वो यह कहता है कि फर्स्ट
कैरेक्टर इज अल्फाबेट और अंडरस्कोर इसका
क्या मतलब है कि वेरिएबल के नाम में जो भी
हमारा पहला कैरेक्टर होता है वह या तो एक
नॉर्मल इंग्लिश का कैरेक्टर हो सकता है या
फिर अंडरस्कोर हो सकता है इसके अलावा और
कोई वैल्यू नहीं हो सकती जैसे अगर हमें एज
स्टोर करानी थी तो हमने क्या लिखा था यहां
पर हमने लिखा था इंट एज इसे हम इस तरीके
से भी लिख सकते थे इंट ए = 22 लेकिन इसको
हम ऐसे नहीं लिख सकते हाइन ए = 22 क्योंकि
यहां पे हमारी रेड लाइन आ जाएगी और यह गलत
हो जाएगा यहां पे अगर हम वन एज भी लिखना
चाहे तो यह रेड हो गया यानी गलत आगे सिर्फ
कोई इंग्लिश का कैरेक्टर या फिर अंडरस्कोर
ही आ सकता है वेरिएबल के नाम में तीसरा
रूल हमारा कहता है नो कॉमा और ब्लैंक
स्पेस यानी वेरिएबल के नाम में ना कोई
कॉमा हो सकता है ना कोई ब्लैंक स्पेस हो
सकती है जैसे अगर हमें कोई फाइनल प्राइस
स्टोर कराना है तो हम लिखेंगे इंट फाइनल
अंडरस्कोर प्राइस इ इ ₹1 अब ये जो
अंडरस्कोर है ना सिर्फ यही एक ऐसा स्पेशल
कैरेक्टर है जो हमारे वेरिएबल के नाम के
अंदर आ सकता है मान लीजिए इस अंडरस्कोर की
जगह हम यहां पर स्पेस दे देते हैं तो यहां
पे हमारे पास आ जाता एरर क्योंकि हम स्पेस
नहीं दे सकते वेरिएबल के नाम में या फिर
स्पेस की जगह अगर हम कॉमा दे देते तो भी
एरर आता क्योंकि कॉमा भी नहीं दे सकते हम
एक ही स्पेशल कैरेक्टर को यूज़ कर सकते
हैं वेरिएबल में जो होता है अंडरस्कोर जो
लेकर आता है हमें फोर्थ रूल की तरफ व्हिच
इज नो अदर सिंबल अदर दन अंडरस्कोर कैन बी
यूज्ड अब वेरिएबल के बारे में एक स्पेशल
चीज वेरिएबल की वैल्यू जो है ना वो फिक्स
नहीं होती वो चेंज हो सकती है जैसे हमने
डिफाइन कर दिया हमारा एज वेरिएबल क्योंकि
आज की डेट में हमारी एज जो है वो 22 है
लेकिन कल को यानी 2 साल बाद हमारी एज 24
हो जाएगी अपडेट होके तो उसको हम किस तरीके
से लिखेंगे एज इ इक्व
24 तो पहले हमारा जो एज वेरिएबल था यानी
वो जो मेमोरी लोकेशन थी उसमें 22 स्टोर्ड
था पर अब 2 साल बाद हमारी एज में हमने
स्टोर करा दिया 24 तो इस तरीके से किसी भी
वेरिएबल की वैल्यू को हम अपडेट कर सकते
हैं तो वेरिएबल जो हैं हमारे कोड के अंदर
वो चेंज होते रहते हैं एंड इनफैक्ट
वेरिएबल का जो इंग्लिश मतलब होता है वो भी
होता है कोई ऐसी चीज जो चेंज होती रहती है
तो इट ऑल मेक्स सेंस नाउ अब वेरिएबल को जब
भी हम लिखते हैं एक स्पेशल टिप हर
प्रोग्रामर को दी जाती है जो एक सीनियर
प्रोग्रामर दे रहा होता है कि वेरिएबल के
नाम हमेशा मीनिंगफुल होने चाहिए यानी
वेरिएबल को पढ़ते ही देखते ही हमें समझ
में आ जाए इसके अंदर स्टोर क्या हुआ है
जैसे हमने यहां पर एज स्टोर की तो वेरिएबल
का नाम एज दे दिया एक स्टार स्टोर कर दिया
तो उसका नाम स्टार दे दिया कोई रैंडम नंबर
स्टोर किया है तो नाम हमने नंबर दे दिया
कभी-कभी रैंडम हां हम ए बी सी इस तरीके के
नाम रख सकते हैं क्योंकि वो इजी पड़ता है
लेकिन जब भी हम कोई बड़ा प्रोग्राम लिख
रहे हैं ना उसमें ए बी सी करके बहुत सारे
वेरिएबल हो जाएंगे इसीलिए वहां पर
मीनिंगफुल नाम देने बहुत जरूरी हैं तो अगर
आगे जाकर आप अपने इंटरव्यूज में बैठते हैं
कंपनीज में प्लेसमेंट्स के लिए या फिर कोई
अपना प्रोजेक्ट बना रहे हैं अच्छे लेवल का
फ्रीलांसिंग करें तो उसके अंदर अपने
वेरिएबल के नाम हमें बहुत अच्छे से लिखने
हैं जैसे अगर हमें 100 ही स्टोर कराना था
तो यहां पे सीधा सिर्फ एफ लिख सकते थे
लेकिन हमने पूरा नाम लिखा फाइनल प्राइस
जिससे समझ आए कि 100 जो है एक प्राइस है
अब जो नेक्स्ट चीज जिसके बारे में हम
पढ़ने वाले वेरिएबल के बाद वो है हमारी
डाटा टाइप्स सी के अंदर बहुत सारे डेटा
टाइप्स होते हैं ये डिफरेंट जो डेटा
टाइप्स हैं उनकी हमने आपको लिस्ट दी हुई
है और ये सारी की सारी स्लाइड्स आपको नीचे
डिस्क्रिप्शन बॉक्स में अवेलेबल होंगी तो
यहां पर अभी कुछ भी याद करने की जरूरत
नहीं है इनफैक्ट ये सारे के सारे हमें याद
करने भी नहीं पड़ते इसमें कुछ-कुछ ऐसे हैं
जो कोडिंग करते करते हमें डेफिनेटली याद
हो जाएंगे तो उसी से सारी चीजें जो है
दिमाग में रहती है डेटा टाइप होता है कि
मेमोरी के अंदर आप किस तरीके का डाटा
स्टोर कर रहे हैं और जिस भी तरीके का डाटा
होता है ना उसके लिए स्पेसिफाइड होता है
कि ये इतनी ही मेमोरी खाएगा जैसे जब भी
पेन ड्राइव खरीदते हैं तो उसपे लिखा होता
है कि ये 8gb की पेन ड्राइव है या 16gb की
पेन ड्राइव है उसी तरीके से हमारा जो
कैरेक्टर टाइप का डाटा होता है वो खाता है
हमारी वन बाइट की मेमोरी को अगर इंटी जर
टाइप के डाटा की बात करें तो वो खाता है
हमारी 2 बाइट की मेमोरी को अगर फ्लोट डाटा
की बात करें तो वो खाता है हमारी फोर वाली
मेमोरी को अब वो स्टूडेंट्स जो दूसरी
लैंग्वेजेस सीखने के बाद सी को सीख रहे
हैं वो मेरी तरह थोड़े से सरप्राइज्ड हो
जाएंगे क्यों क्योंकि उन्हें पता चलेगा कि
सी के अंदर ना तो बोलियन टाइप का डेटा
टाइप होता है ना स्ट्रिंग टाइप का डटा
टाइप होता है ये दोनों सी के अंदर एजिस्ट
नहीं करते हैं क्योंकि सी सबसे पहले आई थी
यानी सी 1970 में आई थी उसके बाद c+ प आई
थी उसके बाद जावा आई थी उसके बाद
जावास्क्रिप्ट आई थी तो सी हमारी बहुत ही
पुरानी लैंग्वेज है इसीलिए इसमें काफी
सारी ऐसी चीजें हैं जैसे ऑब्जेक्ट्स और
क्लासेस हो गए जो मिसिंग होते हैं तो ये
कॉन्सेप्ट्स जो हैं इनके लिए हमें दूसरी
लैंग्वेजेस बाद में सीखनी पड़ती है तो इन
सारे डाटा टाइप्स में से हम कुछ-कुछ
इंपॉर्टेंट डे डाटा टाइप्स जो हैं उनको
लिखकर देखेंगे और सिर्फ उन्हें ही अभी
हमें याद रखना है बाकियों को याद अभी रखने
की जरूरत नहीं है तो अपने कोड के अंदर
हमने जो ऑलरेडी काफी सारी चीजें लिखी थी
उनको एक बार हटा देते हैं और तीन डेटा
टाइप्स की यहां पे बात करेंगे सबसे पहला
डेटा टाइप है हमारा इंट इंट क्या स्टोर
करता है इंट स्टोर करता है इंटी जर
वैल्यूज को यानी जो वैल्यूज हमारी होल
होती हैं या तो पॉजिटिव हो सकती है या
नेगेटिव हो सकती हैं जैसे + 1 हो गया + 2
हो गया + 5 हो गया -1 हो गया 0 हो गया इस
तरीके की वैल्यूज तो अगर हमें एज स्टोर
करवानी है तो एज हमारी एक होल वैल्यू होती
है यूजुअली तो उसको हम स्टोर करवाएंगे इंट
डाटा टाइप में तो यहां लिखेंगे इंट एज इ
इक्वल टू 22 तो इस लाइन से हमें तीन चीजें
पता चली सबसे पहला जो डाटा हम स्टोर करा
रहे हैं वो है 22 जिस मेमोरी लोकेशन पे
स्टोर कराया है उसका नाम हमने दिया है एज
और जिस टाइप का डाटा है वो है इंटी जर
वैल्यू अब वैसे ही अगर हमें पाई की वैल्यू
स्टोर करानी हो पाई तो हमारा इंटी जर होता
नहीं है उसके अंदर तो डेसीमल वैल्यूज आती
हैं इसीलिए उसको हम स्टोर कराएंगे फ्लोट
डेटा टाइप में तो यहां लिखेंगे फ्लोट फिर
लिखेंगे पाई और इसकी वैल्यू हम दे देंगे
3.14 तो ये डेसिमल वैल्यूज वाला एक नंबर
है इसको हमने फ्लोट डेटा टाइप में स्टोर
कराया है अब इसके अलावा एक और डटा टाइप
होता है जिसका नाम होता है कैरेक्टर तो जो
भी हमारी स्पेशल कैरेक्टर्स होते हैं ना
जैसे हैश हो गया हमारा एम पर हो गया रेट
हो गया स्टार हो गया यानी एस्ट रिस्क उन
सबको हम कैरेक्टर डाटा टाइप में स्टोर
कराते हैं कैरेक्टर के लिए लिखना पड़ेगा
कैर और यहां पर मान लीजिए हम लिखते हैं
अपना शैग
तो यहां पर सबसे पहले कैरेक्टर्स को स्टोर
कराने के लिए हमें सिंगल कोट लिखने पड़ते
हैं और अंदर हम लिख सकते हैं अपना
कैरेक्टर तो इस तरीके से हमने कैर डटा
टाइप का एक वेरिएबल स्टोर करा लिया फ्लोट
का करा लिया इंट का करा लिया अभी के लिए
क्योंकि हम बेसिक लेवल से चल रहे हैं यही
तीन जो हैं ये तीनों मेन हैं जिनको हमें
याद रखने की जरूरत है बाकी हम टाइम के साथ
और ज्यादा सीखते चले जाएंगे अब नेक्स्ट
टॉपिक जिसकी हम बात करेंगे वो है हमारे
कांस्टेंट्स हमने बात की थी इससे पहले
वेरिएबल की वेरिएबल में क्या इशू था
वेरिएबल की वैल्यू चेंज हो सकती थी अब अगर
जब भी हम बड़ी-बड़ी कंपनीज में बड़े-बड़े
सॉफ्टवेयर्स बनाते हैं जैसे कोई एडमिन
पैनल हमने बनाया कोई वेबसाइट बनाई उसके
टेस्टिंग पर्पसस के लिए हम क्या करते हैं
एक अपना खुद का ईमेल पासवर्ड रख लेते हैं
जो फिक्स्ड होता है जिसकी वैल्यू हमें
चेंज नहीं करनी हर बार उसी ईमेल पासवर्ड
से हमें लॉग इन करना है तो हम क्या कर
सकते हैं किसी फाइल के अंदर एक ईमेल
वेरिएबल बना सकते हैं एक पासवर्ड वेरिएबल
बना सकते हैं और दोनों के अंदर कोई वैल्यू
रख सकते हैं सी के अंदर वो वैल्यूज जो
हमेशा कांस्टेंट रहती हैं जिनकी वैल्यू
चेंज नहीं होती उनको हम कहते हैं
कांस्टेंट्स कांस्टेंट्स हमारे तीन टाइप
के होते हैं इनमें से सबसे पहले हैं इंटी
जर कांस्टेंट्स जैसे हमारा नंबर वन हो गया
वन की वैल्यू हमेशा वन ही रहेगी वन की
वैल्यू नेगेटिव 1 या 0 या नेगेटिव फ वो
नहीं हो सकती वन की वैल्यू हमेशा
कांस्टेंट रहेगी फिक्स्ड रहेगी तो हमारे 1
2 3 0 -1 -2 इस तरीके के जो कांस्टेंट्स
होते हैं इनको इंटी जर कांस्टेंट्स कहते
हैं उसके बाद आते हैं हमारे रियल
कांस्टेंट्स रियल कांस्टेंट्स यानी जिनके
अंदर रियल नंबर्स होते हैं जैसे वन 0 अब
1.01 भी होता है लेकिन यह रियल कांस्टेंट
है इसको दिखाने के लिए इसका पट 0
एक्स्ट्रा लिखा गया है उसी तरीके से 2 का
प0 एक्स्ट्रा लिखा गया है अगर ये सिर्फ टू
होता तो फिर ये इंटी जर कांस्टेंट बन जाता
अभी ये रियल कांस्टेंट है 3.14 यहां पर
हमारे पास आना चाहिए था - 2.4 तो फिर ये
एक रियल कांस्टेंट होता अब तीसरा टाइप ऑफ
कांस्टेंट हमारे पास होते हैं कैरेक्टर
कांस्टेंट्स कैरेक्टर्स में क्या-क्या आ
जाते हैं हमारे सारे अल्फाबेट्स आ जाते
हैं अपर केस लोअर केस में हमारे पास
कैपिटल ए आ गया स्पेशल कैरेक्टर्स भी आ
जाते हैं जैसे हमारे पास हैश आ गया हमारा
एम परसेंट आ गया हमारा एस्ट रिस्क आ गया
या इसके अलावा हमारा ट द रेट आ गया तो इस
तरीके के सारे कैरेक्टर्स मिलकर हमारे
कैरेक्टर कांस्टेंट्स बनाते हैं और एक चीज
नोट करनी पड़ेगी यहां पर कि कैरेक्टर
कांस्टेंट जो होते हैं ना इस कैपिटल a की
वैल्यू हमेशा कैपिटल a ही रहेगी स्ल ए
नहीं हो जाएगी और जब भी कैरेक्टर
कांस्टेंट्स को कोड के अंदर लिखना होता है
तो उनको हम लिखते हैं सिंगल कोड्स के अंदर
यानी जब भी हम कोई कैरेक्टर कांस्टेंट
लिखेंगे कोड में तो वहां पर हमें सिंगल
कोड्स लगाने पड़ेंगे अब नेक्स्ट टॉपिक
जिसकी हम बात करेंगे उसका नाम है कीवर्ड्स
जैसे डिक्शनरी के अंदर कुछ-कुछ वर्ड होते
हैं हर वर्ड का अपना एक फिक्स्ड मतलब होता
है उसको चेंज नहीं कर सकते वैसे ही हर
प्रोग्रामिंग लैंग्वेज की अपनी एक
डिक्शनरी होती है सी की भी अपनी एक
डिक्शनरी है जिसके अंदर कुछ-कुछ वर्ड्स जो
हैं वो रिजर्व्ड हैं यानी वो फिक्स्ड है
उसका मतलब सिर्फ वही रहेगा उसको हम
वेरिएबल नाम की तरह यूज़ नहीं कर सकते ना
ही करना चाहिए
तो इसी तरीके से सी के अंदर कुछ रिजर्व्ड
वर्ड्स हैं जिनका कुछ स्पेशल मीनिंग है और
यह मीनिंग कंपाइलर को पता है तो सी
प्रोग्रामिंग लैंग्वेज के अंदर 32
कीवर्ड्स होते हैं और इन कीवर्ड्स का हमें
खास ध्यान देना है अगर इन 32 की लिस्ट की
बात करें तो हमारे 32 कीवर्ड्स कुछ ऐसे
होते हैं सी के अंदर इस लिस्ट में हमें
दिख रहा होगा कि इंट हमारा एक रिजर्व्ड
वर्ड है हमारा कीवर्ड है सी का तो इसको
यानी किसी भी वेरिएबल का नाम हम इंट नहीं
रख सकते वैसे ही हम इसमें ढूंढने निकले तो
फ्लोट भी हम हमारा एक कीवर्ड है इसके
अलावा कैरेक्टर भी हमारा एक कीवर्ड है और
ये जो सारे के सारे कीवर्ड्स हैं ना इनको
अब अपने पूरे कोर्स के अंदर हम कहीं ना
कहीं एक्सप्लोर कर लेंगे तो हमें पता चल
जाएगा कौन-कौन से कीवर्ड्स हैं इसीलिए जब
भी अपने प्रोग्राम में देखते हैं ना हम
जैसे हमारे पास ये इंट लिखा हुआ है इस इंट
का एक स्पेशल मतलब है जो सिर्फ कंपाइलर को
पता है तो किसी भी वेरिएबल का नाम हमें
इंट नहीं रखना ये रिटर्न है रिटर्न भी एक
कीवर्ड है किसी भी वेरिएबल का नाम हमें
रिटर्न नहीं रखना क्योंकि ये स्पेशल
वर्ड्स है जिनके मतलब फिक्स्ड हैं जो
कंपाइलर को पता है अब एक बार अपने
प्रोग्राम के स्ट्रक्चर को समझते हैं कि
जिस भी प्रोग्राम को जिस भी कोड को हम लिख
रहे हैं उसको एक्चुअली समझ कैसे सकते हैं
हम कि वो बना कैसे होता है तो जैसे ह्यूमन
बॉडी का एक स्केलेटन होता है वैसे ही हर
एक कोड का हर एक प्रोग्राम का एक
स्ट्रक्चर होता है अगर हम अपने सी के
प्रोग्राम के स्ट्रक्चर की बात करें तो
हमारा प्रोग्राम कुछ ऐसा दिखता है ये
हमारा इनिशियल कोड है जिसको हमने लिखा था
इसमें सबसे पहले लिखा हुआ है हैश इंक्लूड
फिर हमारे एंगुलर ब्रैकेट्स आ जाते हैं और
बीच में आया है एसटीडी आड ए इसको कहते हैं
हम अपना प्री
प्रोसेसर डायरेक्टिव अब एक प्री प्रोसेसर
डायरेक्टिव होता क्या है इसको बाद में
पढ़ेंगे अभी के लिए ये समझना है कि इस
लाइन को हमें हमेशा अपने कोड के अंदर
लिखना है नहीं तो हमारा सी को कोड नहीं चल
रहा होगा उसके बाद हम हमेशा ये लाइन लिखते
हैं इंट मेन उसके बाद हमारे पेंसिस और फिर
कर्ली ब्रेसस और इन कर्ली ब्रेसस के अंदर
जो भी पार्ट लिखा होता है यह होता है
हमारा मेन का कोड हमारा जो प्रोग्राम का
एग्जीक्यूशन होता है वो मेन फंक्शन से
शुरू होता है यानी इस फंक्शन से फंक्शन
हमारे कोड का एक ऐसा पार्ट होता है जो
हमें कुछ काम करके देता है हम फंक्शंस के
बारे में भी डिटेल में पढ़ने वाले हैं मेन
फंक्शन से हमेशा किसी भी सी प्रोग्राम का
एग्जीक्यूशन शुरू होगा और वो एग्जीक्यूशन
होगा लाइन बाय लाइन यानी सबसे पहले ये
लाइन आई है तो पहले ये एग्जीक्यूट होगी
फिर ये लाइन आई है तो फिर ये एग्जीक्यूट
होगी इसके बाद हमारा मेन फंक्शन जो है वो
खत्म हो जाता है अब आप नोटिस करेंगे कि हर
लाइन के पीछे हम कोड के अंदर एक सेमीकलन
लिखते हैं यानी इस लाइन के पीछे भी एक
सेमीकलन लिखा है इस लाइन के पीछे भी एक
सेमीकलन लिखा है यह सेमीकलन हमारी लाइन
में एक फुल स्टॉप की तरह होता है जैसे हम
हिंदी में पूर्ण विराम लगाते हैं हम
इंग्लिश के सेंटेंसेस में एंड में डॉट
लगाते हैं यानी पीरियड लगाते हैं वैसे ही
हम अपने सी प्रोग्राम के अंदर एक सेमीकलन
लगाकर ये दिखाते हैं कि यहां पर हमारी
लाइन खत्म हो गई है अब आगे जो भी लिखा हुआ
है वो नेक्स्ट लाइन का है इस पूरी की पूरी
चीज को हम यहां भी लिख सकते थे इसके बाद
और हमें पता होता कि वो नेक्स्ट लाइन में
है क्योंकि सेमी कोलन के बाद आ रहा है और
इसके साथ-साथ हमारा जो कोड है ना उसकी
सारी इंस्ट्रक्शंस केस सेंसिटिव है यानी
यहां पर अगर हम लिख लिखना चाहे इंट मेन तो
यह गलत होगा क्योंकि ये सारे अपर केस में
आ गए क्योंकि सी एक के सेंसिटिव लैंग्वेज
है तो जो स्मॉल है वो स्मॉल केस में रहेगा
जो अपर है वो अपर केस में रहेगा उसको हम
इंटरचेंज या रिप्लेस नहीं कर सकते तो इस
तरीके का स्ट्रक्चर रहता है जब भी हम अपना
एक सी प्रोग्राम क्रिएट करते हैं ऊपर
हमेशा एक हेडर फाइल या अपना प्रीप्रोसेसर
डायरेक्टिव इंक्लूड करना है उसके बाद इंट
मेन लिखना है और ये कर्ली ब्रेसेज लगाने
हैं और इसके बीच में हम कुछ भी लिख सकते
हैं पर एंड में हम हमेशा हमेशा एक रिटर्न
जरो वाली लाइन लिखते हैं यह रिटर्न रो में
रो दिखाता है जरो एरर्स यानी हमारा कोड
सक्सेसफुली एग्जीक्यूट हो गया इसमें कोई
एरर नहीं आया तो ये रिटर्न जरो भी हमेशा
एंड में लिखेंगे यहां पर ये वाला पार्ट है
जिसको हम अपने कोड के अंदर कभी भी कहीं भी
चेंज कर सकते हैं अब नेक्स्ट टॉपिक जिसके
बारे में हम पढ़ेंगे इस चैप्टर में वो है
हमारे कमेंट्स जैसे हम लाइफ के अंदर
कुछ-कुछ कमेंट्स देते रहते हैं ना लोगों
को या हम किसी
चीज लिखना जो हमारे कोड का पार्ट नहीं है
कुछ एक्स्ट्रा पार्ट है कॉमेंट्स इंग्लिश
में भी हो सकते हैं कुछ-कुछ लैंग्वेजेस
अलाउ करती हैं कि हमारे कॉमेंट्स हम
डिफरेंट लैंग्वेजेस में भी लिखते हैं हम
चाइनीज में कॉमेंट्स लिख सकते हैं रशियन
में लिख सकते हैं तो ये वो पार्ट है जो
कोड में इंक्लूडेड नहीं है ये हमारे
एक्स्ट्रा इंस्ट्रक्शंस होते हैं अब
कॉमेंट दो टाइप्स के होते हैं सी के अंदर
सबसे पहले होते हैं हमारे सिंगल लाइन
कॉमेंट्स जिनको हम डबल स्लैश लगाकर लिखते
हैं और उसके बाद होते हैं हमारे मल्टीपल
लाइन कॉमेंट्स जिनको हम इस फॉर्मेट में
लिखते हैं अब अपने कोड में एक्चुअली
कमेंट्स लिख कर देखते हैं कि लिखे कैसे
जाते हैं जैसे इस कोड के अंदर हमने अंदर
बताया है कि डेटा टाइप्स क्या होते हैं तो
यहां पर हम एक कॉमेंट लिख सकते हैं डबल
स्लैश लगाकर दिस कोड डिस्प्लेज हाउ डेटा
टाइप्स वर्क इन सी तो ये एक ऐसी चीज है जो
इंग्लिश में लिखी गई है और कोड का पार्ट
नहीं है ऐसे ही मान लो कि हमें मल्टीपल
लाइन में कॉमेंट्स लिखने होते हैं तो हम
लिखते हैं स्लश एस्ट रिस्क और एस्ट रिस्क
स्लैश और इसके बीच में हम कुछ भी लिख सकते
थे दिस इज अ मल्टी लाइन कमेंट तो यह हमारी
मल्टीपल लाइंस पर हम कुछ-कुछ चीजें लिखे
जा रहे हैं और ये सारी कॉमेंट का पार्ट है
अब अगर इसको हम हटा दें तो ये जो इंग्लिश
वाली चीज है ना ये हमें एरर देगी क्योंकि
ये एक्चुअली सी को समझ ही नहीं आ रही
कंपाइलर समझ ही नहीं पा रहा कि इसका मतलब
क्या है ये एक्चुअली लिखा क्या हुआ है
इसीलिए वो पार्ट जो सेंस नहीं बना था
कंपाइलर के लिए उसको हम हमेशा कमेंट्स में
लिखते हैं जैसे बड़ी-बड़ी कंपनीज में जब
भी आप कोड लिखने चलेंगे तो कोड इतना
ज्यादा हजारों लाइनों के कोड हो जाते हैं
कि उसको समझना मुश्किल हो जाता है इसीलिए
दूसरे प्रोग्रामर्स को हेल्प करने के लिए
हम अपने कोड के अंदर कमेंट्स लिखते हैं
उनको ये बताने के लिए कि कोड का कौन सा
पार्ट क्या फंक्शन परफॉर्म करता है अब
नेक्स्ट टॉपिक जिसको हम पढ़ेंगे वो है
आउटपुट जब भी हम किसी भी लैंग्वेज में
प्रोग्रामिंग करते हैं इनपुट आउटपुट बहुत
एसेंशियल बहुत जरूरी पार्ट है
प्रोग्रामिंग का सबसे पहले सीखेंगे सी के
अंदर हम आउटपुट कैसे दिखाते हैं उसके बाद
सीखेंगे सी के अंदर हम इनपुट कैसे लेते
हैं तो आउटपुट दिखाने के लिए सी के अंदर
अभी हमने लिखा था एक स्टेटमेंट वो होती है
प्रिंट एफ और उसके बाद लगाते हैं हम
पैरेंस पैरेंस के अंदर हम लिखते हैं डबल
कोट्स और डबल कोट्स के अंदर हम कुछ भी लिख
सकते हैं हमने लिखा था हेलो वर्ल्ड पर
यहां पर हम लिख सकते हैं हेलो श्रद्धा
यहां पर हम लिख सकते हैं हेलो अपना कॉलेज
यहां पर हम लिख सकते हैं हेलो सी तो कुछ
भी लिखा जा सकता है इन डबल कोड्स के अंदर
और जो भी चीज हम लिखेंगे वो वैसी की वैसी
स्क्रीन पे हमारे पास प्रिंट हो जाएगी और
इस प्रिंट प्रिंट करवाने का
रिस्पांसिबिलिटी जो है इस प्रिंट एफ नाम
के एक फंक्शन ने लिखी है प्रिंट एफ हमारे
लिए कुछ भी प्रिंट करवा देता है स्क्रीन
पे और इस लाइन के एंड में हम लगा देंगे
सेमीकलन यह दिखाने के लिए की लाइन यहां पर
खत्म हो गई इसका एग्जांपल अगर
देखें तो अपने कोड के अंदर हम यहां पर लिख
सकते हैं प्रिंट एफ और उसमें लिख सकते हैं
हेलो सी इसको कर लेते हैं सेव ऊपर वाली
एक्स्ट्रा स्पेस को उडा देते हैं और रन
करते हैं अपने कोड को टर्मिनल खोलकर ऊपर
आएगा जीसीसी हेलोड स और हमारे लिए प्रिंट
हो गया हेलो सी अब मान लीजिए हमें बार-बार
बार-बार हेलो सी प्रिंट करना है उसको कैसे
प्रिंट करेंगे इसी लाइन को कॉपी कर लेते
हैं पेस्ट पेस्ट पेस्ट तो चार बार हमने
हेलो सी को प्रिंट कर लिया इसको सेव कर
लेते हैं और यहां पर दोबारा से रन करेंगे
अब हमारे पास हेलो सी प्रिंट हुआ उसके
इमीडिएट बाद दोबारा से हेलो सी प्रिंट हुआ
इसी तरीके से चार बार प्रिंट हुआ पर हम तो
चाहते थे कि अगली अगली अगली अगली लाइन में
प्रिंट हो तो वो नेक्स्ट लाइन हमेशा करने
के लिए ना यहां पर हमें एक चीज लिखनी
पड़ती है स्पेशल चीज जो है हमारा बै स् n
ये बै स् n दिखाता है कि जो भी हमें
प्रिंट करना था ना प्रिंट f में वो तो
प्रिंट हो जाएगा उसके बाद एक नेक्स्ट लाइन
आ जाएगी इसी सेम को यहां पर बै स् n लिख
देते हैं इसके बाद भी नेक्स्ट लाइन चाहिए
इसके बाद भी नेक्स्ट लाइन चाहिए और इसके
बाद भी नेक्स्ट लाइन चाहिए तो इसको कर
देते हैं सेव अब यहां पर दोबारा रन करेंगे
इसको तो अब हमारा जो आउटपुट है वो नेक्स्ट
लाइन में चला गया है एक्चुअली हुआ क्या
इसने हेलो सी प्रिंट किया तो हेलो सी
प्रिंट हो गया उसके बाद बै स्ल ए प्रिंट
किया तो बैक स्ल ए यानी नेक्स्ट लाइन तो
हम यहां पर आ गए फिर दोबारा से हेलो सी
प्रिंट हुआ फिर दोबारा से बै स् n तो
नेक्स्ट लाइन में आ गए इसी तरीके से जब भी
हमें आउटपुट नेक्स्ट लाइन में लेके आना हो
ना तो हम बै स् n लिख देते हैं अब मान
लेते हैं हमने कोई वेरिएबल बनाया है अपने
कोड के अंदर जैसे अगर हमने लिखा इंट ए इ
इक्वल टू 22 और इस एज को हम प्रिंट करवाना
चाहते हैं अपनी स्क्रीन पर कैसे प्रिंट
करवाए इस एज को तो हमें इसके लिए लिखना
पड़ेगा प्रिंट एफ एज इज क्या हम लिखें एज
एक बार इस चीज का हम आउटपुट देखते हैं एज
इज एज तो ये जो डबल कोट्स के अंदर हमने जो
भी लिखा ना इसको हम स्ट्रिंग कहते हैं
यानी ये चीज वैसी की वैसी प्रिंट हो जाएगी
पर हमें तो इसके एज के अंदर का नंबर
प्रिंट करवाना था तो आउटपुट को प्रिंट
करवाने के स के अंदर कुछ-कुछ केसेस आ जाते
हैं इनमें से सबसे पहला केस होता है कि जब
भी हमें कोई इंटी जर प्रिंट करवाना हो तो
उसके लिए हमें अपनी प्रिंट स्टेटमेंट में
लिखना पड़ता है सबसे पहले परसेंटेज का
साइन और डी यह डी दिखाता है डबल वैल्यू को
डबल भी एक डाटा टाइप होता है इसके बारे
में हम बाद में पढ़ रहे होंगे तो परसेंटेज
का साइन और डी और उसके बाद जैसे ही लाइन
खत्म हो जाए फिर लिखेंगे कॉमा और फिर लिख
देंगे अपने वेरिएबल की वैल्यू तो जब भी
चीज प्रिंट होगी ना यह पूरा का पूरा तो
प्रिंट हो जाएगा और इस परसेंटेज डी की जगह
हमारी एज की वैल्यू आ जाएगी जो उसको
रिप्लेस कर देगी उसी तरीके से अगर रियल
नंबर्स के लिए करवाना है तो हम लिख
लिखेंगे परसेंटेज f और फिर लिख देंगे
वेरिएबल तो ये वेरिएबल की वैल्यू रिप्लेस
कर लेगी इस परसेंटेज f को जब भी आउटपुट
प्रिंट होगा अगर कैरेक्टर्स के लिए कराना
है तो लिखेंगे परसेंटेज c और फिर लिख
देंगे अपना वेरिएबल तो वेरिएबल यहां पर इस
परसेंटेज c को रिप्लेस कर लेगा तो इस
तरीके से हमें जब भी कोई वेरिएबल प्रिंट
करवाना होता है जिसका डटा टाइप है कुछ
जिसका कुछ टाइप है तो उसके लिए हम
परसेंटेज डी लिखते हैं इंटी जर टाइप में
परसेंटेज f लिखते हैं रियल नंबर्स में और
परसेंटेज स लिखते हैं कैरेक्टर्स में और
इनको एक्चुअली सी के अंदर इन तीनों को हम
कहते हैं फॉर्मेट
स्पेसिफाई करते हैं कि आउटपुट किस फॉर्मेट
में हमारे पास आएगा और ये जो प्रिंट एफ
फंक्शन है ये एक्चुअली हमारा लाइब्रेरी
फंक्शन है जो बाय डिफॉल्ट सी के अंदर हमें
पहले से परोस के दे दिया जाता है तो एक
बार इन आउटपुट के केसेस को हम भी देख लेते
हैं एग्जीक्यूट करके अब अगर हमें एज लिखनी
है तो हमें पता है कि यहां हमें लिखना
पड़ेगा परसेंटेज डी यहां लगाना पड़ेगा
कॉमा और यहां हम लिखेंगे एज इसको कर लेते
हैं सेव और खोलते हैं अपना टर्मिनल अब
हमारे पास प्रिंट हो कर आ गया है एज इज 22
यहां पे यह परसेंटेज का साइन इसलिए आ रहा
है क्योंकि हमने नेक्स्ट लाइन नहीं दिया
तो इसको सेव करके अगर हम नेक्स्ट लाइन दे
अब हमारे पास आया एज इज 22 अब सिमिलर
तरीके से अगर एज की जगह हमें प्रिंट
करवानी है पाई की वैल्यू तो हम लिखेंगे
फ्लोट पा =
3.14 और यहां पर हम लिखेंगे परसेंटेज f और
यहां लिखेंगे पाई इसको कर लेते हैं सेव तो
अब हमारे पास प्रिंट हुआ एज इज
3.14 तो बाय डिफॉल्ट फ्लोट के अंदर कुछ
नंबर ऑफ डेसिमल्स हैं जो हमेशा प्रिंट ही
होने होते हैं तो उनको हमने यहां पर
प्रिंट कर दिया है अब आप सोच रहे होंगे कि
बार-बार ये जो स्टेटमेंट है एग्जीक्यूशन
की ये कैसे आ रही है तो आपकी जो एरो कीज
होती हैं कीबोर्ड पर आप उनको अपर वाली की
जो है प्रेस कर सकते हैं तो पुरानी
कमांड्स में जा सकते हैं तो तो आपको
बार-बार पूरी स्टेटमेंट एग्जीक्यूट करने
के लिए लिखनी नहीं पड़ेगी आप डायरेक्टली
उस की को प्रेस करके एग्जीक्यूट कर सकते
हैं अब सिमिलर वे में अगर हमें कोई
कैरेक्टर प्रिंट करवाना हो मान लो हमने
कैरेक्टर बनाया है एक स्टार जो स्टार
वेरिएबल का नाम है और इसके अंदर एस्टरिस
को स्टोर कराया है तो हम यहां लिखेंगे
स्टार इज यहां आ जाएगा परसेंटेज सी और
यहां आ जाएगा स्टार इसको कर लेते हैं सेव
और इसको रन किया तो आउटपुट हमारे पास आया
स्टारस एस्ट डिस्क तो कुछ इस तरीके से
हमारे डिफरेंट तरीके के डाटा को हम अपनी
स्क्रीन के ऊपर प्रिंट करवा सकते हैं अब
नेक्स्ट कांसेप्ट जो काफी इंपॉर्टेंट
कांसेप्ट है इस लैंग्वेज का वो है हमारा
इनपुट स के अंदर इनपुट लेने के लिए हम एक
फंक्शन का इस्तेमाल करते हैं जो एक दूसरा
लाइब्रेरी फंक्शन है जिसका नाम है स्कैन
एफ जैसे प्रिंट करने के लिए यूज किया था
प्रिंट एफ वैसे ही कुछ भी इनपुट लेने के
लिए स्कैन करने के लिए यूज करेंगे स्कैन f
अब इसका फॉर्मेट यह रहता है कि जो भी
वैल्यू हमें इनपुट लेनी है उसका सबसे पहले
टाइप लिख देंगे तो फॉर्मेट
स्पेसिफाई परसेंटेज डी हमें दिखाता है कि
हम एक इंट टाइप की वैल्यू को इनपुट लेने
वाले हैं तो सबसे पहले अपने कोट्स लगा
देंगे डबल कोट्स उसके अंदर अपना फॉर्मेट
स्पेसिफाई कॉमा कॉमा के बाद हमें लिखना है
कि ये जो वैल्यू हम इनपुट ले रहे हैं उसका
टाइप तो हमने समझ लिया अब उसको कौन से
वेरिएबल में स्टोर कराना है तो लिखेंगे
अपने वेरिएबल का नाम और उस वेरिएबल के नाम
से पहले एम परसेंट लगा देंगे ये एम परसेंट
यानी एंड एक्चुअली एक एड्रेस है ये इस
वेरिएबल का एड्रेस है यानी ये क्या करेगा
मेमोरी के अंदर जहां पर एज को कोई मेमोरी
का ब्लॉक दिया गया है उस एड्रेस पर जाएगा
और जो भी इनपुट हमारे पास आएगा उसको उस
एड्रेस प जाके स्टोर करा देगा तो कुछ इस
तरीके का काम रहता है स्कैनफ का अब क्या
करते हैं एक नंबर को इनपुट लेके देखते हैं
कि एक्चुअली स्कैन एफ जो है स्कैन कैसे
करता है नंबर को हम बना लेते हैं एक
वेरिएबल एज अब यहां पर लिखेंगे प्रिंट एफ
एंटर एज अब इस वेरिएबल को स्कैन कर लेते
हैं स्कैन एफ से परसेंटेज डी एड्रेस एज और
जो भी वैल्यू हमारे पास वहां पर जाकर
स्टोर हो जाएगी उसी को हम प्रिंट करवा
देंगे यानी दोबारा से परसेंटेज डी इससे
पहले लिख देते हैं एज इज एज इसको कर लेते
हैं सेव अब ऊपर जाकर अपना टर्मिनल खोलते
हैं सबसे पहले एंटर करनी है हमें अपनी एज
एंटर कर देंगे 22 हमारे पास प्रिंट हुआ है
एज इज 22 तो जो भी हमने एज एंटर की थी वो
हमारे पास वापस प्रिंट होकर आ गई है यहां
पे स्कैनफ ने क्या किया एज को एंटर किया
और मेमोरी के अंदर एज वेरिएबल जिस भी
लोकेशन पर पॉइंट कर रहा था वहां पे जाके
उस एज को हमने स्टोर करा दिया उस नंबर 22
को स्टोर करा दिया और जब प्रिंट एफ ने वो
नंबर वापस मांगा तो उसके बाद हमारे पास
प्रिंट हो गया एज इज और यहां पर इसने
दिखाया कि इंट टाइप की वैल्यू प्रिंट करनी
है और फिर हमने एज के अंदर से डाटा निकाल
के अपनी स्क्रीन पे दिखा दिया तो कुछ इस
तरीके से हमारा इनपुट आउटपुट वर्क करता है
सी के अंदर अब हम यहां पर एक छोटा सा
प्रोग्राम बनाने वाले हैं इस छोटे से
प्रोग्राम में क्या करेंगे एक नंबर ए को
इनपुट लेंगे एक नंबर बी को इनपुट लेंगे और
इन दोनों के सम को हम आउटपुट करा देंगे
तोय छोटा सा कोड हम लिखने वाले हैं इस कोड
के लिए सबसे पहले उन नंबर्स को हम क्रिएट
कर लेते हैं तो इंट ए एंड बी अब सबसे पहले
प्रिंट एफ करते हैं एंटर ए उसके बाद स्कैन
कर लेंगे ए को डी एंड ए उसके बाद प्रिंट
एफ कर देंगे एंटर बी फिर स्कैनफ से इसको
ले लेंगे इनपुट एंड b अब इन दोनों के सम
को एक तीसरे वेरिएबल में स्टोर करा देंगे
यानी इंट सम इ इ a + b तो यहां पे भी प्लस
माइनस मल्टीप्लाई डिवाइड रिमाइंडर ये सब
मैथ की तरह काम करते हैं तो प्लस के लिए
प्लस साइन होता है माइनस के लिए माइनस
साइन होता है और ये इक्वल टू क्या करता है
इन दोनों की वैल्यू को कैलकुलेट करेगा और
उसको सम के अंदर डाल देगा ये इक्वल टू जो
है इसको असाइनमेंट ऑपरेटर कहते हैं प्लस
को हम एडिशन ऑपरेटर की तरह यूज़ करते हैं
इन ऑपरेटर्स के बारे में डिफरेंट डिफरेंट
जो भी सी के अंदर होते हैं बाद में हम
डिस्कस कर रहे होंगे डिटेल में तो यह जो
सम हमारे पास आया है इसको अब प्रिंट करवा
देंगे प्रिंट एफ से सम
इज परसेंटेज
d सम इस कोड को कर लेते हैं सेव इसके अंदर
क्या किया हमने दो वेरिएबल बनाए a और b
सबसे पहले लिखा एंटर कर दो a तो a को हमने
एंटर करवा दिया और उसको उस वेरिएबल की
मेमोरी लोकेशन में जाके स्टोर कर दिया
उसके बाद b को एंटर करवाया उसको b की
मेमोरी लोकेशन में जाके स्टोर कर दिया
उसके बाद एक नया वेरिएबल बनाया सम जिसके
अंदर a और b को ऐड करके जो फाइनल वैल्यू
आई उसको स्टोर करा दिया उसके बाद हमने
प्रिंट करवा दिया है सम की वैल्यू को अब
अपने टर्मिनल को खोलकर इसका आउटपुट
एनालाइज करते हैं सबसे पहले हम a की
वैल्यू को एंटर करेंगे तो एंटर करते हैं
टू फिर एंटर करेंगे b की वैल्यू को इसमें
एंटर कर देते हैं फाइव तो हमारे पास
आउटपुट में आया सम इज सेवन इस तरीके से टू
और फाइव का दोनों का सम हुआ और फिर सेवन
प्रिंट हो गया अब यहां पे हम छोटी सी
ट्रिक सीखने वाले हैं यहां पर एक तीसरा
वेरिएबल सम हमने बनाया इसको तो हम हटा
देते हैं और डायरेक्टली क्या करेंगे इस सम
को हटाकर यहां लिख देंगे a + b और इसको कर
लेते हैं सेव और एक बार दोबारा से अपनी
कोड को रन करते हैं 2 5 तो डायरेक्टली
हमारे पास सेवन जो है जो हमारा सम है वो
प्रिंट हो गया तो हमें एक तीसरा वेरिएबल
बनाने की जरूरत नहीं पड़ी जब भी हमें सम
प्रिंट करवाना है अगर हमें यहां पर
डिफरेंस भी प्रिंट करवाना होता तो हम प्लस
की जगह माइनस लिख सकते थे दोनों का
प्रोडक्ट प्रिंट करवाना होता तो एस्टरिस
करके इनको मल्टीप्लाई भी कर सकते थे तो इस
तरीके से जो भी वैल्यू प्रिंट करवानी है
डायरेक्टली उस पर ऑपरेशंस कर सकते हैं और
उसको यहां पर हम लिख सकते हैं अब हमने
काफी सारी चीजें सीख ली है सी के अंदर और
ये सारी की सारी चीजें कैसे रन की इनको
हमने एक फाइल में लिखा और उस फाइल से
हमारे पास आउटपुट आते चले गए अब इस पूरे
के पूरे प्रोसेस को हम कंपाइलेशन कहते हैं
इस प्रोसेस को समझते हैं कि एक्चुअली होता
क्या है कंपाइलेशन की जो डेफिनेशन है वो
है अ कंप्यूटर प्रोग्राम दैट ट्रांसलेट्स
सी कोड इनटू मशीन कोड तो कंपाइलर एक ऐसा
प्रोग्राम होता है जो सी का कोड लिखता है
और उसको मशीन कोड में ट्रांसलेट कर देता
है जैसे जो हमारे पार्लियामेंट होते हैं
उसमें अगर कोई फॉरेन गेस्ट आए होते हैं तो
बीच में ट्रांसलेटर्स आते हैं अगर फ्रेंच
के प्राइम मिनिस्टर आएंगे तो बीच में
ट्रांसलेटर होगा जो उनकी फ्रेंच को समझेगा
और प्राइम मिनिस्टर यानी इंडियन प्राइम
मिनिस्टर तक पहुंचाएगा उसी तरीके से हमारे
कंप्यूटर के अंदर भी लैंग्वेजेस के लिए
ट्रांसलेटर्स होते हैं कंप्यूटर जो है वो
सी को नहीं समझता हमारी जो विंडोज मशीन है
मैक मशीन है
linux.com सी वाली एक फाइल थी उसको हमने
कंपाइलर के पास भेजा और सी के कंपाइलर ने
क्या किया सबसे पहले चेक करेगा कि फाइल जो
है सी जो रूल्स डिफाइन करता है जो
सिंटेक्स डिफाइन करता है उन सब को फॉलो कर
रही है ना कोई गलती तो नहीं है इसके अंदर
कोई एरर तो नहीं है हमारा जो वेरिएबल का
नाम है उसको हमने एक नंबर से तो शुरू नहीं
कर दिया अंडरस्कोर ही लगाया ना शुरुआत में
तो इस तरीके के बेसिक एरर्स को वो चेक
करता है और अगर एरर्स होते हैं तो फिर वो
कंपाइलेशन फेल कर देता है लेकिन अगर
कंपाइल हो जाती है हमारी फ मतलब उसमें कोई
सिंटेक्स वाले एरर्स नहीं है और उसके बाद
यह कंपाइलर उसको कन्वर्ट कर देता है
windows.exe फाइल में कन्वर्ट कर देता है
और
linux.com में भी डसी बना सकते हैं और विज
में भी डॉट आउट बना सकते हैं पर बाय
डिफॉल्ट जो आपको एक्सटेंशन दिख रही होगी
आपकी मशीन के अंदर वो यह एक्सटेंशन होगी
तो घबराने की बात नहीं है अगर आपको अभी
मेरी स्क्रीन पर डॉट आउट दिख रहा है और
अपनी स्क्रीन पर आपको डॉटसी दिख रहा है तो
अब हमने सी के जो है बेसिक बेसिक कांसेप्ट
समझ लिए हैं और अभी तक हमें थोड़ा बहुत
आईडिया लग चुका है कि एक्चुअली
प्रोग्रामिंग है क्या तो इसके अंदर हम दो
ऐसे सवाल सॉल्व करेंगे जो अगर आप कॉलेज की
पढ़ाई कर रहे हैं तो उसमें यूजुअली बेसिक
से अगर आपसे कोई इजी लेवल सवाल पूछे जाते
हैं तो वो कुछ ऐसे से देखेंगे इनमें सबसे
पहला प्रैक्टिस क्वेश्चन जिसको हम सॉल्व
करेंगे वो है राइट अ प्रोग्राम टू
कैलकुलेट एरिया ऑफ अ स्क्वायर तो स्क्वायर
का एरिया हमें कैलकुलेट करना है साइड
हमारे पास गिवन है हमें पता है मैथ हमने
छोटी क्लास में पढ़ ी रखी है कि स्क्वायर
का एरिया क्या होता है साइड मल्टीप्ला बाय
साइड तो हम क्या करेंगे एक ऐसा प्रोग्राम
बनाएंगे जिसमें साइड को इनपुट ले लेंगे और
फिर एरिया को आउटपुट दे देंगे अपने कोड के
अंदर यह चीज करके देखते हैं ऊपर एक कॉमेंट
लिख लेते हैं एरिया
ऑफ स्क्वायर सबसे पहले एक वेरिएबल डिफाइन
करेंगे साइड उसके बाद प्रिंट एफ कर लेते
हैं
एंटर साइड अब स्कैन एफ से उसको ले लेते
हैं इनपुट तो लिखेंगे परसेंटेज डी एंड
साइड अब हम प्रिंट करवा सकते हैं एरिया
इज परसेंटेज डी साइड इनटू साइड इसको कर
लेते हैं सेव और अपने टर्मिनल को खोलकर
इसको करते हैं रन हमारी साइड हम एंटर करते
हैं फोर तो हमारा एरिया आ गया स्क्वायर का
16 क्योंकि 4 * 4 इ 16 अब यहां पर जरूरी
नहीं है कि जो हमारी साइड हो वो एक इंटी
जर हो ये हमारी फ्लोट वैल्यू भी हो सकती
है अगर साइड हमारी फ्लोट वैल्यू हुई तो इस
केस में यहां पर परसेंटेज d की जगह
परसेंटेज f आ जाएगा यहां पर भी परसेंटेज f
आ जाएगा क्योंकि दो फ्लोट्स अगर
मल्टीप्लाई होते हैं तो फ्लोट वैल्यू
प्रोड्यूस होती है इसको कर लेंगे सेव और
दोबारा से करेंगे रन तो अब अगर साइड हम
एंटर करें फोर तो आएगा हमारे पास एरिया इज
स
16.00 तो ऑटोमेटिक फोर को उसने अंदर ही
इंटरनली फ्लोट में कन्वर्ट कर लिया अब
नेक्स्ट प्रैक्टिस क्वेश्चन जिसको हम करने
वाले हैं ये कहता है राइट अ प्रोग्राम टू
कैलकुलेट एरिया ऑफ अ सर्कल हमें यहां पर
लिखा है साइड पर यहां पर होना चाहिए कि
हमें सर्कल की रेडियस गिवन है और एरिया ऑफ
अ सर्कल हमें पता है होता है हमारे पास पा
r स् तो पा की वैल्यू तो पता ही है कि
कांस्टेंट होती है 3.14 इसमें r स् और
मल्टीप्लाई कर देंगे तो इस तरीके से एरिया
ऑफ़ अ सर्कल हमारे पास आ जाएगा इसके लिए
प्रोग्राम को थोड़ा सा चेंज कर लेते हैं य
फ्लोट रेडियस लिख देते हैं और यहां लिख
देते हैं
एंटर
रेडियस अब हमें जो भी वैल्यू एंटर होगी अब
जो भी वैल्यू एंटर होगी उसको हम रेडियस
वेरिएबल में स्टोर करा देंगे अब लिखेंगे
एरिया
इज पाई यानी 3.14 मल्टीप्ला बाय
रेडियस मलाड बाय रेडियस क्योंकि हमें लेना
है रेडियस का स्क्वायर इसको कर लेते हैं
सेव यहां पर रेडियस को हमने डिफाइन किया
वेरिएबल को उसके बाद प्रिंट एफ से लिखा
हमने स्क्रीन पर एंटर रेडियस फिर रेडियस
को हमने स्टोर करा लिया फिर हमने एरिया को
स्टोर करा लिया एरिया को कैसे स्टोर कराया
3.14 को मल्टीप्लाई कर दिया रेडियस से और
दोबारा मल्टीप्लाई कर दिया रेडियस से इसको
हम रन कर लेते हैं टर्मिनल में रेडियस अगर
हम एंटर करें थ्र तो आउटपुट हमारे पास आ
है कि सर्कल का एरिया है 28.2 600 तो इस
तरीके से हम इन सवालों को सॉल्व कर सकते
हैं अभी तक जितना भी हमने इस चैप्टर के
अंदर पढ़ा है अभी हमारा चैप्टर वन खत्म हो
चुका है हमने यहां पर अपना चैप्टर वन यानी
सी के सारे बेसिक कॉन्सेप्ट्स को बहुत
सक्सेसफुली कंप्लीट कर लिया है इन सारे
कांसेप्ट को यूज़ करके ऐसे-ऐसे क्वेश्चंस
होते हैं जो कभी-कभी आपके मिड सेमेस्टर या
एंड सेमेस्टर एग्जाम में पूछ लिए जाते हैं
जैसे हो सकता है फारेनहाइट से सेल्सियस का
कन्वर्जन दे दिया जाए सेल्सियस से
फारेनहाइट का कन्वर्जन दे दिया जाए या फिर
हमारे पास सिंपल इंटरेस्ट कैलकुलेट करने
के फॉर्मूले आपको बोल दिया जाए कि इस
फॉर्मूले को लगाओ या फिर यहां पे जैसे
हमने रेडियस निकाल रेडियस से हमने एरिया
निकाला है स्क्वायर का एरिया निकाला वैसे
रेक्टेंगल का एरिया बोल सकते हैं ट्रायंगल
का एरिया बोल सकते हैं या बोल सकते हैं
कंपाउंड इंटरेस्ट आप कैलकुलेट करें तो
बेसिकली मैथ के छोटे-मोटे फॉर्मूले लगाकर
जो भी चीजें पॉसिबल हो सकती हैं या इनपुट
आउटपुट से जो भी चीजें पॉसिबल हो सकती हैं
उस तरीके का हमें यह कांसेप्ट करने के बाद
कोड मिल सकता है अब नेक्स्ट चैप्टर है
हमारा चैप्टर टू यानी इंस्ट्रक्शंस एंड
ऑरेटर्स इसके अंदर हम पढ़ेंगे कि सी के
अंदर इंस्ट्रक्शंस और ऑपरेटर्स का क्या
मतलब होता है अब इस चैप्टर के अंदर हम
काफी सारी न्यूमेरिकल चीजें करेंगे जो
मैथ्स से रिलेटेड होंगी साथ के साथ हम
काफी सारे नए कांसेप्ट सीखेंगे तो अगर हम
नोट्स के अंदर ऐसे पेजेस देख रहे हैं
जिसके अंदर काफी सारी इंफॉर्मेशन लिखी हुई
है तो घबराना नहीं है क्योंकि उन चीजों को
एक साथ रटने की जरूरत नहीं है हमें सारे
के सारे नोट्स आपके पास नीचे अवेलेबल
होंगे जब आपका मन करे रिवीजन करने का जब
आपका मन करे कि अब मुझे इन चीजों को याद
करने की जरूरत है जैसे एग्जाम से एक दिन
पहले या इंटरव्यू के लिए अगर रिवीजन करना
है तब आप इनको जाकर एक्सेस कर सकते हैं उन
नामों को पढ़ सकते हैं अभी क्लास के चलते
टाइम पर जो चीजें हमारे दिमाग में रह रही
है उनको नेचुरली दिमाग में रखना है
एक्स्ट्रा अभी हमें चीजें मेमोराइज करने
का जो कष्ट है वो बिल्कुल नहीं लेना है तो
चैप्टर की शुरुआत करते हैं सबसे पहले हम
पढ़ेंगे कि इंस्ट्रक्शंस क्या होती है सी
के अंदर इंस्ट्रक्शंस की बेसिक डेफिनेशन
होती है कि दीज आर स्टेटमेंट्स इन अ
प्रोग्राम यानी अभी तक हम सी के जितने भी
प्रोग्राम लिख रहे थे कोड लिख रहे थे सब
में क्या था एक सीक्वेंस ऑफ इंस्ट्रक्शंस
थी एक के बाद एक के बाद एक के बाद एक के
बाद स्टेटमेंट्स लिखी हुई थी जब भी हम
प्रोग्राम की ऑफिशियल डेफिनेशन देखते हैं
ना तो इट इज अ सीक्वेंस ऑफ इंस्ट्रक्शंस
जैसे हमें मान लो मैगी बनानी होती है तो
सीक्वेंस ऑफ इंस्ट्रक्शंस क्या होते हैं
कि सबसे पहले पानी उबाल लो उसके अंदर मैगी
मसाला डालो और उसके अंदर अपनी एक्चुअल
मैगी डालो और फिर उसको गर्म होने दो चाय
बनानी होती है तो पहले पानी डालो उसके
अंदर हमारा दूध डाल देते हैं चीनी डाल
देते हैं चाय पत्ती डाल देते हैं अदरक डाल
देते हैं फिर उसको बॉयल करने देते हैं फिर
उसको छान लेते हैं तो ये कुछ सीक्वेंस ऑफ
इंस्ट्रक्शंस है वैसे ही किसी भी
प्रोग्राम के अंदर एक सीक्वेंस ऑफ
इंस्ट्रक्शंस होती हैं जो प्रोग्राम को
बताती हैं कि उसको क्या-क्या करना है अब
हम जब टाइप्स ऑफ इंस्ट्रक्शंस पढ़ते हैं
तो उसमें तीन टाइप्स हमारे आते हैं सबसे
पहला टाइप डिक्लेरेशन इंस्ट्रक्शन दूसरी
है हमारी एरिथ मेे िक इंस्ट्रक्शन और
तीसरी है हमारी कंट्रोल इंस्ट्रक्शन इन
तीनों इंस्ट्रक्शंस के अलग-अलग काम होते
हैं और काम के अकॉर्डिंग इनका नाम रखा हुआ
है तो ऐसा नहीं है कि इनको याद करना बहुत
मुश्किल होगा सबसे पहले अगर बात करें टाइप
डिक्लेरेशन इंस्ट्रक्शंस की तो टाइप
डिक्लेरेशन से क्या समझते हैं टाइ टाइप
डिक्लेरेशन यानी किसी भी वेरिएबल को
डिक्लेयर करना उसके टाइप के साथ तो जब भी
हम ऐसी स्टेटमेंट्स लिखते हैं ऐसी
इंस्ट्रक्शंस लिखते हैं जहां पर हमें एक
वेरिएबल बताना होता है और उसका टाइप हमें
डिक्लेयर करना होता है उसको हम टाइप
डिक्लेरेशन स्टेटमेंट दे देते हैं हम बहुत
टाइम से अपने सी कोड के अंदर टाइप
डिक्लेरेशन स्टेटमेंट्स लिखते आ रहे हैं
इसको हम लिख सकते हैं जैसे अगर हमने लिखा
इंट a = 4 यह भी हमारी एक टाइप डिक्लेरेशन
स्टेटमेंट है अगर हमने लिखा कैरेक्टर c इ
इक्व टू एस्ट रिस्क ये भी हमारी एक टाइप
डिक्लेरेशन स्टेटमेंट है पर जब भी हम ये
स्टेटमेंट्स लिखते हैं ना एक छोटी सी गलती
हम कर देते हैं कि एक रूल को भूल जाते हैं
रूल हमारा कहता है डिक्लेयर वेरिएबल बिफोर
यूजिंग इट जब भी हम किसी वेरिएबल को यूज
कर रहे हैं उसको यूज़ करने से पहले हमें
डिक्लेयर जरूर कर देना है यानी देखना है
उसके अंदर कोई वैलिड वैल्यू हो हमने
कंपाइलर को पहले ही बता दिया हो कि यह
वेरिएबल एजिस्ट करता है कोड में और फिर हम
यूज करें अगर ऐसा नहीं होगा और सी कंपाइलर
अचानक से किसी वेरिएबल को देख लेगा कि ये
कहां से आ गया तो फिर वो एरर थ्रो करेगा
जैसे इसके वैलिड एग्जांपल्स अगर देखें तो
हमने यहां पर इंट a को डिक्लेयर किया एज
22 फिर इंट b में लिखा है कि a की वैल्यू
b में डाल दो यह बिल्कुल सही है क्योंकि a
ऑलरेडी डिक्लेयर हो चुका है और फिर b में
उसकी वैल्यू गई है और इसी को अगर हम कोड
की फॉर्म में लिखकर देखें तो अपने फंक्शन
के अंदर हम लिख सकते हैं इंट a = 22 और
फिर लिखें अगर इंट b = a तो यहां पर कोई
भी ए एरर हमारे पास नहीं आया यह कोड जो है
हमारा बहुत अच्छे से काम करेगा उसके बाद
हम क्या कर सकते हैं अगर हम इस तरीके से
भी लिख रहे हैं इंट c = ू b + 1 यानी
ऑलरेडी डिक्लेयर्ड एक वेरिएबल है उसमें आप
कुछ ऐड कर रहे हैं या फिर इसमें अगर -1
होता या फिर ये मल्टीप्ला बाय 2 होता
डिवाइडेड बाय 3 होता तो इस तरीके की भी
अगर हम एरिथ मेे ऑपरेशंस करते राइट हैंड
साइड पे और फिर उसको c में असाइन करते हैं
तो वो भी वैलिड है वो भी बिल्कुल सही है
इसको एक्चुअली लिख के देखते हैं प्रोग्राम
में c इ इक्वल टू हमारा हो जाए अगर b
मल्टीप्ला बाय 6 तो कोई एरर नहीं आया
हमारे पास क्योंकि एक वैलिड स्टेटमेंट है
एक और टाइप ऑफ वैलिड इंस्ट्रक्शन क्या हो
सकता है इंट d = 1 e इसमें हमारे पास क्या
हुआ कि हमने एक वेरिएबल डिक्लेयर किया d
जिसको वैल्यू दे दी वन इसके साथ-साथ हमने
एक और इंटी जर वेरिएबल डिक्लेयर किया e
लेकिन e को अभी कोई वैल्यू हमने दी नहीं
है तो ये बिल्कुल वैलिड स्टेटमेंट है जहां
d की वैल्यू असाइन हो रही है पर e की नहीं
हो रही इसको भी हम कोड में लिख के देख
लेते हैं इंट d
= हमने वन दे दिया पर e जो है उसको कोई
वैल्यू नहीं दी तो यह भी बिल्कुल वैलिड
स्टेटमेंट होगा अब कुछ एग्जांपल्स देखते
हैं इनवैलिड स्टेटमेंट्स के c के अंदर
जैसे अगर हम कोई वेरिएबल बनाए ओल्ड एज अब
ओल्ड एज वेरिएबल के अंदर अगर हम कोई
वैल्यू स्टोर करा दें व्हिच इज़ 22 और फिर
हम एक नया वेरिएबल बनाएं न्यू एज न्यू एज
को हम बना दें ओल्ड एज
प्लस इयर्स यानी कितने इयर्स पास हो गए
हैं तो यहां पर ओल्ड एज वेरिएबल तो ऑलरेडी
है पर इयर्स नहीं है अब मान लो इयर्स को
भी हम डिक्लेयर करने निकले इंट इयर्स इ
इक्व 2 कि 2 साल के बाद हमारी नई एज क्या
होने वाली है अब इयर्स हमने बता तो दिया
कोड के अंदर कि उसकी वैल्यू टू है फिर भी
यहां पे रेड लाइन क्यों आ रही है क्योंकि
हमने ईयर्स को बताने से पहले उसको यूज कर
लिया है तो वेरिएबल को डिक्लेयर करने से
पहले जब हम उसको यूज कर लेते हैं तो वो
एरर देता है स के अंदर यानी कंपाइलर क्या
करता है लाइन बाय लाइन जाता है इस लाइन
में उसने पढ़ लिया कि ओल्ड एज एक वेरिएबल
है उसकी वैल्यू 22 है इस लाइन में पढ़
लिया कि इन न्यू एज भी हमारा एक इंट
वेरिएबल है उसकी वैल्यू है ओल्ड एज की
वैल्यू जो उसको पता है क्या था प्लस इयर्स
अब वो यहां पे कंफ्यूज हो जाएगा कि इयर्स
तो अभी तक पढ़ा ही नहीं मैंने इयर्स तो वो
अगली लाइन में पढ़ने वाला था इसीलिए अगर
इस तरीके की कोई स्टेटमेंट है तो उसमें
इयर्स को ऊपर होना चाहिए तभी ये एक वैलिड
स्टेटमेंट होगी तभी जो हमारी टाइप
डिक्लेरेशन स्टेटमेंट्स होती हैं उनके
अंदर एरर्स नहीं आएंगे अब एक और टाइप की
हम वैलिड स्टेटमेंट समझे अगर तो मल्टीपल
वेरिएबल को हम एक साथ डिक्लेयर कर सकते
हैं यानी यहां पर हमने उनको डिक्लेयर कर
दिया इंट a b c एंड उसके बाद a को b को c
को तीनों को सेम वैल्यू असाइन कर दी व्हिच
इज़ वन यह वैल्यू कैसे असाइन हुई वन की
वैल्यू c में असाइन हुई फिर c की वैल्यू
यानी व b में असाइन हुई फिर b की वैल्यू
यानी व a में असाइन हुई तो इस तरीके का
प्रोसेस रहा इसको एक बार अपने कोड में हम
करके भी देख लेते हैं जैसे अगर हम कुछ
वेरिएबल डिक्लेयर करते हैं x y और z
तो हम वैल्यूज दे सकते हैं x = y = z = 4
तो इस तरीके की जो स्टेटमेंट है वो c के
अंदर वैलिड है पर वही अगर इसका दूसरा हम
वर्जन देखें जिसमें हम डिक्लेरेशन के टाइम
पर ही यहां पे फोर दे
दे यानी इन सबको इक्वल टू करें और हम सोचे
कि एक लाइन स्किप कर देते हैं एक्स्ट्रा
हमें क्यों लिखना तो यहां पर रेड लाइन
ऑटोमेटिक आ जाती है ये रेड लाइन क्यों आई
क्योंकि जब हम फोर को z में असाइन कर रहे
हैं तो फिर उसकी वैल्यू y के पास जा रही
है और वह सोच रहा है अभी तक तो जो z है वह
कंपाइलर को पता ही नहीं क्या है क्योंकि
ये लाइन अभी खत्म नहीं हुई है सेम लाइन के
अंदर हम जो z है उसमें वैल्यू असाइन भी कर
रहे हैं और उसकी वैल्यू किसी और को भी दे
रहे हैं सेम स्टेटमेंट में हम y को एक
वैल्यू असाइन भी कर रहे हैं और फिर उसकी
वैल्यू किसी और को भी दे रहे हैं यानी
यूज़ और डिक्लेयर साथ में नहीं कर सकते
पहले हमेशा डिक्लेयर करना पड़ेगा उसके बाद
वेरिएबल को यूज करना पड़ेगा नहीं तो c
हमें एरर दे देगा तो इस तरीके के जो एरर्स
हैं उन्हें हमें नहीं करना जब भी मल्टीपल
वेरिएबल साथ में डिफाइन कर रहे हैं c के
अंदर डिक्लेयर कर रहे हैं तो उनको एक साथ
डिक्लेयर कर दीजिए पर उनकी वैल्यूज जो है
उनका यूसेज जो है वो बाद में होगा नेक्स्ट
टाइप ऑफ इंस्ट्रक्शंस जो सी के अंदर
एजिस्ट करती हैं वो है हमारी एरिथ मेे िक
इंस्ट्रक्शंस एरिथ मेे शब्द ऐसा है जो
हमने 11 12थ में नाथ 10थ में या सिक्सथ टू
एथ की मैथ्स में जरूर पढ़ा होगा एरिथ मेे
िक का मतलब हम समझते हैं कि जहां प्लस
माइनस मल्टीप्लाई डिवाइड ये सब चल रहा
होता है यानी बेसिकली मैथ्स से रिलेटेड
सारी चीजें तो मैथ की अगर हम कोई भी
स्टेटमेंट देखें जैसे मान लीजिए हम a + b
का एग्जांपल लें तो उसके अंदर जिन चीजों
पर ऑपरेशन परफॉर्म होता है यानी प्लस हो
रहा है जो चीज मल्टीप्लाई हो रही है
डिवाइड हो रही है जिसका रिमाइंडर हम निकाल
रहे हैं क्वेश निकाल रहे हैं इनको हम कहते
हैं ऑपरेंट तो यहां पर a बन जाएगा हमारा
ऑपरेंट वन बी बन जाएगा हमारा ऑपरेंट टू
इसी तरीके से अगर कोई और स्टेटमेंट होती
जैसे a + b - c ल्ड बा d तो यहां पर a b c
d हमारे चार ऑपरेंट होते हैं और दूसरी
टर्म जिसको हमें सीखने की जरूरत है वो है
ऑपरेटर ऑपरेटर क्या होता है वो सिंबल जो
बताता है कि क्या ऑपरेशन परफॉर्म होने
वाला है जैसे यहां पर हमारा ऑपरेटर है
अपना प्लस ऑपरेटर हो सकता है यहां पे
माइनस परफॉर्म हो रहा होता सबट क्शन
परफॉर्म हो रहा होता तो हमारा माइनस जो
होता वो बन जाता हमारा ऑपरेटर अगर
मल्टीप्लाई हो रहा होता तो एस्ट रिस्क
हमारा ऑपरेटर बन जाता डिवाइड हो रहा होता
तो इस स्लैश को हम अपना ऑपरेटर कह देते तो
स के अंदर वो इंस्ट्रक्शंस जि उसके अंदर
कुछ-कुछ ऑपरेंड्स होते हैं कुछ-कुछ
ऑपरेटर्स होते हैं उनको हम एरिथ मेे िक
इंस्ट्रक्शंस कहते हैं अब एरिथ मेे िक
इंस्ट्रक्शंस के एग्जांपल्स क्या-क्या हो
सकते हैं इनको हम लिख के देखते हैं जैसे
अगर हम एक नया वेरिएबल डिफाइन करें इंट a
= 1 है और b = 2 है और यहां पर हम नया
वेरिएबल डिफाइन करते हैं सम = a + b तो
यहां पर ये एक एरिदमेटोसस
लिया जा रहा है a और b ऑपरेंड्स हैं प्लस
हमारा एक ऑपरेटर है और सम हमारा एक नया
वेरिएबल है जिसके अंदर वैल्यू हमारी असाइन
हो जाती है यानी स्टोर हो जाती है जाकर
ऐसे ही हम बना सकते हैं
इंट मल्टीप्लाई = a * बा b अब यहां पर
मल्टीप्लाई एक वेरिएबल है जिसके अंदर a *
b की वैल्यू जाकर स्टोर हो रही है अब जब
भी हम एरिथ मेे िक इंस्ट्रक्शंस की बात
करते हैं एक स्पेशल चीज़ हमें ज़रूर नोट
करनी है वह यह है कि सिंगल वेरिएबल ऑन द
लेफ्ट हैंड साइड जब भी हम कोई एरिथ मेे
ऑपरेशंस परफॉर्म करते हैं वो सारे के सारे
हमारे राइट हैंड साइड पे जाते हैं यानी a
+ b - c * बा d ऐसा कुछ हमारे पास
एक्सप्रेशन होगा उसकी सारे की वैल्यू हम
किसी वेरिएबल लेफ्ट में असाइन करेंगे जो
लेफ्ट हैंड साइड पर लिखा होगा और ये सारी
की सारी वैल्यू राइट से लेफ्ट में जाकर
स्टोर हो जाएगी और लेफ्ट साइड में हमें
हमेशा ध्यान रखना है कि एक सिंगल वेरिएबल
हमारे पास हो सिंगल वेरिएबल के अंदर ही
सारा का सारा आउटपुट निकल के जाके स्टोर
होगा हम लेफ्ट साइड में अगर रखें कि हम तो
दो वेरिएबल स्टोर कराना चाहते हैं इंट x y
= a * b तो इस केस में क्या होगा कि a * b
की वैल्यू y को असाइन हो जाएगी पर x को
असाइन नहीं होगी क्योंकि x यहां पर हमने
सिर्फ एक नया वेरिएबल डिक्लेयर कर दिया है
y एक नया वेरिएबल डिक्लेयर किया जिसमें a
* b की वैल्यू गई है तो लेफ्ट में मतलब इस
एक्सप्रेशन के लिए हमारे पास सिर्फ y है
जिसमें इसकी वैल्यू स्टोर हुई है इसके बाद
हम बात करने वाले एरिथ मेे िक
इंस्ट्रक्शंस में क्या-क्या हमारे
एक्सप्रेशंस वैलिड होते हैं क्या-क्या
नहीं होते कुछ बेसिक ऑपरेशंस हम समझ लेते
हैं एरिथ मेे िक इंस्ट्रक्शंस में हमारे
पास आ जाता है प्लस ऑपरेटर माइनस ऑपरेटर
मल्टीप्लाई ऑपरेटर और डिवाइड ऑपरेटर इसके
साथ-साथ एक और ऑपरेटर हमारे पास होता है
मॉड्यूल जिसके बारे में हम अभी पढ़ने वाले
हैं इसी चैप्टर के अंदर तो ये पांच हमारे
मेन ऑपरेटर्स होते हैं अब इसमें वैलिड
स्टेटमेंट्स क्या-क्या होंगी जैसे a = b +
c हमने लिखा है ये एक वैलिड स्टेटमेंट है
यानी यहां पर ये दोनों हमारे ऑपरेंट हैं
ये ऑपरेटर है और लेफ्ट हैंड साइड में हमने
सिंगल जो है एक वेरिएबल लिखा हुआ है
नेक्स्ट की बात करें तो b * c भी एक वैलिड
ऑपरेशन है क्योंकि हमारे पास
मल्टीप्लिकेशन आया और उसको हमने a में
स्टोर करा दिया अब राइट हैंड साइड में
इनवैलिड की अगर बात करें तो राइट हैंड
साइड में है a और लेफ्ट में है हमारा b +
c अब अगर मैथ हम पढ़ रहे होते तो ये
बिल्कुल सही स्टेटमेंट होती मैथ के हिसाब
से पर यहां पर हमारे लिए बिल्कुल गलत
स्टेटमेंट है ये स्टेटमेंट कंपाइलर को कह
रही है कि a की वैल्यू को लो और उसको b +
c में स्टोर करा दो जबकि b + c एक सिंगल
वेरिएबल नहीं है क्योंकि लेफ्ट हैंड साइड
पे सिंगल वेरिएबल नहीं लिखा हुआ तो
स्टेटमेंट हमारी बिल्कुल गलत हो जाती है
इसको एक बार कोड में लिख लेते हैं जैसे
अगर हम लिखते हैं इंट b + c = a अब यहां
पर एक रेड लाइन आ गई क्योंकि ये स्टेटमेंट
गलत है क्योंकि लेफ्ट साइड पे हमारे पास
एक ही वेरिएबल होना चाहिए जिसके अंदर
वैल्यू स्टोर हो पर यहां पर अगर हम इसको
रिवर्स कर देंगे यानी यहां लिख देंगे a और
यहां पर लिख देंगे b + c तो ये सही हो
जाएगी पर ऊपर हमें b और c को डिफाइन करना
पड़ेगा b को हम लिख लेते हैं = c = 1 तो
अब यह स्टेटमेंट बिलकुल सही हो जाएगी
क्योंकि सारे वेरिएबल डिफाइन हैं और लेफ्ट
साइड में हमने लिखा है सिर्फ a को अब और
क्या एक्सप्रेशंस हो सकते हैं जैसे मैथ के
अंदर हम क्या लिखते हैं दो नंबर्स को
मल्टीप्लाई करना होता है तो लिख देते हैं
इ x = 2 * 3 हम वहां पर डॉट लगा देते हैं
या फिर 2 * 3 इसको भी मल्टीप्लिकेशन की
तरह देखा जाता है पर यह सेम चीज़ c के
अंदर वैलिड नहीं है c के अंदर अगर आप लिख
देंगे a =
c की तरह नहीं देखा जाएगा इसको एक एरर की
तरह देखा जाएगा इसका एग्जांपल क्या हो
सकता है जैसे हम लिखें इंट d =
bc-c तो a के अंदर क्या स्टोर होगा b c से
डिवाइड होगा और जो भी हमारे पास क्श आएगा
वो a के अंदर जाकर स्टोर हो जाएगा वहीं पर
इनवैलिड एक्सप्रेशन यह हो सकता है कि
कहीं-कहीं हमने देखा है कि b की पावर c
अगर हमें लिखना हो तो हम कैसे लिख दे ते
हैं b c यह वाला जो एक्सप्रेशन है यह गलत
होता है c के अंदर c के अंदर पावर हमारे
पास एक सिंगल ऑपरेटर नहीं होता पावर के
लिए हमें पड एक फंक्शन यूज करना पड़ता है
जिसके अंदर पहले हम डालेंगे b फिर हम
डालेंगे c ये हमें देगा वैल्यू b टू द
पावर c तो अगर a के अंदर हमें स्टोर कराना
है पावर ऑफ b टू द पावर c तो हम कुछ ऐसा
लिख रहे होंगे अगर हमने ये लिखा तो ये
वैल्यू हमारी गलत हो जाएगी यह वैल्यू सही
हो जाएगी इसका एग्जांपल देखते हैं अपने
कोड के अंदर इंट
पावर इ इक्वल टू b की पावर c ऊपर हमें बस
एक और हेडर फाइल को इंक्लूड करना पड़ेगा
इंक्लूड
मैथड h ये मैथड ए एक हेडर फाइल है यानी
इसके अंदर ऑलरेडी कुछ-कुछ चीजें हैं जो हम
यूज कर सकते हैं तो पावर जो हम फंक्शन
यूज़ कर रहे हैं वह मैथड h से ही आया है
हमारे पास अब पावर को अगर हम प्रिंट
करवाएं तो 1 की पावर व हमें ऑलरेडी पता है
कि हमारे पास वन ही प्रिंट होकर आएगा पावर
को हम प्रिंट करवाना चाहते हैं
इसको कर लेते हैं सेव और करते हैं रन तो
हमारे पास वन प्रिंट होकर आया है वहीं पर
यहां अगर हम लिख देते b इसको अगर हम सेव
करके रन कराएं तो क्या आउटपुट आएगा हमारे
पास हमारे पास आउटपुट आया है रो अब ये रो
क्यों आया है हमारे पास तो एरर आना चाहिए
था क्योंकि पावर तो एजिस्ट ही नहीं करता
एक्चुअली ये जो ऑपरेटर होता है ना स के
अंदर इसको जॉर ऑपरेटर कहते हैं जॉर के
बारे में हम बाद में सीखने वाले हैं ये
बिट वाइज ऑपरेशन करने के लिए परफॉर्म होता
है हमें पता है कि c के अंदर हर जो नंबर
होता है वो मशीन को तो समझ में आता है
नहीं मशीन को कौन सा कोड समझ में आता है
मशीन को समझ में आता है मशीन कोड जो लिखा
होता है जीरोज और वनस में तो जब भी हम
जीरोज और वंस के बीच में ऑपरेशन परफॉर्म
करते हैं वो हमारे बिट वाइज ऑपरेशंस होते
हैं तो ये हमारा एक जॉर ऑपरेटर है जो
बिट्स के बीच में परफॉर्म होता है बिट्स
का यानी सेम बिट्स के बीच में जब आप जौर
करते हैं तो उसका आउटपुट जरो हमारे पास
आता है बिट वाइज ऑपरेटर्स के बारे में हम
बाद में पढ़ रहे होंगे पर अभी के लिए b टू
द पावर c अगर हम इस तरीके से लिखने की
कोशिश करें हैं वो वैलिड स्टेटमेंट है ऐसा
नहीं है कंपाइल र हमें एरर देगा पर आउटपुट
हमारे पास गलत आएगा b की पावर c हमारा
आउटपुट नहीं आएगा आउटपुट कुछ और आएगा
इसीलिए इसको हम नहीं लिखेंगे अगर हम पावर
दिखाना चाहते हैं पावर दिखानी है तो फिर
हमें मैथड ए का यूज करना पड़ेगा और यूज
करना पड़ेगा अपने पावर फंक्शन का नेक्स्ट
टॉपिक जिसकी हम बात करने वाले हैं वो है
हमारा मॉड्यूलर ऑपरेटर तो इसको मॉड्यूलर
या मॉडलो भी कहा जाता है इसको परसेंटेज का
जो साइन होता है ये होता है हमारा मॉड्यूल
ऑपरेटर ये ऑपरेटर क्या करता है अगर हमने
लिखा है a मॉडलो b तो यह हमें रिटर्न कर
देगा रिमाइंडर ऑफ a डिड बा b का जैसे इसके
कुछ एग्जांपल्स अगर देखें तो 4 मॉडलो 2
हमें रिटर्न करेगा रो 5 मॉडलो 3 हमें
रिटर्न करेगा ू क्योंकि फोर को टू से
डिवाइड करेंगे तो रिमाइंडर हमारे पास आएगा
़ फव को थ्री से हम डिवाइड करेंगे तो
रिमाइंडर हमारे पास आएगा टू क्श एट आएगा
वन तो अगर हम 5 / 3 करते तो क्ट हमारे पास
आता वन यहां पर मॉड्यूल और ंडर देता है तो
हमारे पास रिमाइंडर आया टू उसी तरीके से
12 मॉड्यूल 10 करेंगे तो रिमाइंडर टू ही
आएगा और 20 मॉड्यूल 10 करेंगे तो रिमाइंडर
आएगा हमारे पास जीरो तो कुछ इस तरीके से
जब भी रिमाइंडर फाइंड आउट करना होता है तब
यूज करते हैं अपने मॉड्यूल ऑपरेटर का इसका
एग्जांपल लिख के देखते हैं अगर हमें
प्रिंट एफ करना हो एक इंटी जर वैल्यू
जिसमें हम प्रिंट करवाना चाहते हैं 16 मड
10 तो हमें ऑलरेडी पता है कि आंसर हमारे
पास क्या आना चाहिए आंसर आना चाहिए सिक्स
और आंसर में प्रिंट हुआ है हमारे हमारे
पास 6 क्योंकि 16 को जब 10 से डिवाइड
करेंगे तो छह रिमाइंडर में बचेगा अब
मॉड्यूल ऑपरेटर जो है ना हमारे फ्लोट
वैल्यूज पर काम नहीं करता जैसे अगर हम
यहां पर लिखें 1.6 / 1.0 और इसको सेव करके
अगर हम रन करना चाहे तो रन नहीं करेगा
क्योंकि इनवैलिड ऑपरेंड्स है ऑपरेंट है
हमारा 1.6 और दूसरा ऑपरेंट है 1.0 तो
मॉड्यूल ऑपरेटर जो है सिर्फ इंटी जर्स पे
काम करता है जब भी इंटी जर को इंटी जर से
डिवाइड करते हैं तो हमें रिटर्न करके देता
है एक इ इंटी जर रिमाइंडर वैल्यू अब इंटी
जर में भी दो केसेस होते हैं या तो हमारा
जो न्यूमरेशन है वो पॉजिटिव हो सकता है या
हमारा न्यूमरेशन नेगेटिव हो सकता है जब भी
हमारा न्यूमरेशन पॉजिटिव होता है तो हमारे
पास जो रिमाइंडर आता है वो भी एक पॉजिटिव
रिमाइंडर आता है पर जब हमारा न्यूमरेशन
नेगेटिव होता है तो हमारा रिमाइंडर भी
नेगेटिव आता है हमारे पास इसके एग्जांपल्स
कैसे देख सकते हैं यहां पर अगर हम लिखें
-8 मॉडलो 3 इसको कर लेते हैं सेव और इसको
करते हैं रन तो हमारे पास आंसर में आया -2
क्योंकि 8 को जब थ्री से डिवाइड करेंगे तो
रिमाइंडर में आएगा टू क्योंकि सिक्स हमारा
ऑलरेडी डिवाइड हो जाएगा क्योंकि हमारे
न्यूमरेशन नेगेटिव है तो हमारा आंसर भी
रिमाइंडर में आया है नेगेटिव पर इसी को
अगर हम पॉजिटिव एट बना दें और इसको हम सेव
करके रन करें तो अब आउटपुट में आएगा + 2
तो इस तरीके से जब भी हमें नेगेटिव
रिमाइंडर चाहिए तो हमने न्यूमरेशन को
नेगेटिव रखना है जब भी पॉजिटिव रिमाइंडर
चाहिए तो अपने न्यूमरेशन को पॉजिटिव रखना
है नेक्स्ट टॉपिक जिसकी हम बात करेंगे
एरिथ मेे िक इंस्ट्रक्शंस में उसका नाम है
टाइप कन्वर्जन जब भी हमारे जो डिफरेंट
डिफरेंट ऑपरेंट होते हैं उनके अगर सेम
टाइप है तो आउटपुट भी सेम टाइप का आएगा
लेकिन उनके डटा टाइप अगर अलग-अलग हैं तो
आउटपुट भी अलग डाटा टाइप का आएगा जब भी हम
इंट का कोई ऑपरेशन परफॉर्म कराते हैं इंट
के साथ तो आउटपुट में इंट ही आएगा जब भी
फ्लोट का ऑपरेशन कराते हैं फ्लोट के साथ
तो आउटपुट में फ्लोट ही आएगा लेकिन अगर
इंट का ऑपरेशन हुआ फ्लोट के साथ तो आउटपुट
में फ्लोट आएगा जब हम अपने डटा टाइप्स
वाली टेबल की बात करते हैं ना तो इंट
हमारा जो लेता है वो लेता है दो बाइट और
फ्लोट हमारा लेता है चार बाइट्स तो इस
तरीके से फ्लोट का जो कंटेनर है इस डाटा
टाइप का जो कंटेनर है वो बड़ा है यानी
ज्यादा वैल्यू स्टोर कर सकता है तो सी
कंपाइलर क्या करता है थोड़ा सा लॉजिक
लगाता है लॉजिक कैसे लगाया कि अगर इंट
वैल्यू है वो तो छोटी है पर फ्लोट की
वैल्यू तो बड़ी है ना और इनके बीच में कोई
ऑपरेशन हुआ मान लीजिए प्लस हुआ या
मल्टीप्लाई हुआ या डिवाइड हुआ उसमें एक
बड़ा नंबर आउटपुट में आएगा अब उस बड़े
नंबर को स्टोर कराने के लिए एक बड़ा
कंटेनर चाहिए यानी फ्लोट जैसा कंटेनर
चाहिए तो इसीलिए आउट ट में हम इंट को नहीं
रखते फ्लोट को रखते हैं तो जब भी इंट का
ऑपरेशन परफॉर्म होगा फ्लोट के साथ हमारे
पास आउटपुट में आएगा फ्लोट इसके
एग्जांपल्स क्या हो सकते हैं एग्जांपल
जैसे इंट का इंट के साथ अगर हम मल्टीप्लाई
करें टू तो आंसर में आएगा फोर पर यहां पर
2.0 को मल्टीप्लाई करें अगर टू के साथ तो
आउटपुट में हमारे पास आएगा 4.0 और यहां पर
2.0 को मल्टीप्लाई करें 2.0 के साथ तो
आउटपुट में आएगा 4.0 इसको अपने कोड में
लिखकर देखते हैं तो सबसे पहले प्रिंट एफ
करवाएंगे हम
2 * 2 इसको कर लेते हैं सेव तो आउटपुट में
आया 4 लेकिन 2.0 को अगर मल्टीप्लाई कराए
टू के साथ तो यहां पर ये एरर आ गया सबसे
पहले ही एरर क्यों आया क्योंकि आउटपुट जो
है एक फ्लोट वैल्यू होना चाहिए था पर हमने
बोला कि आउटपुट इंटी जर वैल्यू होगा तो
इसको अब हमें चेंज करना पड़ेगा टू f इसको
कर लेते हैं सेव और दोबारा से इसको करते
हैं रन रन करने के बाद आउटपुट हमारे पास
आया
4.00 जो भी फ्लोट का हमारे पास बाय
डिफॉल्ट जितने भी डे मिल जाते हैं इसके
बाद अगर यह 2.0 * 2.0 होता तो उस केस में
क्या होता उस केस में भी हमारे पास सेम
आउटपुट आता व्हिच इज अ फ्लोट वैल्यू अब इस
ऑपरेशन की जगह हम डिवाइड भी यूज़ कर सकते
हैं अगर मान लीजिए हम चार को डिवाइड कर
रहे होते 2.2 से तो इस केस में भी फ्लोट
जो है आउटपुट आना चाहिए क्योंकि एक ऑपरेंट
हमारे पास फ्लोट का है तो आउटपुट में आया
है एक फ्लोट वैल्यू तो इस तरीके से टाइप
कन्वर्जन हो जाता है टाइप कन्वर्जन कैसे
हुआ अगर कंपाइलर देखता है कि आउट पुट जो
है वो बड़े कंटेनर में स्टोर होना चाहिए
क्योंकि बड़ा आउटपुट है तो वो जबरदस्ती
उसको छोटे कंटेनर में स्टोर नहीं कराता
खुद से यानी इंट में स्टोर नहीं कराएगा वो
कोशिश करेगा इस पूरे के पूरे आउटपुट को
सेव कर लिया जाए तो वो फ्लोट के अंदर उसको
बाय डिफॉल्ट स्टोर कराता है अब हम इसके
थोड़े से और स्पेशल केसेस देख लेते हैं
जैसे अगर हमने टू को डिवाइड किया थ्री के
साथ तो क्योंकि ये दोनों के दोनों हमारे
इंटी जर वैल्यूज है आउटपुट हमारा इंटी जर
आना चाहिए आउटपुट एक बार देखते हैं यहां
पे इंटी जर आएगा तो इसको कर देते हैं हम d
आउटपुट हमारे पास आया है रो क्योंकि हमेशा
एक इंटी जर आउटपुट आएगा अब टू को जब हम थ
से डिवाइड करेंगे तो 0 पॉइंट समथिंग
समथिंग आता है पर क्योंकि एक इंटी जर
वैल्यू है इसके अंदर सिंगल डिजिट हम हमारे
होल डिजिट स्टोर होते हैं डेसीमल स्टोर
नहीं होते तो इसको वो जीरो बना देगा वहीं
पर अगर हम 2.0 इसको ले लेते तो अब हमारे
पास आउटपुट में आती है एक फ्लोट वैल्यू
फ्लोट वैल्यू में क्या आउटपुट आता है
हमारे पास ये हमें दे देता 0.666
667 तो अगर हमें एग्जैक्ट आउटपुट चाहिए तो
उसके लिए हम फ्लोट बना देंगे दोनों में से
किसी एक को पर अगर हम चाहते हैं कि डेसीमल
का जितना भी पार्ट आए वो कंप्लीट हट जाए
तो उसको हम बना देंगे इंटी जर्स तो थ्री
को हम डिवाइड कर सकते हैं टू के साथ थ्री
को जब भी टू के साथ डिवाइड करेंगे तो यहां
पर आउटपुट हमारे पास आना चाहिए एक इंटी जर
वैल्यू आउटपुट में आएगा वन लेकिन 3.0 को
अगर टू से डिवाइड करेंगे तो आउटपुट में वन
नहीं आएगा इसको भी कर देते हैं f आउटपुट
में अब हमारे पास आएगा 1.5 तो जब एग्जैक्ट
आंसर चाहिए तब फ्लोट बनाना है जब हम
बिल्कुल डेसीमल को हटाना ही चाहते हैं तब
हम बना देंगे उसको इंटी जर तो टाइप
कन्वर्जन कुछ इस तरीके से होता है टाइप
कन्वर्जन पे बेस्ड एक काफी इंटरेस्टिंग
सवाल अभी सॉल्व करेंगे सवाल में हमें यह
करना है कि इंट a को देखना है उसकी वैल्यू
जो है 1.99 999 है कैसे काम करेगा ये अगर
इस वैल्यू को हम एक इंटी जर में असाइन
करेंगे तो वो क्या करेगा इसके डेसिमल्स
हटा देगा डेसिमल्स हटा देगा यानी इस पार्ट
को कंपलीटली हटा देगा तो यहां पर a की
वैल्यू वन होनी चाहिए या ए की वैल्यू टू
होनी चाहिए वो हम अपने कोड से एनालाइज
करने वाले कोड में हम लिखेंगे इंट ए =
1.99
999 इसको कर लेते हैं सेव और अब प्रिंट
करवा देंगे अपने ए को और इसकी वैल्यू
देखेंगे कि एक्चुअली प्रिंट क्या होता है
यहां पर उसने सबसे पहले तो एरर दे दिया कि
डबल से इंट में कन्वर्जन जो है वो पॉसिबल
नहीं है इंप्लीड कन्वर्जन पॉसिबल नहीं है
जब भी टाइप कन्वर्जन होता है ना सी के
अंदर दो टाइप ऑफ कन्वर्जन होते हैं सबसे
पहला हमारा जो कन्वर्जन होता है वो होता
है इंप्ली इंप्ली कन्वर्जन कंपाइलर खुद कर
देता है और दूसरा टाइप हमारा होता है
एक्सप्लिसिट एक्सप्लिसिट कन्वर्जन हम एज अ
प्रोग्रामर हम एज अ यूजर खुद करते हैं
हमारा कंपाइलर हमें करके नहीं देता ये वो
कन्वर्ज है जो हम खुद से करना चाहते हैं
ये एक्सटर्नल कन्वर्जंस है तो इंप्लीड
कन्वर्जंस कहते हैं कि जो छोटे टाइप्स हैं
जैसे इंट जैसा टाइप वही फ्लोट में जाकर
स्टोर हो सकता है इंट जैसा टाइप डबल में
जाकर स्टोर हो सकता है पर फ्लोट या डबल
इंट के अंदर आकर स्टोर नहीं हो सकता
इसीलिए ऑटोमेटिक इसको कन्वर्ट नहीं करेगा
लेकिन अगर हम खुद से एज अ प्रोग्रामर एज अ
कोडर कन्वर्ट कराना चाहते हैं तो हम यहां
इस तरीके से वैल्यू लिख देते हैं हम दो
पैरेंस लगाते हैं दोनों के बीच में उस
टाइप में लिख देते हैं जिसमें हम कन्वर्ट
कराना ना चाहते हैं तो क्या करेगा कंपाइलर
फोर्सफुली कन्वर्ट करेगा कंपाइलर करना
नहीं चाहता बड़े टाइप को छोटे में कन्वर्ट
पर उसको करना पड़ेगा क्योंकि हमने इंट लिख
दिया है आगे अब इसको सेव करते हैं और अब
एक बार इसको दोबारा कंपाइल करके देखते हैं
तो अब उसने सक्सेसफुली कंपाइल कर दिया है
और अब हम अगर अपने कोड को रन करें तो उसका
जो आउटपुट आएगा दैट विल बी वन तो जब भी
इसने कन्वर्ट किया ना इस डबल वैल्यू को
बाय डिफॉल्ट सी में जो सारी फ्लोट वैल्यूज
होती है उनको डबल की तरह देखा जाता है
क्योंकि डबल बड़ा डटा टाइप है अब जब इसने
इस डबल वैल्यू को यानी इस वैल्यू को इंट
में कन्वर्ट किया तो इसने ये
999999 को कंप्लीट हटा दिया वो राउंड ऑफ
नहीं करता सी का कंपाइलर एरिथ मेे ऑपरेशंस
में जब भी फ्लोट से इंट में कन्वर्ट करता
है राउंड ऑफ नहीं करता कि 1.99 है तो उसको
टू बना दो और फिर टू डाल दो इंटी जर में
वो मैथ की तरह इतना ज्यादा लॉजिक नहीं
लगाता अगर डेसीमल हटाने हैं तो वो पूरे के
पूरे हटा देगा और सिर्फ वन स्टोर कराएगा
तो इस चीज का हमें खास ध्यान रखना है जब
भी हम इंटरव्यूज में बैठते हैं और ऐसे कुछ
सवाल हमसे पूछ लिए जाते हैं कि सी में आप
बताओ या क्लास टेस्ट में मिट सेम में एंड
सेम में क्वेश्चन आता है कि इसके आउटपुट
में हम क्या लिखेंगे तो हमें अपने
डेसिमल्स को कंप्लीट उड़ा देना है नेक्स्ट
टॉपिक जिसकी हम बात करेंगे वो है ऑपरेटर
प्रेसीडेंट जैसे मैथ के अंदर हमने एक रूल
पढ़ा था छोटा सा जिसको हम कहते थे बॉर्ड
मास रूल बॉर्ड मास रूल हमारा क्या कहता था
पहले ब्रैकेट ओपन कर लो उसके बाद पहले
डिवाइड करो फिर मल्टीप्लाई करो फिर ऐड करो
फिर सबट क्ट करो तो इस तरीके से मैथ में
अगर बहुत सारे ऑपरेशंस दिए हुए हैं तो कौन
से ऑपरेशन को पहले करना है कौन से ऑपरेशन
को बाद में करना है उसका हमारे पास एक
प्रॉपर सीरीज होता था सीक्वेंस होता था
वैसे ही सी के अंदर है कौन सा ऑपरेशन पहले
परफॉर्म होगा कौन सा ऑपरेशन बाद में
परफॉर्म होगा ये सी के कंपाइलर के अंदर
पहले से ही हमारे पास डिफाइंड है अब इसमें
प्रायोरिटी ऑर्डर को हम प्रेसीडेंट कह
देते हैं यानी प्रायोरिटी में जो ऊपर आएगा
उसकी प्रेसीडेंट हाई है जो प्रायोरिटी में
नीचे आएगा उसकी प्रेसीडेंट लो है तो सबसे
पहले प्रायोरिटी में आते हैं हमारे पास
मल्टीप्लाई डिवाइड एंड मॉड्यूल ऑपरेटर इन
तीनों ऑपरेटर्स की प्रायोरिटी सबसे ऊपर
होती है उसके बाद प्रायोरिटी में आते हैं
प्लस माइनस उसके बाद प्रायोरिटी में आता
है ये इक्वल टू इक्वल टू को c के अंदर हम
असाइनमेंट ऑपरेटर भी कहते हैं असाइन करना
किसी चीज को यानी किसी चीज को उसको दे
देना जैसे अगर हम कहते थे कि स्कूल में जो
मॉनिटर बनता था उसको कहते थे कि इसको
मॉनिटर वाली जो पोस्ट है वो असाइन हो गई
है यानी इसको दे दी गई है तो जब भी कोई
वैल्यू हम देते हैं उसको हम कहते हैं
असाइनमेंट तो अगर a + b = c हमने लिखा है
तो इस a + b की वैल हमने c के अंदर असाइन
कर दिया है तो इस तरीके से हम मतलब समझते
हैं चीजों का c के अंदर अब एक एग्जांपल
अगर देखें x = 4+ 9 * 10 लिखा हुआ है तो
इसको हम सॉल्व कैसे करेंगे प्रेसीडेंट देख
लेंगे सबसे पहले कि 4+ 9 पहले करना है या
9 * 10 ओबवियसली हमारे मल्टीप्लाई की
प्रेसीडें हाई है तो 9 * 10 पहले करेंगे 9
* 10 करेंगे तो 90 आ गया इसमें अब हम फोर
को ऐड करेंगे तो फोर को ऐड करेंगे तो
हमारा जो ना 94 आंसर है वो x के अंदर जाकर
स्टोर हो जाएगा पर अगर हम गलत तरीके से
करते तो गलत तरीका करने का क्या होता कि
ना को फोर में ऐड कर देते तो 13 हो जाता
मल्टीप्ला बाय 10 जिसका आउटपुट आता 130 पर
ये एक गलत आउटपुट होता सही आउटपुट है इसका
94 इसको एक बार कोड भी करके देख लेते हैं
कि कितना हमने सही किया है इंट ए के अंदर
हम स्टोर करेंगे 4 प् 9 इन 10 इसको करते
हैं रन और आउटपुट में हमारे पास आया है 94
अब एक और दूसरे तरीके के हमारे पास जो है
एक्सप्रेशंस लिखे हो सकते हैं तो यह हमारे
पास केस आ गया ऑपरेशंस ऑफ सेम प्रेसीडेंट
यानी मल्टीप्लाई की भी उतनी प्रेसीडेंट है
और डिवाइड की भी उतनी प्रेसीडेंट है तो
पहले कौन सा सॉल्व होगा तो इसके लिए हमारे
पास एसोसिएटिविटी रूल आता है ये जो रूल्स
है ना ये दिखने में खतरनाक लग रहे होंगे
पर बहुत लॉजिकल है इनको अभी रटना नहीं है
ये जैसे-जैसे हम डिफरेंट डिफरेंट प्रॉब्लम
सॉल्व करेंगे अपने प्रैक्टिस प्रॉब्लम्स
भी सॉल्व करेंगे अपने आप आ जाएंगी और बहुत
लॉजिकल है समझने में तो बिल्कुल इनके नाम
याद करने कि इसको एसोसिएटिविटी कहते थे
इसको प्रेसीडेंट कहते थे इतने भारी शब्द
बिल्कुल रट्टेड की बिल्कुल अभी जरूरत नहीं
है नोट्स आपको पूरे अवेलेबल होंगे उनको आप
जाकर कभी भी रिवाइज कर सकते हैं कभी भी
एक्सेस कर सकते हैं एसोसिएटिविटी हम यूज
करते हैं जब भी हमारे पास आते हैं
ऑपरेटर्स ऑफ सेम प्रेसिडेंस सेम
प्रेसिडेंस में जैसे अगर हम अपने एग्जांपल
की बात करें एसोसिएटिविटी कहता है कि
लेफ्ट से राइट कर लो यानी लेफ्ट लेफ्ट से
लेकर राइट तक ऑपरेशंस को परफॉर्म करते जाओ
अगर सेम प्रेसीडें के है तो जैसे यहां पर
मल्टीप्लाई डिवाइड और यह वाला मल्टीप्लाई
सेम प्रेसीडें के है तो हम क्या करेंगे
लेफ्ट से राइट कैलकुलेट कर लेंगे लेफ्ट से
राइट कैलकुलेट करते हैं तो सबसे पहले
कैलकुलेट होगा 4 * 3 4 * 3 हो जाएगा हमारा
12 फिर कैलकुलेट होगा 12 / 6 ये बन जाएगा
हमारा ू फिर कैलकुलेट होगा 2 * 2 ये बन
जाएगा हमारा फर तो सबसे पहले हमने फोर को
थ्र से मल्टीप्लाई किया फिर इसके आउटपुट
को हमने सिक्स के साथ डिवाइड किया फिर
इसके आउटपुट को हमने टू के साथ मल्टीप्लाई
किया तो इस तरीके से लेफ्ट से राइट हम
चलते चले गए अगर इसको ब्रैकेट फॉर्म में
मुझे दिखाना हो तो मैं क्या लिख सकती हूं
मैं लिख सकती हूं पहले मल्टीप्लाई कर दो
फोर को थ्री से फिर डिवाइड कर दो इसको और
फिर इसके बाद मल्टीप्लाई कर दो इसको टू से
और फाइनल वैल्यू को x में असाइन कर दो और
हमारी फाइनल वैल्यू आई थी हमारे पास फोर
इसी का हम कोड लिख लेते हैं कोड में
लिखेंगे 4 * 3 / बा 6 * 2 इसको कर लेते
हैं सेव तो इस वैल्यू के लिए जो हमारे पास
आउटपुट
आएगा वो आया है फोर क्योंकि यहां पे
एसोसिएटिविटी रूल लगा है लेफ्ट से राइट तक
हमारी कैलकुलेशंस होती चली गई अब हमने
काफी सारी चीजें पढ़ ली एरिथ मेे िक
इंस्ट्रक्शन में तो उनके थोड़े से हम सवाल
कर लेते हैं ताकि दिमाग में चीजें सारी की
सारी बैठ जाए तो प्रैक्टिस क्वेश्चन फोर
करते हैं इन चारों के लिए हमें सवाल सॉल्व
करना है सबसे पहले अपने बोर्ड के अंदर
सॉल्व करके देखेंगे अपनी स्लाइड्स पे
सॉल्व करके देखेंगे उसके बाद क्या क्या
करेंगे उसका कोड लिखकर उसको वेरीफाई कर
लेंगे अब पहला सवाल है हमारे पास 5 * 2 -
2 * 3 यहां पे मल्टीप्लाई और इस
मल्टीप्लाई दोनों की प्रेसीडेंट ऊपर है और
माइनस जो है हमें बाद में करना है तो
प्रेसीडेंट दोनों की सेम है मल्टीप्लाई की
तो क्या करेंगे लेफ्ट वाला रूल लगा देंगे
सबसे पहले मल्टीप्लाई करेंगे 5 * 2 को तो
इसकी जगह लिख देंगे 10 बीच में है माइनस
फिर प्रेसीडें के हिसाब से सॉल्व होना
चाहिए 2 * 3 तो 2 * 3 को हमने सॉल्व करके
लिख दिया 6 और इन दोनों का आउटपुट हमारे
पास आया फोर तो सबसे पहले यह सॉल्व होगा
क्योंकि हायर प्रेसीडें में और लेफ्ट में
भी आता है फिर यह सॉल्व होगा क्योंकि हायर
प्रेसीडें में और लेफ्ट के बाद राइट में आ
गया फिर हमारा माइनस सॉल्व होगा तो ये हो
जाएगा 10 - 6 = 4 इसी को कोड फॉर्म में
लिख लेते हैं कोड में हम लिखेंगे 5 न 2 -
3 *
2 यहां पर लगा देते हैं अपना स्टेटमेंट
टर्मिनेटर सेमी जो होता है उसको टर्मिनेटर
कहा जाता है टर्मिनेटर हमारा वो एआई मूवी
वाला रोबॉट वाला टर्मिनेटर नहीं टर्मिनेटर
यानी किसी चीज को रोक देना तो जैसे वो
अपोकलिप्टो कने आया था मूवी के अंदर यहां
पर यह क्या करता है स्टेटमेंट को वहीं पे
रोक देता है तो अब इसको कर देते हैं
कंपाइल एंड रन रन करके आउटपुट हमारे पास
आया फोर सेकंड प्रॉब्लम है हमारे पास 5 *
2 डिवाइड बा 2 * 3 यहां पर क्योंकि तीन
ऑपरेटर्स हैं तीनों की प्रेसीडेंट हाईएस्ट
है तो इसमें हम लगाएंगे अपना एसोसिएटिविटी
रूल एसोसिएटिविटी रूल क्या कहता है लेफ्ट
से राइट भैया कैलकुलेट कर लो तो 5 * 2 को
सबसे पहले कैलकुलेट करेंगे आ गया हमारे
पासस 10 फिर 10 डिवाइड बा 2 को कैलकुलेट
करेंगे आ गया हमारे पास 5 अब इसका आउटपुट
आया 5 इसको मल्टीप्लाई कर लेंगे ्र के साथ
तो आउटपुट हमारे पास आएगा 15 इसको वेरीफाई
भी कर लेते हैं हम आउटपुट लिखेंगे इसको कर
लेते हैं डिवाइड कंपाइल रन सिक्स इसलिए
आया है क्योंकि यहां पर 3 मल्ला बा 2 हमने
लिख दिया ये एक्चुअली होना चाहिए था 2
मल्ला बा 3 इसको कर लेते हैं कंपाइल एंड
रन आउटपुट में हमारे पास आया 15 थर्ड जो
प्रॉब्लम है उसमें है 5 मड बा 2 / 2 म 3
अब इसको कैसे सॉल्व करना है क्योंकि
ब्रैकेट तो दीदी हम पहली बार देख रहे हैं
तो जब भी ब्रैकेट आता है ना सबसे पहले
ब्रैकेट के अंदर की चीज को सॉल्व करने है
ये सिंगल चीज है जो वर्ड मैस के साथ मैच
करती है कि ब्रैकेट आए तो पहले ब्रैकेट
ओपन कर लो तो ब्रैकेट के अंदर की चीज सबसे
पहले सॉल्व होगी यानी ये एक्सप्रेशन हमारे
पास बन जाएगा 5 मल बा 1 मल्ला बा 3 अब
क्या करेंगे अब दो ऑपरेशंस बच गए ये
मल्टीप्लाई और ये मल्टीप्लाई दोनों की
प्रेसीडेंट सेम है तो एसोसिएटिविटी रूल
लगा दो तो ये बन जाएगा हमारे पास 5 * 3
यानी 15 इसका भी आउटपुट 15 आना चाहिए तो
यहां पर हल्का सा चेंज कर लेते हैं एक
ब्रैकेट लगा लेते हैं इसको कर लेते हैं
सेव आउटपुट में आएगा 15 और जो लास्ट सवाल
है इसके अंदर वह यह है 5 + 2 / 2 * 3
इसमें क्या चीज़ होगी इसमें हमारे पास तीन
ऑपरेशंस हैं सबसे पहले है एडिशन फिर है
डिवाइड फिर है मल्टीप्लाई अब हायर
प्रेसीडेंट किसकी हायर प्रेसीडेंट है
डिवाइड और मल्टीप्लाई की दोनों की सेम
प्रेसीडेंट है तो लगा देंगे लेफ्ट
एसोसिएटिविटी लेफ्ट एसोसिएटिविटी से यह
किसमें कन्वर्ट हो जाएगा 5 प् सबसे पहले
कर देंगे 2 / 2 फिर कर देंगे मल्टीप्ला बा
3 फिर उसको ऐड कर देंगे फाइव से तो ये हो
जाएगा 5 प् अंदर वाला एक्सप्रेशन बन गया 1
* 3 उसके बाद करेंगे 5 + 3 और ये बन जाएगा
हमारे पास 8 अब इसी को सेम आउटपुट में कर
लेते हैं एक्सप्रेशन हमारे पास था 5 + 2
डिवाइड बा 2 ल्ड बा 3 इसको कर लेते हैं
सेव और रन करेंगे आउटपुट में हमारे पास
आया एट तो इस तरीके के जो सवाल हैं ये
आपके एमसीक्यू में भी पूछ लिए जाएंगे
प्लेसमेंट टाइम पे या फिर आपसे अपने स्कूल
के कॉलेज के टेस्ट के अंदर पूछ लिए जाएंगे
तो सवाल का जवाब किस तरीके से करना है अगर
थ्योर पेपर है तो उसमें एक्चुअली सॉल्व
करके दिखाना है कि लेफ्ट एसोसिएटिविटी
लगेगी कैसे कौन सी चीज पहले सॉल्व होगी
बेस्ट इसको करने का तरीका है अपनी सुविधा
के लिए आप ये पैरेंस लगा लें ब्रैकेट्स
लगा लें तो पता चल जाएगा कौन सी चीज पहले
सॉल्व करनी है कौन सी चीज बाद में सॉल्व
करनी है और अगर कोड में लिखना है तो कोड
में तो ऑटोमेटिक सी का कंपाइलर कर ही लेगा
तो काफी आसान है इन चीजों को करना जैसे
बॉर्ड मास का रूल होता है होता है वैसे यह
भी रूल होता है थोड़े से चार पांच सवाल
होमवर्क प्रॉब्लम्स और हम कर लेंगे तो
उसके बाद चीजें काफी क्लियर हो जाएंगी
नेक्स्ट जिस टॉपिक की हम बात करेंगे वो है
हमारी कंट्रोल इंस्ट्रक्शंस अब शुरुआत में
हमने पढ़ा था कि इंस्ट्रक्शंस तीन टाइप की
होती है टाइप डिक्लेरेशन हमने पढ़ लिया कि
वेरिएबल को पहले डिक्लेयर करना है फिर
यूज़ करना है सेकंड हमने पढ़ लिया एरिथ
मेे िक इंस्ट्रक्शन जिसके अंदर मॉड्यूल
हमने नया सीखा हमने टाइप कन्वर्जन सीखा
हमने प्रेसीडेंट सीखी अब हम पढ़ने वाले
हैं कंट्रोल इंस्ट्रक्शंस कंट्रोल
इंस्ट्रक्शंस वो इंस्ट्रक्शंस होती हैं जो
डिटरमिन करती हैं हेल्प करती हैं बताने
में हमारा फ्लो ऑफ प्रोग्राम अभी तक हमने
क्या पढ़ा था सीक्वेंस में इंस्ट्रक्शंस
चल रही थी एक कोड लिखा हु है उसमें पहली
स्टेटमेंट पहले एग्जीक्यूट होगी यानी ये
वाली स्टेटमेंट पहले एग्जीक्यूट होगी उसके
बाद ये स्टेटमेंट एग्जीक्यूट होगी उसके
बाद ये स्टेटमेंट एग्जीक्यूट होगी लेकिन
कुछ ऐसी स्टेटमेंट होती है सीके कोड के
अंदर जो फ्लो चेंज कर सकती हैं हो सकता है
हमारी नीचे वाली स्टेटमेंट पहले
एग्जीक्यूट हो और ऊपर वाली बाद में हो ये
जो स्टेटमेंट्स होती है ना जो फ्लो को
अल्टर करने की चेंज करने की पावर रखते हैं
इनको हम कहते हैं कंट्रोल इंस्ट्रक्शंस जो
कंट्रोल कर सकती है फ्लो ऑफ इंस्ट्रक्शंस
इन अ प्रोग्राम अब ये चार टाइप्स की होती
है इनमें से सबसे पहली होती है सीक्वेंस
कंट्रोल सीक्वेंस कंट्रोल इंस्ट्रक्शंस वो
होती हैं जो सीक्वेंस वाइज चलती रहती है
यानी एक के बाद एक के बाद एक अगर हमारा
फ्लो बनता है तो उनको हम सीक्वेंस कंट्रोल
इंस्ट्रक्शंस कहते हैं जैसे हमने अभी तक
सीखते आए हैं जिनको हम ये सारी की सारी
हमारी सीक्वेंस कंट्रोल इंस्ट्रक्शंस है
सेकंड टाइप ऑफ कंट्रोल इंस्ट्रक्शन हमारे
पास होती है डिसीजन कंट्रोल सजन कंट्रोल
में हम पढ़ेंगे इफ एल्स के बारे में यह वो
इंस्ट्रक्शंस है जिनके बारे में हम आने
वाले चैप्टर्स के अंदर पढ़ने वाले हैं
क्योंकि बहुत डिटेल में इनको डिस्कवर करना
होता है और यह सारी की सारी मिलाकर हमारी
सी प्रोग्रामिंग के बेसिक्स फॉर्म करती
हैं तो डिसीजन कंट्रोल के अंदर हम आगे
इफल्स वाला टॉपिक पढ़ेंगे लूप कंट्रोल के
अंदर हम जो डिफरेंट डिफरेंट लूप्स होते
हैं सी के अंदर जैसे हमारा फॉर लूप हो गया
हमारा वाइल लूप हो गया डिफरेंट लूप
पढ़ेंगे यानी किसी काम को अगर हमें
बार-बार बार बार बारबार करना होता है सेम
कुछ लाइंस को यूज करके उसमें हम लूप
कंट्रोल इंस्ट्रक्शन यूज करते हैं जब हमें
कोई डिसीजन लेना होता है कि आज बारिश हो
रही है तो छाता लेकर जाना है या नहीं जाना
सूरज है और संडे है तो आज हम खुश होंगे या
नहीं होंगे ऐसे कुछ-कुछ डिसीजंस होते हैं
इनको जब भी हम कोड में लिखते हैं वो लिखते
हैं डिसीजन कंट्रोल इंस्ट्रक्शंस की हेल्प
से उसके बाद लास्ट आती है हमारे पास केस
कंट्रोल इंस्ट्रक्शन जिसके अंदर कुछ-कुछ
केसेस के हिसाब से हम अलग-अलग चीजें करते
हैं जैसे अगर मंडे टू फ्राइडे है तो काम
पे जाना है और संडे आ गया तो फिर काम पर
नहीं जाना फिर हमें घर पे बैठ के रेस्ट
लेना है इस पूरे एक फ्लो को हमें कोड में
कैसे दिखा सकते हैं वेरिएबल की हेल्प से
और केसेस की हेल्प से कि कौन से दिन में
काम पे जाना है कौन से दिन में घर पे रहना
है तो उन स्टेटमेंट्स का जब भी हम लिख रहे
होते हैं उन इंस्ट्रक्शंस को उनको हम केस
कंट्रोल के अंदर डालते हैं इन तीनों को हम
आने वाले चैप्टर्स के अंदर पढ़ेंगे
सीक्वेंस कंट्रोल हम ऑलरेडी पढ़ चुके हैं
इसके साथ नेक्स्ट टॉपिक इसी चैप्टर के
अंदर जिसकी हम बात करेंगे वो है हमारे
ऑपरेटर्स अब ऑपरेटर्स हमने ऑलरेडी बेसिक
देख लिया है एरिथ मेे िक ऑपरेटर्स क्या
होते थे एरिथ मेे ऑपरेटर्स की कैटेगरी में
हमारे पास आ गया था प्लस माइनस मल्टीप्लाई
डिवाइड ये मल्टीप्लाई ये डिवाइड और
मॉड्यूल तो ये पांच मेजर एरिथ मेे िक
ऑपरेटर्स हम ऑलरेडी पढ़ चुके हैं अब c के
अंदर और भी डिफरेंट टाइप्स ऑफ ऑपरेटर्स
होते हैं हमारे पास रिलेशनल ऑपरेटर्स होते
हैं जो दो ऑपरेंट के बीच का रिलेशन बताते
हैं हमारे पास लॉजिकल ऑपरेटर्स होते हैं
जो दोनों के बीच में लॉजिकल चीज निकाल के
लेकर आते हैं फिर बिट वाइज ऑपरेटर्स भी
होते हैं अभी हमने बात की थी कि मशीन
लैंग्वेज के अंदर मशीन कोड के अंदर सब कुछ
जीरोज और वनस की फॉर्म में होता है और उन
जीरोज और वंस के बीच में अगर हम ऑपरेशन
करते हैं उसको बिट वाइज ऑपरेशन कह देते
हैं फिर असाइनमेंट ऑपरेटर्स भी होते हैं
फिर एक होता है टरनरी ऑपरेटर ये हमारा
कंडीशनल ऑपरेटर होता है यानी अगर किसी
कंडीशन के हिसाब से हमें कोई चीज करनी है
और दूसरी चीज नहीं करनी वो हम टरनरी
ऑपरेटर की हेल्प से भी लिख सकते हैं उसको
इफल्स की हेल्प से भी लिखा जाता है इसकी
हेल्प से भी लिखा जाता है मेजर इसमें
समझने वाली चीज है रिलेशनल और लॉजिकल और
असाइनमेंट यह तीनों इनमें से सबसे इजी है
एरिथ मेे िक के बाद इनको हम अभी पढ़ लेंगे
टरनरी ऑपरेटर को नेक्स्ट चैप्टर में हम
पढ़ेंगे जब भी हम कंडीशनल स्टेटमेंट्स पढ़
रहे होंगे और बिट वाइज ऑपरेटर्स को हम आने
वाले चैप्टर्स में पढ़ेंगे तो सबसे पहले
बात करते हैं अपने रिलेशनल ऑपरेटर्स की अब
रिलेशनल ऑपरेटर्स दो ऑपरेंट के बीच का
रिलेशन बताते हैं मैथ के अंदर जब भी हम
लिखते हैं ना कि a = b हमें चेक करना हो
कि a b के इक्वल है क्या वो हम c के अंदर
ऐसे का ऐसा नहीं नहीं लिख सकते c के अंदर
अगर कहीं लिख देंगे a = b तो इसका मतलब हो
जाएगा b की वैल्यू को उठाकर a में डाल दो
वो तो इक्वलिटी चेक करना नहीं हुआ तो जब
भी चेक करना होता है कि a की वैल्यू मतलब
एक वैल्यू किसी दूसरी वैल्यू के इक्वल है
क्या तो हम लगाते हैं डबल इक्वल टू a इ इ
= b का मतलब है कि हम यहां पर पूछ रहे हैं
क्वेश्चन कर रहे हैं कि a की वैल्यू b की
वैल्यू के इक्वल है क्या और a = b का मतलब
है कि b की वैल्यू को a में डाल रहे हैं
तो जब भी हम रिलेशनल ऑपरेटर्स की बात करते
हैं रिलेशन चेक करने की बात करते तो हम
इसको यूज कर रहे होंगे यानी डबल इक्वल टू
को अगर अपने कोड में हम लिखना चाहे आउटपुट
करवाते
हैं यहां पर लिखेंगे a इक्वल टू इक्वल टू
या a डिफाइंड नहीं है तो 4 इक्व टू इक्वल
टू 4 अगर हम लिखे इसको कर लेते हैं सेव और
उसको रन करते हैं तो हमारे पास आउटपुट में
आएगा वन ये वन क्या दिखाता है वन कहता है
ट्रू है स्टेटमेंट यानी 4 = इ 4 रिटर्न कर
रहा है ट्रू यानी सही बता रहा है सी
कंपाइलर पर अगर यहां ते 4 = = 3 तो इस केस
में हमारे पास वन नहीं प्रिंट होता इस केस
में प्रिंट होता रो यानी 4 = = ू 3 फॉल्स
रिटर्न कर रहा है गलत है तो सी एक स्पेशल
लैंग्वेज है जिसके अंदर ट्रू फॉल्स नहीं
होते ट्रू फॉल्स की जगह ट्रू की जगह हमारे
पास होता है वन और फाल्स की जगह हमारे पास
होता है रो इनफैक्ट कोई भी नॉन जीरो इंटी
जर अगर c के अंदर हम लिख दें जैसे 2 3 4 5
6 7 -1 -5 ये सारे के सारे रिप्रेजेंट
करते हैं ट्रू को पर अगर जहां जीरो आ गया
उसका मतलब फाल्स होता है स के अंदर तो जो
स्टूडेंट्स जो जावा सीखने के बाद सी सीख
रहे हैं c+ प्स के बाद जावास्क्रिप्ट के
बाद उन्हें ये थोड़ा सा अजीब लगेगा कि सी
के अंदर ट्रू फॉल्स जैसा कुछ नहीं होता वन
होता है ट्रू की जगह और जीरो होता है
फाल्स की जगह तो अगर इक्वल टू इक्वल टू
में वन प्रिंट हुआ तो मतलब ट्रू है
स्टेटमेंट और फाल्स प्रिंट हुआ तो हमारे
पास आएगा स्क्रीन पर जीरो वहीं पर दूस
दूसरा रिलेशन जो हम चेक करते हैं वो होता
है ग्रेटर देन का या ग्रेटर दन इक्वल टू
का जैसे अगर हम 3 ग्र दन 4 लिखें ये
रिटर्न करेगा रो क्योंकि फाल्स है 3 तो
ग्रेटर दन 4 होता नहीं पर अगर हम 4 ग्र दन
3 करें ये रिटर्न करेगा हमारे पास ट्रू पर
अगर हम 4 ग्रेटर दन 4 कर दें ये रिटर्न
करेगा रो क्योंकि फोरर इज नॉट ग्रेटर दन 4
लेकिन 4 ग्रेटर दन इक्वल टू 4 करें तो ये
रिटर्न करेगा वन तो ये कुछ-कुछ केसेस होते
हैं जिनके हिसाब से हम आउटपुट अपना
प्रोड्यूस कराते हैं इनको कोड में करके
देख लेते 4 ग्रेटर 3 अगर
लिखा तो आउटपुट में आया
न पर यहीं पर अगर 3 ग्रेटर दन 4 हमने लिख
दिया तो आउटपुट में अब आना चाहिए जीरो
यानी फॉल्स अगर हमने 3 ग्रेटर दन 3 लिखा
तो आउटपुट में आएगा जीरो क्योंकि थ इज
नेवर ग्रेटर दन 3 पर अगर हमने 3 ग्रेटर दन
इक्वल टू कर दिया तो ग्रेटर देन तो चेक
करेगा इक्वल टू भी चेक करेगा इस केस में
आउटपुट आएगा हमारे पास 1 तो यह ग्रेटर दन
और ग्रेटर दन इक्वल टू हो गया थर्ड
रिलेशनल ऑपरेटर जिसकी हम बात करेंगे यह है
हमारा लेस दन इक्वल टू लेस दन और लेस दन
इक्वल टू सेम केसेस रहेंगे 3 इज लेन 4
इसमें रिटर्न करेगा ट्रू 4 इज लेन 3 इसमें
रिटर्न करेगा फाल्स 3 इज लेसन 3 इसमें
रिटर्न करेगा 0 और 3 इज लेन इक्व 3 इसमें
रिटर्न करेगा वन यानी ट्रू इनके भी केसेस
बना लेते हैं इज ग्रेटर दन इक्वल टू कर
देते हैं लेसन इक्वल टू तो लेस दन इक्वल
टू में हमारे पास प्रिंट होगा ट्रू अगर
सिर्फ लेस दन किया तो उस केस में हमारे
पास प्रिंट
होगा रो अगर 4 < 3 किया इस केस में प्रिंट
होगा फॉल्स क्योंकि ये गलत स्टेटमेंट है
यानी रो और अगर किया हमने 4 लेसन 5 इस केस
में प्रिंट होगा ट्रू तो कुछ इस तरीके से
हमारी रिलेशनल स्टेटमेंट्स काम करती हैं
अब एक लास्ट स्पेशल रिलेशनल ऑपरेटर हमारे
पास है जिसको हम कहते हैं नॉट इक्वल टू
इसका नाम हम रखते हैं नॉट इक्वल टू इसको
हम कहते थे इक्वल टू जब भी इक्वल होंगी दो
वैल्यूज यह वन रिटर्न करेगा जब भी नहीं
होंगी जीरो रिटर्न करेगा जब भी इक्वल नहीं
होंगी दो वैल्यूज तब यह वन रिटर्न करेगा
और जब भी इक्वल होंगी तब यह जीरो रिटर्न
करेगा यानी यह दोनों एक दूसरे के ऑपोजिट्स
है जैसे अगर हम अपनी स्टेटमेंट में लिखना
चाहे फर इज नॉट = 4 और वहीं पर हम प्रिंट
करवाना चाहे 4 = ू = 4 जब भी हम
एक्सक्लेमेशन मार्क लगा देते हैं सी के
अंदर प्रोग्रामिंग के अंदर तो उसको हमेशा
नॉट की तरह हमें पढ़ना होता है जहां भी
एक्सक्लेमेशन आया मतलब नॉट नॉट नॉट तो नॉट
ऑपरेटर जो होता है अलग से एक ऑपरेटर होता
है अभी यह जो है व कंप्लीट है नॉट इक्वल
टू इन दोनों के बीच में हम स्पेस नहीं दे
सकते इन दोनों को हमें साथ में लिखना होता
है अब आउटपुट एक बार एनालाइज कर हैं
फर्स्ट स्टेटमेंट का आउटपुट आया जीरो यानी
फाल्स फोर इज नॉट इक्वल टू 4 इस स्टेटमेंट
में हम कह रहे हैं कि चार चार के इक्वल
नहीं होता ओबवियसली एक फॉल्स स्टेटमेंट है
इसलिए प्रिंट हुआ जीरो सेकंड स्टेटमेंट
में कह रहे हैं चार चार के इक्वल ही होता
है तो इसीलिए प्रिंट हुआ वन अब यहीं पर
अगर हम कह देते कि चार तीन के इक्वल नहीं
होता या हम कह देते कि चार तीन के इक्वल
होता है इसमें फर्स्ट स्टेटमेंट में तो
प्रिंट होगा हमारे पास वन क्यों क्योंकि
हम सही कह रहे हैं कि चार तीन के इक्वल
होता ही नहीं है और सेकंड स्टेटमेंट में
प्रिंट होगा फाल्स क्योंकि हम कह रहे हैं
चार तीन के इक्वल होता है जो कि ऑब् वियस
फॉल्स है तो प्रिंट होगा ज़ीरो तो इस
तरीके से जब भी इक्वल टू चेक करना है तो
दो इक्वल टू लगाएंगे जब भी नॉट इक्वल टू
चेक करना है तो एक्सक्लेमेशन मार्क के साथ
इक्वल टू को हम नॉट इक्वल टू कहते हैं
नेक्स्ट टाइप ऑफ ऑपरेटर जिसकी हम बात
करेंगे वो है हमारे लॉजिकल ऑपरेटर्स
कभी-कभी ऐसा होता है c के अंदर कि हमें
लॉजिक चेक करना होता है चीजों का जैसे
लॉजिकल स्टेटमेंट को हम किन केसेस में
यूज़ कर सकते हैं मान लेते हैं हमने c को
यूज़ करके एक सिस्टम बनाया है कोडिंग वाला
सिस्टम जिसके अंदर हम उसके मार्क्स फीड कर
रहे हैं और अगर हम कहते हैं कि उसके
मार्क्स अगर 30 से ज्यादा है और 90 से कम
है तो तो उसको ग्रेड दे दो a और 90 से अगर
ऊपर है या 100 और 90 के बीच में तो फिर
उसको ग्रेड दे दो a प् अगर ऐसे हमें केसेस
चेक करने हैं तो हमें चेक करना पड़ेगा कि
मार्क्स 90 से ऊपर भी हो और 100 से नीचे
भी हो यहां पे चेक करना पड़ेगा मार्क्स 30
से ऊपर भी हो और 90 से नीचे भी हो तभी a
देना पड़ेगा तो जब दो कंडीशंस एक साथ चेक
करनी हो या दो कंडीशंस में से मान लो कोई
एक ट्रू है जैसे आज अगर कोई नेशनल हॉलीडे
है या फिर आज संडे है तभी हम बाहर घूमने
जाएंगे दोनों में से कोई भी एक चीज ट्रू
हो गई तो फिर हमें काम करना पड़ेगा अगर
दोनों ही ट्रू है तो तो करना ही है दोनों
में से एक भी ट्रू है तब भी करना है तो
ऐसे कुछ-कुछ केसेस होते हैं ना रियल लाइफ
केसेस जिनको हम कोड में डालना चाहते हैं
तब हमारे लॉजिकल ऑपरेटर्स हमारे काम आते
हैं सबसे पहला लॉजिकल ऑपरेटर है एंड
ऑपरेटर इसको हम एंड भी कहते हैं इसके अंदर
हम दो एंड लगाते हैं अगर आप ध्यान से
देखें तो m पर m पर सिंगल एंड अगर हम
लिखेंगे तो ये बिट वाइज ऑपरेटर होता है
जिसको हमें यहां पर नहीं लिखना दो एंड
हमेशा लिखेंगे तो वो लॉजिकल ऑपरेटर होगा
इसको हम कैसे यूज़ कर सकते हैं जैसे मान
लो हम फर्स्ट स्टेटमेंट लिखते हैं 4 इ > 3
ये क्या देगी हमें ये देगी वन यानी ट्रू
और हम दूसरी स्टेटमेंट लिखते हैं 5 इज
ग्रे द 2 ये स्टेटमेंट भी हमें वन देगी
यानी ट्रू देगी अगर इन दोनों स्टेटमेंट्स
को हम चाहते हैं दोनों स्टेटमेंट जब ट्रू
हो तभी हमारे पास फाइ फाइनल आउटपुट ट्रू
आए तो इन दोनों के बीच में हम लगा देंगे
एंड तो ये ट्रू होगा और ये ट्रू होगा तभी
आउटपुट ट्रू आएगा पर इनमें से अगर एक भी
ट्रू नहीं है यानी यहां पर हमारे पास आ
जाता है 2 इज ग्रेटर दन 5 तो ये दे देगा
जीरो यानी फॉल्स तो आउटपुट हमारे पास
फॉल्स आएगा एंड के लिए जरूरी है कि फर्स्ट
स्टेटमेंट और सेकंड स्टेटमेंट या जितनी भी
हम स्टेटमेंट्स के बीच में एंड लगा रहे
हैं वो सारी की सारी ट्रू हो नहीं तो
फाल्स आउटपुट आ जाएगा जैसे इसका आउटपुट
अगर हम देखें तो यहां पर हम लिख सकते हैं
4 इ ग्र द 3 एंड एंड 5 इ ग्रे द 2 तो ये
दोनों स्टेटमेंट्स हमारी सच है यानी 4 भी
ग्रेटर दन 3 है और 5 भी ग्रेटर दन टू है
तो ट्रू और ट्रू का जो एंड होगा वो हमारे
पास ट्रू आएगा लेकिन यहां पर एक भी हम
फाल्स बना दें यानी यहां पर लिख दें 3 इज
ग्रेटर दन फॉल्स फर तो यहां पर जो आउटपुट
हमारे पास आएगा वो आएगा रो ये स्टेटमेंट
तो सच है हमारी 5 ग्र 2 पर ये एक फॉल्स हो
गई जहां भी फॉल्स हो गई मतलब पूरा फॉल्स
हो गया अगर एंड लगाया है तो दोनों फॉल्स
होंगे तब भी फॉल्स है दोनों में से एक
फॉल्स होगा तब भी फॉल्स है दोनों ट्रू
होंगे तभी ट्रू प्रिंट होगा तो इसकी हम
टेबल भी बनाते हैं कभी-कभी एक दो आपके
सब्जेक्ट होते हैं इलेक्ट्रॉनिक्स के अंदर
भी कंप्यूटर साइंस के अंदर भी आईटी के
अंदर भी जहां पर ये तीनों लॉजिकल ऑपरेटर्स
की एक टेबल बनती है और अगर आपने लॉजिक
गेट्स पढ़े होंगे कॉलेज के अंदर तो आपको
समझ आएगा कि हम किसके बारे में बात कर रहे
हैं अगर नहीं पढ़े तो अगले वाले
सेमेस्टर्स में शायद आप पढ़ रहे होंगे तो
टेबल ये बनती है कि फर्स्ट एक्सप्रेशन और
सेकंड एक्सप्रेशन हमारे पास अगर कुछ इस
तरीके के क्यों तो फाइनल आउटपुट क्या आएगा
फर्स्ट एक्सप्रेशन ट्रू है सेकंड भी ट्रू
है तो आउटपुट में आएगा ट्रू अगर हम एंड की
बात कर रहे हैं फर्स्ट ट्रू है सेकंड
फॉल्स है तो आउटपुट में आएगा फॉल्स फर्स्ट
फॉल्स है सेकंड ट्रू है तो आउटपुट में
आएगा फॉल्स फर्स्ट फॉल्स है सेकंड भी
फॉल्स है तो भी आउटपुट में आएगा फॉल्स तो
ये छोटी सी टेबल है जिससे हम हल्का सा
विजुलाइज कर सकते हैं कि किस तरीके से
हमारे आउटपुट्स आते हैं जब भी हम लॉजिकल
एंड की बात करते हैं नेक्स्ट हम बात करने
वाले हैं लॉजिकल र की और में हमारे
कीबोर्ड के अंदर पाइप वाला एक सिंबल होता
है यानी एक स्ट्रेट लाइन का सिंबल होता है
इसको जब हम दो बार लिख देते हैं तो वो
हमारा लॉजिकल और ऑपरेटर बन जाता है अब
सिंगल पाइप भी एक ऑपरेटर होता है वो बिट
वाइज र होता है यहां पर हम बात कर रहे हैं
लॉजिकल र की लॉजिकल र क्या करता है दो
स्टेटमेंट या तीन स्टेटमेंट या जितनी भी
स्टेटमेंट अगर हम दे दें और सबके बीच में
लॉजिकल और लगा दें तो उनमें से अगर एक भी
ट्रू हो जाए तो फिर आउटपुट हमारे पास ट्रू
आएगा बाकी सारी चाहे फॉल्स हो पर एक भी
ट्रू होगी तो आउटपुट ट्रू आएगा नहीं तो
सारी फॉल्स तो आउटपुट फॉल्स आएगा तो इसका
अगर कोड लिखकर देखें तो सबसे पहले हमारे
पास है 3 ग्र द 4 जो कि एक फॉल्स
स्टेटमेंट है यहीं पर अगर हम और लगा दें
और लिख दें और 5 ग्र द 2 तो यहां पर ये
स्टेटमेंट फॉल्स है ये स्टेटमेंट ट्रू है
तो इसका आउटपुट एंड में तो हमारे पास
फाल्स आया था पर और में हमारे पास ट्रू आ
जाएगा तो इसकी भी अपनी एक टेबल बन सकती है
टेबल में अगर हम ले फर्स्ट और सेकंड
एक्सप्रेशन और उसके बाद फाइनल आउटपुट को
एनालाइज करें तो यहां पर अगर ट्रू ट्रू
दिए होंगे तो आउटपुट में ट्रू आएगा ट्रू
फॉल्स दिए होंगे तो आउटपुट में ट्रू आएगा
फॉल्स ट्रू दिया होगा तो भी आउटपुट में
ट्रू आएगा लेकिन दोनों फॉल्स होंगे तभी
हमारे आउटपुट में फॉल्स आ रहा होगा तो ये
हमारा है लॉजिकल ऑर इसके अलावा एक और
स्पेशल ऑपरेटर होता है जो होता है हमारा
लॉजिकल नॉट ऑपरेटर लॉजिकल नॉट ऑपरेटर कहता
है कि अगर ट्रू दिया है तो उसको फॉल्स कर
दो फॉल्स दिया है तो उसको ट्रू बना दो
यानी जो भी हमें दिया हुआ है एक्सप्रेशन
के अंदर उसको उल्टा कर देना है चाहे वो
कुछ भी हो जैसे अगर एक एक्सप्रेशन है 3 >
4 हमें पता है यह फॉल्स देगा पर इसके आगे
नॉट लगा दिया तो यह ट्रू दे देगा वहीं पर
अगर दूसरा एक्सप्रेशन है 5 > 1 हमें पता
है यह ट्रू देगा पर वहीं पर नॉट लगा दिया
तो यह फॉल्स दे देगा तो इस तरीके से जब भी
एक्सप्रेशन के आउटपुट को उल्टा करना होता
है फ्लिप करना होता है तो हम नॉट लगा देते
हैं यहां पर देखते हैं हमें पता है कि 5 >
1 हमें देगा ट्रू पर आगे इसके नॉट लगा
दिया तो आउटपुट में हमारे पास आएगा फाल्स
यानी ज़ीरो अगर दो एक्सप्रेशंस की भी बात
करें यानी 5 ग्र 1 जो है यह हमें देगा
ट्रू और और या यहां पर लगा देते हैं एंड
एंड 3 ग्र 4 इसका आउटपुट अगर हम गेस करने
निकले 5 ग्र द 1 देगा ट्रू 3 ग्र 4 देगा
फॉल्स दोनों के बीच में लगा है एंड एक
ट्रू है एक फॉल्स है तो आउटपुट में आएगा
फॉल्स लेकिन इस सब के बाहर हमने नॉट लगा
दिया तो फाल्स की जगह हमारे पास प्रिंट
होने वाला है ट्रू यहां पर एक और ब्रैकेट
लगा देते हैं आउटपुट में में हमें पता है
हमारे पास ट्रू प्रिंट होकर आना चाहिए तो
प्रिंट हुआ है ट्रू यानी वन तो कुछ इस
तरीके से हमारे लॉजिकल ऑपरेटर्स काम करते
हैं इन लॉजिकल ऑपरेटर्स की जो एक्चुअल
इंपॉर्टेंस है ना वो हम नेक्स्ट चैप्टर
में सीखेंगे जब हम कंडीशनल स्टेटमेंट्स की
बात करेंगे जब भी इफ एल्स वाले कंडीशनल
स्टेटमेंट्स हम लिखते हैं तो उसके अंदर
कंडीशन डालनी होती है कि वो कंडीशन ट्रू
है या फॉल्स है तो वहां पर इन एक्सप्रेशंस
को हम सबसे ज्यादा यूज़ कर रहे होंगे अब
यहां पर हमारे पास एक सवाल आता है कि
सिंगल एक्सप्रेशन के अंदर हम कुछ एरिथ मेे
िक ऑपरेटर्स भी लिख सकते हैं एरिथ मेे
ऑपरेटर्स जैसे सिंगल एक्सप्रेशन में हम
लिख सकते हैं a + b - c + d * e इस तरीके
से और सिंगल एक्सप्रेशन के अंदर हम उनको
कंपेयर भी कर सकते हैं यानी इस वैल्यू को
ग्रेटर द 4 * 3 * 5 इस तरीके की वैल्यू को
हम फिर एंड एंड कर सकते हैं 4 > 2 तो इतना
लंबा हम एक एक्सप्रेशन लिख सकते हैं जिसके
अंदर एरिदमेटोसस
हमारे रिलेशनल ऑपरेटर्स आ रहे होंगे तो
फिर इनमें प्रेसीडेंट कैसे डिसाइड होती है
तो इनका भी अपना एक ऑपरेटर प्रेसीडेंट
ऑर्डर होता है जिसमें प्रायोरिटी वाइज
प्रेसीडेंट होती है सबसे हायर प्रेसीडेंट
जो दी जाती है वो दी जाती है हमारे नॉट
ऑपरेटर को जहां भी नॉट ऑपरेटर आ गया सबसे
पहले नॉट करना है उसके बाद बाकी सारी
चीजें करनी है उसके बाद मल्टीप्लाई डिवाइड
मॉड्यूल को फिर प्लस माइनस आ जाते हैं फिर
आ जाते हैं हमारे रिलेशनल ऑपरेटर्स फिर आ
जाते हैं रिलेशनल ऑपरेटर्स में इक्वल टू
और नॉट इक्वल टू फिर आते हैं हमारे लॉजिकल
ऑपरेटर्स जिसमें सबसे पहले देखा जाता है
एंड कैसे होगा फिर देखा जाता है और कैसे
होगा फिर आ जाता है इक्वल टू यानी
असाइनमेंट ऑपरेटर पहले ऊपर वाली सारी
चीजें हो जाएंगी फिर लेफ्ट हैंड साइड में
जाके जो भी लिखा होगा उसमें हम असाइन कर
देंगे वैल्यू को तो कुछ इस तरीके से
प्रेसीडेंट रहता है इसको भी याद करने की
जरूरत नहीं है मेजर चीजें जो इसमें याद
रखनी है वो ये है कि सबसे पहले नॉट को
किया जाएगा रिलेशनल ऊपर आते हैं लॉजिकल
नीचे आते हैं तो इस तरीके से हम रखेंगे
बाकी जब भी आपको कैलकुलेशन में रेफर करना
पड़े आप इन सेम नोट्स को जाकर रेफर कर
सकते हैं
अब इसके बाद एक और ऑपरेटर का टाइप हम पढ़
लेते हैं यह काफी आसान ऑपरेटर है सबसे
आसान ऑपरेटर जो होने वाले हैं हमारे
असाइनमेंट ऑपरेटर असाइन करना हम ऑलरेडी
पढ़ चुके हैं इक्वल टू क्या करता है a इ b
है तो b की वैल्यू को a में डाल देगा c =
d है तो d की वैल्यू को c में डाल देगा e
= f + g - h है तो इस पूरे एक्सप्रेशन की
वैल्यू को e में डाल देगा ये होता है
असाइनमेंट ऑपरेटर का काम उसके बाद हमारा
प्लस इक्वल टू वाला ऑपरेटर होता है ये
बेसिकली हमारे शॉर्ट हैंड ऑपरेटर है क्या
है शॉर्ट हैंड ऑपरेटर्स यह क्या करते हैं
मुश्किल लंबी लंबी जो स्टेटमेंट होती है
ना उसको छोटा करने के तरीके बताते हैं
जैसे अगर हमने लिखा है a = a प् बी अगर हम
अपने कोड में इस चीज को
लिखें इंट a =
1 इंट बी = 4 और हम लिखना चाहते हैं इंट
या a = ए प् बी तो यहां पर क्या आना चाहिए
b है 4 a है व तो 1 प् 4 होगा 5 तो a की
वैल्यू अब फ बन जाएगी इसको प्रिंट भी
कराकर हम टैली कर सकते
हैं आउटपुट में आएगा फाइव तो a की वैल्यू
फाइव बन गई क्योंकि फोर और वन को मिलाकर
फाइव हो गया अब हम नोटिस करेंगे लेफ्ट में
भी a लिखा हुआ है राइट में भी a लिखा हुआ
है जब लेफ्ट और राइट में सेम एक्सप्रेशन
होता है ना यानी सेम वेरिएबल लिखा होता है
तो उसको हम छोटा कर सकते हैं छोटा कैसे कर
सकते हैं इस a = a + b को हम लिख सकते हैं
a प् इक्वल टू b तो यहां पर प्लस इक्वल टू
ने रिप्लेस कर लिया है इक्वल टू a को तो
इस तरीके से हम बार-बार बार-बार जब भी सेम
वेरिएबल को लेफ्ट में और राइट में यूज
करते हैं तो हम इक्वल टू को रिप्लेस कर
सकते हैं प्लस इक्वल टू से तो वो ऑपरेशन
परफॉर्म हो जाएगा जैसे यहां पर अगर हम
स्टेटमेंट लिखें a +
= b और फिर इसकी वैल्यू को चेक करें तो
सेम आउटपुट हमारे पास आएगा व्हिच इज अब जो
सेम चीज हमने प्लस के साथ की वो
मल्टीप्लाई के साथ भी कर सकते हैं यहां पर
अग लिख दिया मल्टीप्लाई इक्वल टू तो क्या
होगा 4 * 1 दोनों मल्टीप्लाई हो जाएंगे
आउटपुट में फर आएगा वहीं पर माइनस लिख
दिया तो माइनस में क्या होगा इस स्टेटमेंट
का मतलब है a = a - b तो a है 1 b है 4 1
- 4 - 3 आ जाएगा तो a में हमारे पास
प्रिंट होकर आना चाहिए -3 इसको टैली कर
लेते हैं आउटपुट में आया -3 तो इस तरीके
से जब भी एक्सप्रेशंस को छोटा करना हो
क्योंकि हम लेफ्ट और राइट में सेम ऑपरेंट
यूज़ कर रहे हैं तो क्या करेंगे माइनस
इक्वल टू लिख देंगे मल्टीप्लाई इक्वल टू
सेम फॉर डिवाइड सेम फॉर मॉड्यूल ये होते
हैं हमारे सबसे आसान ऑपरेटर्स हमारे
असाइनमेंट ऑपरेटर्स तो इस तरीके से हमारे
जो बेसिक ऑपरेटर्स थे बेसिक इंस्ट्रक्शंस
थे हमने कंप्लीट कर लिए हैं अब हम कुछ-कुछ
प्रॉब्लम्स करेंगे यह प्रॉब्लम्स करने के
बाद जो चीजें अभी हमने पढ़ी हैं चैप्टर टू
में व हमारे दिमाग के अंदर बैठ जाएंगी
सबसे पहला सवाल करते हैं राइट अ प्रोग्राम
टू चेक इफ अ नंबर इज़ डिविजिबल बाय टू ऑर
नॉट
अब नंबर इज डिविजिबल बाय टू और नॉट का
प्रोग्राम हमें लिखना है कोई भी नंबर मान
लो x हमें दिया है x की वैल्यू पाच हो
सकती है छ हो सकती है 10 हो सकती है देखना
है यह टू से डिवाइड होगा या नहीं होगा जो
भी नंबर किसी दूसरे नंबर से डिवाइड हो
जाता है जैसे मान लीजिए 4 ू से डिवाइड हो
जाता है 10 5 से डिवाइड हो जाता है तो
रिमाइंडर क्या देता है जीरो देता है 4 डि
बा 2 भी रिमाइंडर हमें जीरो देगा तो यहां
पे हमें दिमाग लगाना है कि रिमाइंडर टू दे
दे जो भी नंबर दूसरे से डिवाइड हो जा
तो यहां हम इस्तेमाल करेंगे अपने मॉडलो
ऑपरेटर का तो क्या करेंगे किसी भी नंबर एक
को इनपुट ले लेंगे इनपुट में हमने ले लिया
एकस को अब x का मॉडलो देख लेंगे ू के साथ
अगर यह मॉडलो जीरो हो जाता है एक केस है
कि जीरो हो गया मतलब हो गया डिवाइड एक केस
है जीरो नहीं हुआ जीरो के अलावा मान लो न
प्रिंट होर आ गया ू आ गया मानव या माइन फ
कुछ भी आ गया जीरो के अलावा तो मतलब नॉट
डिवाइड हो जाएगा तो सिंपली क्या करना है
एक नंबर इनपुट लेंगे यूजर से फिर उसका
मॉड्यूल चेक कर लेंगे टू के साथ अगर
मॉड्यूल जीरो रिटर्न कर रहा है तो मतलब
डिवाइड होता है नहीं तो नहीं होता अब इसके
लिए कोड लिखकर देख लेते हैं सबसे पहले
एक्स को हम कर लेते हैं डिक्लेयर फिर
स्कैन एफ करके सबसे पहले प्रिंट एफ कर
देते
हैं एंटर
अ नंबर यहां पर हमारे पास नंबर एंटर होगा
फिर उसको हम कर लेंगे
स्कैन परसेंटेज डी
एंड x अब दोबारा प्रिंट कर लेंगे हम
परसेंटेज
डी कैसे चेक करेंगे डिवाइड होता है या
नहीं होता हम लिख देंगे x
मॉडलो
2 इक्वल टू इक्व
0 यहां पर हमने दो को कंबाइन किया एरिथ
मेे ऑपरेटर को कंबाइन किया किसके साथ अपने
रिलेशनल ऑपरेटर के साथ मॉड्यूल लिया पहले
और फिर रिलेशनल आया अब जब हमने ऑपरेटर
प्रेसीडें देखा था तो उसमें क्या था हमारे
एरिदमेटोसस
ऑपरेटर्स नीचे थे तो यहां पर सबसे पहले x
का मॉड्यूल निकलेगा टू के साथ अगर वो
वैल्यू जीरो के इक्वल होती है तो प्रिंट
होगा ट्रू यानी वन मतलब ये डिवाइड हो जाता
है अगर नहीं होती तो प्रिंट होगा जीरो
मतलब ये डिवाइड नहीं होता है तो इसको सेव
कर लेते हैं आउटपुट अपना देखते हैं हम
एंटर करते हैं नंबर फाइव फाइव के लिए
प्रिंट हुआ जीरो क्योंकि फाइव जो है टू के
साथ डिवाइड नहीं होता वहीं पर इसको दोबारा
रन करें अबकी बार एंटर करेंगे 10
10 में प्रिंट हुआ वन क्योंकि 10 हमारा टू
के साथ डिवाइड हो जाता है जब भी 10 एंटर
किया 10 का मॉड्यूल निकला पहले टू के साथ
फिर मॉड्यूल क्या आया रो उस रो को हमने रो
से ही कंपेयर कर दिया तो आ गया ट्रू तो
ट्रू रिटर्न हो गया पर यहां पे फाइव के
केस में फाइव का मॉड्यूल टू के साथ आया वन
तो वन को हमने कंपेयर किया रो के साथ तो
वो इक्वल टू नहीं आया तो इसलिए प्रिंट हुआ
रो यानी फाल्स अब इसका एक दूसरा वर्जन
होता है इसी प्रोग्राम का वो वर्जन होता
है टेल इफ अ नंबर इज इवन और ऑड जो नंबर्स
टू के साथ डिवाइड हो जाते हैं वो होते हैं
हमारे इवन नंबर्स जो नंबर्स टू के साथ
डिवाइड नहीं होते यानी उनका मॉड्यूल हमारे
पास जीरो नहीं आता वो होते हैं हमारे ऑड
नंबर्स तो जब भी इवन ऑड चेक करना हो कोई
नंबर है या नहीं तो उसके लिए भी टू से
डिवीजन चेक कर लो तो यही है हमारा नेक्स्ट
प्रैक्टिस क्वेश्चन जिसमें राइट अ
प्रोग्राम टू चेक इफ अ नंबर इज ऑड और इवन
जब भी इवन वाला हमारे पास केस होगा तो
उसमें हम प्रिंट करवाने वाले हैं वन और ऑड
वाला केस होगा उसमें प्रिंट करवाने वाले
हैं जीरो तो नंबर हमने एंटर कर लिया सेम
लाइन से उसको x में स्टोर करा लिया अब
क्या प्रिंट करेंगे उसी नंबर को टू से
मॉड्यूल ले लेंगे मॉडलो में अगर जीरो आएगा
तो वो नंबर इवन है नहीं तो ऑड है इसी
प्रोग्राम को दोबारा रन कर देंगे पहले
लेते हैं हम 16 16 में प्रिंट हुआ वन यानी
16 हमारा इवन नंबर है क्योंकि टू से हो
गया
डिवाइड अब वहीं पर अगर हम बात करें सेवन
की तो सेवन के केस में प्रिंट हुआ जीरो
क्योंकि सेवन हमारा ऑड नंबर है नेक्स्ट
क्वेश्चन कहता है आर द फॉलोइंग वैलिड और
नॉट सबसे पहली स्टेटमेंट है इंट इ 8 और यह
वाला सिंबल 8 अब यहां पर हमारी जो
एक्सपेक्टेशन होगी इसके बारे में ऑलरेडी
बात कर चुके हैं हम एक्सपेक्ट कर रहे हैं
8 टू द पावर 8 जो कि होना चाहिए कोई बड़ी
सी
वैल्यू वह तो यहां पर प्रिंट नहीं होगा
यहां पर बल्कि प्रिंट होगा जीरो कैसे
प्रिंट होगा जीरो एक बार कोड में देख लेते
हैं इस पूरे को हटाते हैं और यहां प्रिंट
करवाते हैं 8
जीरो प्रिंट हुआ है क्योंकि कंपाइलर ने
क्या किया इसको 8 की पावर 8 की तरह नहीं
लिया इसको लिया 8 एजोर 8 और जब सेम नंबर
का सेम नंबर के साथ एजर करते हैं तो
आउटपुट में हमेशा जीरो आता है इसीलिए यहां
पर हमारे पास आउटपुट में जीरो आया है ये
बिट वाइज ऑपरेटर है जिसके बारे में हम
ऑलरेडी बात कर चुके हैं कि हम बाद में बात
करेंगे तो और इसका आउटपुट हमारे पास पावर
नहीं आता पावर के लिए पीओ डब् पाव फंक्शन
यूज करना पड़ता है पर क्या ये स्टेटमेंट
चल गई हां ये स्टेटमेंट चल गई क्या
कंपाइलर ने कोई एरर रिटर्न किया नहीं
कंपाइलर ने कोई एरर रिटर्न नहीं किया
इसीलिए स्टेटमेंट हमें पावर तो नहीं देती
पर यह है एक वैलिड स्टेटमेंट दूसरी
स्टेटमेंट की बात करते हैं इंट x उसके बाद
है हमारा टर्मिनेटर फिर इंट y = x फिर है
टर्मिनेटर क्या ये स्टेटमेंट वैलिड है अब
इसमें ध्यान से देखें तो पहली स्टेटमेंट
तो हमारी यही खत्म हो गई है दूसरी
स्टेटमेंट शुरू हुई है दूसरी स्टेटमेंट
में हमने x को x की वैल्यू को y में डाल
दिया है अब ये जो स्टेटमेंट है सेम लाइन
में तो लिखी है पर क्योंकि टर्मिनेटर आ
गया तो नेक्स्ट स्टेटमेंट बन गई तो पहले
हमने x को डिक्लेयर किया बाद में यूज़
किया है तो यह स्टेटमेंट भी वैलिड है इसको
सॉल्व करके एक बार देख लेते हैं इंट
x और इंट y = x अब यहां पर अगर हम सेव
करें तो कोई एरर नहीं आया क्योंकि क्या
हुआ पहले x को डिक्लेयर कर लिया फिर y को
कर दिया अगर हम इसको ऐसे लिखें या हम इसको
ऐसे लिखें दोनों में कोई डिफरेंस नहीं है
दोनों सिंटेक्स वाइज सही है और सेम है पर
यहीं पर अगर हम ये टर्मिनेटर हटा देते और
यहां कॉमा लगा देते और फिर उसको सेव करते
तो यहां पर आ जाता एरर क्यों आता है एरर
क्योंकि टर्मिनेटर हट गया तो मतलब ये सेम
लाइन पर है सेम लाइन पर है तो एक को हमने
यूज कर लिया जिस लाइन में डिक्लेयर कर रहे
हैं उसी लाइन में तो यहां तो टाइप
डिक्लेरेशन का रूल ब्रेक हो गया और यहीं
पर आता है हमारा थर्ड प्रॉब्लम थर्ड
प्रॉब्लम में क्या था हमारे पास कि सेम
लाइन में है और बीच में आ गया हमारे पास
कॉमा तो यह तो वैलिड था पर ये हो गया
हमारा इनवैलिड स्टेटमेंट चौथी स्टेटमेंट
है एक कैरेक्टर हमने डिफाइन किया स्टार्स
नाम से उसके अंदर दो स्टार हमने स्टोर कर
दिए ये देखते हैं कि वैलिड है या नहीं है
अपने कोड के अंदर लिखते हैं कैर स्टार्स
इज इक्वल टू स्टार स्टार उसको करते हैं
सेव अब इस स्टेटमेंट को कंपाइल करते हैं
एक बार कंपाइल करके हमारे पास वॉर्निंग
जनरेट हुई वॉर्निंग क्या कहती है कि हमने
एक मल्टी कैरेक्टर कांस्टेंट बना दिया
मतलब हमने मल्टीपल कैरेक्टर्स यहां पर डाल
दिए तो ये एक एरर वाली चीज है ये हम नहीं
कर सकते अगर हम स्पेस भी डालें कैरेक्टर
के अंदर तो वो भी कंपाइल नहीं करेगा सेम
चीज बोलेगा कि आपने स्पेस क्यों डाल दिया
तो इसीलिए जब भी कैरेक्टर्स बनाते हैं
उनके अंदर सिंगल वैल्यू जो है हमें डालनी
होती है तभी वो कंपाइल करेंगे सक्सेसफुली
अगर हम यहां पर वन भी लिख रहे हैं तो वन
जो होगा वो तो कंपाइल कर जाएगा पर वन के
साथ अगर टू लिख दिया तो यहां पर दो
कैरेक्टर्स आ गए एक तरीके से तो ये हमारा
कंपाइल नहीं करेगा ये दे देगा हमें इंप्ली
कन्वर्जन की वार्निंग ये वार्निंग्स क्यों
दी गई है क्य कि अगर हम मल्टीपल
कैरेक्टर्स डालते हैं ना अगर हम स्टार
स्टार भी डालते हैं तो वो मेमोरी के अंदर
इतनी जगह ले लेता है जो कैरेक्टर को जितनी
जगह दी जाती है उससे बड़ी होती है तो इसको
क्या हमें बड़े कंटेनर में डालना चाहिए तो
वो सोचता है कैरेक्टर वाले छोटे कंटेनर
में तो ये आएगा नहीं इसको क्या इंट वाले
कंटेनर में डाल दूं पर वो ऑटोमेटिक इंप्ली
वो कर नहीं पाता क्योंकि कैरेक्टर को
ऑटोमेटिक वो इंटी जर में डालता नहीं है
इसीलिए यहां पर ये वार्निंग जनरेट होती है
तो ऐसा नहीं करना है जब भी कैरेक्टर
डिफाइन कर रहे हैं सिंगल वैल्यू वाला
कैरेक्टर हमें डिफाइन करना है इस
स्टेटमेंट को हम इनवैलिड कहेंगे क्योंकि
यहां पर कंपाइलर हमें वार्निंग थ्रो कर
रहा है नेक्स्ट जो प्रैक्टिस क्वेश्चन है
उसमें हमें बताना है कि प्रिंट कर दो ट्रू
या फॉल्स फॉर द फॉलोइंग स्टेटमेंट पहली
स्टेटमेंट है इफ इट्स संडे एंड इट्स नोइंग
देन प्रिंट करो ट्रू यानी अगर संडे का दिन
है और स्नो कर रहा है तो फिर ट्रू प्रिंट
करना है कैसे इसको प्रोग्राम की फॉर्म में
कैसे कन्वर्ट करेंगे सबसे पहले तो दो
वेरिएबल ले लेते हैं पहला वेरिएबल है इंट
इज संडे दूसरा वेरिएबल है इंट
इज स्नोइंग तो अब इज संडे में अगर हम ट्रू
डाल दे और इज स्नोइंग में भी अगर हम ट्रू
डाल द तो फिर प्रिंट एफ करते
हैं इस संडे जब ट्रू होगा एंड एंड इज
स्नोइंग जब ट्रू होगा तभी हमारे पास ट्रू
प्रिंट हो यानी यह भी ट्रू हो और यह भी
ट्रू हो संडे हो और स्नो पड़ रही हो तभी
हम करेंगे ट्रू प्रिंट तो ऑलरेडी हमने इन
दोनों को ट्रू कर रखा है देख लेते हैं
आउटपुट हमारा ट्रू आ रहा है या नहीं आ रहा
तो आउटपुट में हमारे पास आया ट्रू वहीं पर
मान लेते हैं कि संडे का दिन नहीं है कोई
और दिन है तो इस संडे तो फॉल्स हो जाएगा
और अब अगर हम इसको रन करें तो आउटपुट में
हमारे पास आएगा जीरो क्योंकि दोनों में से
एक कंडीशन फॉल्स हो गई और एंड क्या करता
है एक भी कंडीशन फॉल्स हुई तो पूरे को
फॉल्स बना देगा अब सेकंड जो क्वेश्चन है
वो कहता है इफ इट्स मंडे और इट्स रेनिंग
तो ट्रू कर दो या तो मंडे हो या रेन हो
रही हो तो ट्रू प्रिंट हो जाए यहां पे और
जो है उसकी जगह हम करेंगे अपना लॉजिकल और
ऑपरेटर तो इज संडे को बना देंगे इज मंडे
इस नोइंग को बना देंगे इज रेनिंग यहां पर
मंडे नहीं है तो जीरो कर लेंगे रेनिंग है
तो वन कर लेंगे यहां पर कर लेते हैं इज
मंडे यहां कर लेते हैं
इज रेनिंग अब एक कंडीशन जो है वो है फॉल्स
एक कंडीशन है ट्रू अब दोनों में से कोई भी
अगर ट्रू हो तो हमें प्रिंट करवाना है
ट्रू तो उसके लिए यूज कर लेंगे लॉजिकल और
और इसको रन करके देख लेते हैं प्रिंट होगा
हमारा पास ट्रू थर्ड कंडीशन कहती है इफ अ
नंबर इज ग्रेटर दन ना यानी एक नंबर है x
वो अगर नाइन से बड़ा है एंड लेस दन 100
100 से छोटा है तो इसको हम प्रिंट करवा
देंगे ट्रू तो एक नंबर के लिए चेक करना है
कि वो नाइन से बड़ा हो एंड वो सेम नंबर
100 से छोटा हो ये दोनों कंडीशन है दोनों
कंडीशन ट्रू होनी चाहिए बीच में लगा देंगे
अपना लॉजिकल एंड ऑपरेटर और फिर प्रिंट
करवा देंगे हम ट्रू की जगह वन अब ये जो हम
स्टेटमेंट लिखने वाले कंडीशन लिखने वाले
हैं इसको हम एक तरीके से कह सकते हैं कि
हम चेक करें कि टू डिजिट नंबर है या नहीं
है जो नंबर नाइन से बड़ा होगा और 100 से
छोटा होगा वो हमेशा एक टू डिजिट नंबर होगा
तो जब भी टू डिजिट नंबर की हमें कंडीशन
चेक करनी है यह स्टेटमेंट अपने कोड में हम
लिख लेते हैं तो जब भी ऐसा कोई सवाल आए ये
सेम की सेम स्टेटमेंट हमें छाप देनी है उस
सवाल के अंदर इसके लिए कोड लिख लेते हैं
सबसे पहले एक वेरिएबल डिफाइन करते हैं एक
फिर स्क्रीन पर प्रिंट कर देते हैं एंटर
नंबर
नंबर एंटर करवा लेते हैं फिर उस नंबर को
कर लेते परसेंटेज डी एंड x अब चेक कर
लेंगे यहां पर कि x इ ग्रेटर दन 9 एंड एंड
x इ ले 100 अगर यह दोनों कंडीशंस ट्रू हो
गई तो फिर वो नंबर एक टू डिजिट नंबर है तो
प्रिंट होगा वन अगर नहीं हुई तो प्रिंट
होगा जीरो इसको रन करते हैं सबसे पहले जो
नंबर एंटर करेंगे वो करते हैं 78 78 के
लिए प्रिंट हुआ वन अब सेम कोड को अगर रन
करें और अबकी बार नंबर एंटर करें हम
101 तो प्रिंट होगा जीरो क्योंकि ये टू
डिजिट नंबर नहीं है तो अभी तक सी के अंदर
हमने जितना पढ़ा है डिफरेंट डिफरेंट
ऑपरेटर्स को मिलाकर हम बहुत ब्यूटीफुल
लॉजिकल प्रोग्राम्स बना सकते हैं दुनिया
के अंदर कोई भी ऐसा लॉजिक है जो एजिस्ट
करता है यानी मैथ जैसी चीज जो कि बहुत
ज्यादा लॉजिकल है फिजिक्स जैसी चीज जो
बहुत ज्यादा लॉजिकल है कहीं भी अगर लॉजिक
एजिस्ट करता है जिसका हम कोई फार्मूला बना
सकते हैं कोई प्रोसेस बना सकते हैं उस चीज
को हमेशा एक कोड में कन्वर्ट किया जा सकता
सता है तो यहां पे हमने अपनी चीज को एक
कोड में कन्वर्ट कर दिया है बहुत सारे
ब्यूटीफुल प्रोग्राम्स हमने सीखे क्या
सीखा कि ऑड इवन कैसे चेक करते हैं बहुत
बेसिक है और बहुत सारे मिड सेमेस्टर्स में
पूछ लिया जाता है कॉलेजेस में अगर आप
इनिशियल राउंड्स दे रहे हैं टीसीएस जैसी
कंपनीज के तो वो भी इनिशियली पूछ सकते हैं
आपसे नहीं तो आपके एमसीक्यू राउंड्स में आ
जाते हैं ऐसे सवाल अगर हमें चेक करना है
कोई नंबर टू डिजिट नंबर है क्या तो उसकी
हमने कंडीशन देख ली है इसके अलावा नेक्स्ट
चैप्टर्स के अंदर बहुत सारे ऐसे लॉजिकल
सवाल हम और ज्यादा डिस्कवर कर रहे होंगे
और ज्यादा सॉल्व कर रहे होंगे बहुत सिंपल
तरीकों से इसके बाद हमें एक होमवर्क
प्रॉब्लम जो है होमवर्क शीट हमें दी होगी
उसको हमें पॉज करना है खुद से सॉल्व करना
है अगर सॉल्व नहीं कर पाते कोई भी एरर आता
है तो अपने नोट्स के अंदर हमें सॉल्यूशन
मिल जाएंगे उन प्रॉब्लम्स के उनको जाकर हम
देख सकते हैं और खुद से सवाल करने की
प्रैक्टिस कर सकते हैं तो यहां पर हमारा
चैप्टर टू खत्म होता है और नेक्स्ट चैप्टर
की तरफ बढ़ते हैं जो है कंडीशनल ऑपरेटर्स
हाय एवरीवन और अब हम शुरू करने वाले हैं
अपने थर्ड चैप्टर के साथ जिसका नाम है
कंडीशनल स्टेटमेंट्स सी के अंदर कंडीशनल
स्टेटमेंट्स बहुत इंपॉर्टेंट होते हैं और
ये हमारा बेसिस ऑफ प्रोग्रामिंग फॉर्म कर
रहे हैं अब कंडीशनल स्टेटमेंट्स को पढ़ने
से पहले ना थोड़े से उसके रियल लाइफ
एग्जांपल्स देख लेते हैं जैसे मान लो कि
हमारे पास हमें कोई कैरेक्टर दिया जाएगा
जैसे एम फॉर मंडे टी फॉर ट्यूजडे या अ
डब्लू फॉर वेनसडे तो इस तरीके से हमें
कैरेक्टर लेके वो जिस भी कैरेक्टर के
हिसाब से जो भी दिन होगा हमें वो प्रिंट
करवाना है या इसके अलावा हमें मार्कशीट
मिलती है स्कूल के अंदर जिसमें क्या होता
है हमें कुछ ग्रेड्स दिए होते हैं जैसे
अगर आपके 90 प्लस आए होंगे तो आपको ए प्लस
प्लस दिया होगा 80 से 90 में a प्लस दिया
होगा 70 से 80 में आपको a दिया होगा 60 से
70 में आपको बी दिया होगा इस तरीके से
ग्रेडिंग सिस्टम रहता है तो इसी पूरे के
पूरे ग्रेडिंग सिस्टम को अगर हमें कोड की
फॉर्म में लिखना है तो हमें कंडीशनल
स्टेटमेंट्स की जरूरत पड़ेगी अगर मान
लीजिए ऐसा कोई सिनेरियो बन रहा है कि अगर
हमारी रोशनी है तो प्रिंट करवाना है
मॉर्निंग और डार्कनेस है तो प्रिंट करवाना
है नाइट ऐसे-ऐसे कुछ-कुछ चीजें होती हैं
जो कभी-कभार कोड में लिखनी पड़ती हैं या
फिर अगर हम मार्केट से कोई सामान खरीदने
जा रहे हैं जैसे मान लीजिए आप क्लोथ्स
खरीदते हैं आप गैजेट्स खरीदते हैं तो उनके
ऊपर आपको कुछ टैक्स भरना पड़ता है लेकिन
वहीं आप मार्केट से अगर बुक्स खरीदते हैं
तो उनके ऊपर टैक्स नहीं देना पड़ता तो कौन
सा आप सामान खरीद रहे हैं उस हिसाब से
आपका जो सॉफ्टवेयर है वो डिसाइड करेगा कि
आपके ऊपर कितना टैक्स लगेगा इस तरीके के
जो प्रोग्राम्स होते हैं इनमें कंडीशंस
आपकी चेक होती है जैसे कंडीशन में आइटम के
ऊपर टैक्स कैलकुलेट करने के लिए कंडीशन
चेक होगी कि आइटम कौन सा है फिर बताया
जाएगा उस पर कितना टैक्स लगेगा पहले देखा
जाएगा अंधेरा है है या लाइट है और फिर
बताया जाएगा क्या प्रिंट करवाना है पहले
देखा जाएगा कैरेक्टर कौन सा है फिर प्रिंट
करवाया जाएगा कि कौन से हफ्ते के दिन की
हम बात कर रहे हैं पहले देखा जाएगा आपके
सब्जेक्ट के मार्क्स कितने आए हैं फिर
प्रिंट करवाया जाएगा कि आपके उस सब्जेक्ट
में कितने ग्रेड्स हैं तो ऐसी सिचुएशंस
जहां पर हम किसी कंडीशन को देखकर उस हिसाब
से काम करते हैं उस हिसाब से कोई भी चीज
करवाते हैं तो उन्हें हम कंडीशनल
स्टेटमेंट्स की कंडीशनल ऑपरेटर्स की
कैटेगरी में लेके आते हैं अब जब भी हम सी
के अंदर कंडीशनल स्टेटमेंट्स की बात करते
हैं तो हम दो टाइप की स्टेटमेंट्स को
पढ़ेंगे इनमें से सबसे पहली हमारी एफएल
स्टेटमेंट्स और दूसरी है हमारी स्विच
स्टेटमेंट इफ का मतलब इंग्लिश के अंदर
होता है अगर और एल्स का मतलब होता है अगर
वो चीज नहीं हुई तो यह चीज कर दो तो इस
तरीके से हमारी फफएल स्टेटमेंट्स फॉर्म
होती हैं अब अगर सिंटेक्स देखें कि फफएल
स्टेटमेंट्स को लिखा कैसे जाता है तो सबसे
पहले हम इफ कीवर्ड लिखते हैं ये सी का एक
कीवर्ड है मतलब ऑलरेडी सी के कंपाइलर को
पता है कि इफ का मतलब क्या होता होता है
फिर हम पैरेंस लगाते हैं फिर उसके अंदर
कोई कंडीशन हम लिखते हैं अब कंडीशंस हम
ऑलरेडी पढ़ चुके हैं किस तरीके की हम कोई
रिलेशन लिख देंगे कि क्या हमारा जो
कैरेक्टर है वो इक्वल टू m है उस केस में
मंडे प्रिंट करवा दो या फिर मार्क्स की
अगर कंडीशन लिखनी है तो मार्क्स अगर हमारे
ग्रेटर दन 80 हैं एंड एंड मार्क्स अगर
हमारे लेस दन इक्वल टू 90 हैं तो इस केस
में ग्रेड जो हम प्रिंट करवाना चाहते हैं
मान लीजिए वो a+ है तो इस तरीके की
कंडीशंस जो हैं वह हम यहां पर लिख रहे
होते हैं कि क्या कंडीशन चेक करूं मैं जो
अगर ट्रू हो जाए तो फिर यह वाली चीज कर दो
और फाल्स हो जाए तो फिर यह वाली चीज कर दो
तो यह है हमारी इफ स्टेटमेंट ये है हमारी
एल्स स्टेटमेंट एल्स का अपना एक ब्लॉक
होता है एल्स भी एक कीवर्ड है अगर यह
कंडीशन ट्रू हो जाती है तो इसके अंदर जो
भी लिखा होगा मतलब इन दो कर्ली ब्रेसस के
अंदर जो भी लिखा होगा वो एग्जीक्यूट हो
जाएगा लेकिन अगर ये स्टेटमेंट फाल्स हो
जाती है तो फिर ये जो एल्स वाला ब्लॉक है
ना ये दो कर्ली ब्रेसे इसके अंदर जो भी
लिखा होगा वो प्रिंट हो जाएगा या जो जो भी
काम हमने दिया होगा कंपाइलर को करने के
लिए वो हो जाएगा अब इफ एल्स कंडीशंस के
अंदर ये एल्स जो है वो कंपलसरी नहीं होता
इफ तो ओबवियसली कंपलसरी होता है एल्स
हमारा ऑप्शनल होता है हमारी मर्जी होती है
एल्स हम कुछ और काम करवाना चाहते हैं अगर
कंडीशन फॉल्स हो गई या नहीं भी करवाना
चाहे तो एल्स को हम कंप्लीट हटा सकते हैं
अब इसके कुछ एग्जांपल्स करके देखते हैं
अपने कोड के अंदर सबसे पहले एक वेरिएबल
डिफाइन करते हैं एज एज में मान लो हमने 19
स्टोर किया है या फिर इससे भी अच्छा एज को
यूजर से इनपुट ले लेते हैं पहले प्रिंट
करते हैं एंटर
एज और उसके बाद स्कैन कर लेंगे एज को
परसेंटेज डी एंड
एज यहां से डिक्लेरेशन से जो असाइनमेंट है
इसको हटा देते
हैं अब जैसे ही हमारे पास एज आ गई सबसे
पहले हम चेक करेंगे अब एज में हमें पता है
जिसकी एज 18 से ऊपर ऊपर होती है वो एक
एडल्ट होता है जिसकी ऐज 18 से नीचे होती
है वो एक एडल्ट नहीं होता तो उसी
स्टेटमेंट को हम यहां पर कोड में लिखने
वाले हैं इफ हमारी एज जो है वो ग्रेटर दन
18
है उस केस में हम प्रिंट करना चाहते हैं
एडल्ट इस स्टेटमेंट को थोड़ा सा ध्यान से
देखेंगे सबसे पहले हमने इफ कंडीशन को चेक
करने के लिए इफ कीवर्ड लिखा है अंदर हमने
लिखी अपनी कंडीशन कंडीशन हमारी क्या थी कि
एज हमारी ग्रेटर दन 18 हो तभी जिस भी बंदे
की हमने एज ली है वो एक एडल्ट है तो हमने
ऑलरेडी पढ़ा था रिलेशनल ऑपरेटर को कैसे
यूज़ करते हैं वेरिएबल के साथ कंपैरिजन
लगा देंगे इस कांस्टेंट का कि एज हमारा
वेरिएबल 18 जो हमारा कांस्टेंट है उससे
बड़ा है या नहीं और अगर ये स्टेटमेंट ट्रू
हो जाती है ये वाली कंडीशन अगर ट्रू हो
जाती है तो उस केस में हम यहां पर लिखा
हुआ कुछ भी एग्जीक्यूट कर देंगे तो यहां
पे लिखा है एडल्ट तो अगर ये कंडीशन ट्रू
हो गई तो हमारे पास प्रिंट हो जाएगा
स्क्रीन में एडल्ट लेकिन मान लो यह कंडीशन
फाल्स हो जाती है और उस केस में हम प्रिंट
करवाना चाहते हैं नॉट एडल्ट तो हम क्या
करेंगे हम एल्स लिख देंगे इस तरीके से फिर
उसके भी कर्ली ब्रेसे का ब्लॉक बना देंगे
जो कर्ली ब्रेसस के बीच में जितनी भी
लाइंस होती है ना इसको हम ब्लॉक कहते हैं
कर्ली ब्रेसस का अगर यहां पर अपना हम
प्रिंट एफ कंप्लीट करें तो उसमें लिखेंगे
नॉट
एडल्ट नेक्स्ट लाइन और इसको कर लेंगे सेव
अब यहां पर हम मल्टीपल लाइंस भी लिख सकते
थे अब अगर वो एडल्ट है तो ओबवियसली हमें
पता है कि दे कैन वोट अगर वो 18 के हैं तो
वोट कर पाएंगे अगर 18 के हैं तो ड्राइव भी
कर पाएंगे तो यहां पर लिख देते हैं दे कैन
ड्राइव आल्सो तो इस तरीके से अगर यह वाली
कंडीशन ट्रू होगी तो ये तीनों की तीनों
स्टेटमेंट्स प्रिंट होंगी और अगर कंडीशन
ट्रू नहीं होगी तो फिर इस वाले ब्लॉक में
सिर्फ एक ही स्टेटमेंट है अब इन दो कर्ली
ब्रेसे के बीच में जो यह पूरी की पूरी
स्टेटमेंट्स का चंक आता है यह ग्रुप आता
है इनको हम ब्लॉक कहते हैं सी के अंदर या
किसी भी प्रोग्रामिंग लैंग्वेज के अंदर
ब्लॉक जो होता है एक कॉमिनेशन ऑफ
स्टेटमेंट्स होता है जिसमें हम बहुत सारी
स्टेटमेंट्स घुसा देते हैं तो ये तीनों एक
साथ एग्जीक्यूट हो रही होंगी इसको कर लेते
हैं सेव और इसको करते हैं रन कंपाइल कर
लेंगे रन करेंगे एंटर करते हैं सबसे पहले
15 कि हमारी ऐज 15 है इस केस में प्रिंट
हुआ नॉट एडल्ट अब दोबारा से अगर रन करें
इस बार एंटर करेंगे एज 22 और इस बार
प्रिंट हुआ दे आर एन अडल्ट दे कैन वोट दे
कैन ड्राइव तो जिस केस में हमने वो
स्टेटमेंट डाली जो ट्रू नहीं होगी मतलब
यहां पे तो फाल्स हो गया तो फिर वोह एल्स
के अंदर चला गया तो नॉट एडल्ट उसने प्रिंट
कर दिया पर जहां पर हमने 22 डाला और यह
कंडीशन ट्रू हो गी उसमें फिर ये सारी
स्टेटमेंट एग्जीक्यूट हुई पर साथ में ये
नहीं हुई मतलब ये वाली स्टेटमेंट नहीं हुई
अब इसके बाद अगर हम लास्ट में कुछ लिखना
चाहे थैंक
यू तो ये एग्जीक्यूट होगा क्या ऑब् वियस
हां ये वाली स्टेटमेंट हर केस में
एग्जीक्यूट होगी क्योंकि इसके आगे ना तो
इफ लगा है ना एल्स लगा है मतलब कोई भी
कंडीशन हो इसको जरूर एग्जीक्यूट होना है
इसका भी हम एग्जांपल देख लेते हैं इसको कर
लेते हैं कंपाइल एंड रन अब अगर हम एंटर
करें 19 तो उस केस में यह सारी कंडीशंस तो
प्रिंट हुई यह सारी स्टेटमेंट्स साथ के
साथ लास्ट वाला थैंक यू हमेशा प्रिंट होगा
चाहे हम एज 18 से छोटी डालें चाहे 18 से
बड़ी डालें अब यह जो एल्स है यह कंपलसरी
नहीं है इसको अगर हम हटा भी दें मान लीजिए
हमें सिर्फ चेक करना है 18 से बड़ा है या
नहीं अगर छोटा है तो उस केस में कुछ भी
प्रिंट नहीं कराना तो भी हमारा प्रोग्राम
जो है सक्सेसफुली कंपाइल और हो जाएगा इस
बार अगर 15 हम एंटर करेंगे तो सिर्फ थैंक
यू प्रिंट होगा कुछ और प्रिंट होगा ही
नहीं क्योंकि एल्स है ही नहीं सिर्फ ये
स्टेटमेंट ट्रू है या नहीं है वो चेक होगा
तो इस तरीके से हमारा इफ एल्स काम करता है
अब इफ एल्स के अंदर एक स्पेशल चीज है अगर
मल्टीपल स्टेटमेंट्स हमने लिखी है ना इफ
के अंदर या एल्स के अंदर तब तो हमें कर्ली
ब्रेसे लगाने पड़ते हैं पर ये कर्ली
ब्रेसेज ना कंपलसरी नहीं है अगर हमें
सिर्फ मान लो एक ही स्टेटमेंट लिखनी है
जैसे इफ के केस में एक ही स्टेटमेंट लिखनी
है एल्स के केस में भी एक ही स्टेट लिखनी
है लास्ट वाला थैंक यू हम यहां से हटा
देते हैं अभी के लिए और इसको हम सेव करें
तो बिना कर्ली ब्रेसेज के भी यह प्रोग्राम
कंपाइल हो रहा होगा और रन हो रहा होगा 23
अगर डालें तो देखिए एडल्ट प्रिंट हो गया
है और कोई एरर नहीं आया तो अगर हमारे पास
एक स्टेटमेंट है तब तो हम बिना कर्ली
ब्रेसेज के भी काम चला सकते हैं पर सही
अच्छे जो प्रोग्रामर्स होते हैं ना वो
कंसिस्टेंसी लेके आते हैं प्रोग्राम में
और अगर हमें अच्छा प्रोग्रामर बनना है तो
हर बार कर्ली ब्रेस लगाने हैं तो मैं तो
हर बार कर्ली ब्रेसेज लगाती हूं क्योंकि
एक एग्जांपल देखते हैं जब कर्ली ब्रेसेज
नहीं लगाए और मल्टीपल स्टेटमेंट्स लिख दी
तो क्या होगा दे कैन
वोट दे कैन वोट को हमने यहां पे लिख दिया
है अब इसको कर लेते हैं सेव तो यहां पे
पहले ही एरर आ गया कि एल्स जो है ना हमेशा
एक इफ के बाद आना चाहिए इसने क्या किया इस
इफ के साथ इस सिंगल वाली जो शुरुआत वाली
प्रिंटेड स्टेटमेंट है इसको तो मिला दिया
पर सेकंड जो प्रिंटेड स्टेटमेंट है ना
उसको इसने इफ के साथ नहीं काउंट किया उसको
इसने अलग से काउंट किया
फिर आया यह एल्स पे एल्स पे आके सोचा इसका
इफ कहां है क्योंकि इसके लिए तो ऊपर इफ है
ही नहीं ऊपर तो नॉर्मल स्टेटमेंट लिखी हुई
है इंस्ट्रक्शन लिखी हुई है इसीलिए इस
तरीके का कंफ्यूजन नहीं रखना जब भी कोई भी
प्रोग्राम लिखना है उसमें हमेशा हमें
कर्ली ब्रेसेज जरूर लगाने हैं चाहे कितनी
भी लाइंस हो अब जब भी हमारा इफ ट्रू नहीं
होता उसके बाद अगर हमें चेक करनी है कि
कोई और कंडीशन ट्रू है क्या ऊपर वाली तो
नहीं हुई नीचे वाली ट्रू है क्या तो हम
लिखते हैं एल्स इफ एल्स इफ लिखने का क्या
फॉर्मेट रहता है अगर हमने ऊपर लिख दिया इफ
तो उसके अंदर हम कंडीशन वन अपनी डाल सकते
हैं फिर जो भी अगर करना हो उसको पहले
ब्लॉक में डाल दो फिर लिखो एल्स इफ उसके
अंदर कंडीशन ट्रू डालो जैसे मार्क्स का
अगर एग्जांपल लें अगर हमारे जो मार्क्स
हैं वो ग्रेटर दन 90 हैं तो आप प्रिंट कर
दो a + + और यहां पे चेक कर लो कि मार्क्स
जो हैं वो लेस दन 90 है पर ग्रेटर दन 80
है तो उस केस में सिर्फ a+ प्रिंट करो और
वो कंडीशन ट्रू का जो आउटपुट होगा वो इसके
अंदर आ जाएगा इस तरीके से इसके के बाद हम
एक और एलसीएफ लिख सकते हैं एक और एलसीएफ
लिख सकते हैं जितने मर्जी एलसीएफ लिख सकते
हैं और उसके बाद एंड में अगर हमें करना है
ऊपर में से कुछ भी ट्रू नहीं हुआ तो एल्स
कर दो तो इस तरीके से जब भी हमारा फ्लो ऑफ
प्रोग्राम बनता है ना सबसे ऊपर हम अपना इफ
वाला ब्लॉक बनाते हैं उसके बाद अपना
एलसीएफ वाला ब्लॉक बनाते हैं उसके बाद एक
और एलसीएफ जितने भी एलसीएफ हम लिखना चाहे
और लास्ट में एक एल्स लिख देते हैं तो अगर
आपको सारे के सारे यूज़ करने हैं तो इस
तरीके का फ्लो होगा इसमें क्या होगा सबसे
पहले एक कंडीशन चेक हो जाएगी अगर यह सच
नहीं है तो फिर दूसरी कंडीशन चेक होगी अगर
यह सच नहीं है तब तीसरी कंडीशन चेक होगी
अगर ये सच हो जाती है मान लो ये ट्रू हो
गई तो उसके बाद ये कोई भी चेक नहीं होगी
और अगर ऊपर वाली सारी फॉल्स हैं तो फिर
लास्ट वाला एल्स में कुछ चेक नहीं होता
एल्स में ऊपर वाले सारे फॉल्स हैं तो जो
काम लिखा है वो हो ही जाता है बिना चेकिंग
के अब अगर हम चाहते हैं कि हमारी सारी की
सारी कंडीशंस में चेक हो मतलब अगर ये भी
ट्रू हो जाए तब भी ये चीज जो है चेक हो
रही हो तो उस केस में हम इफ लिखते हैं
बहुत सारे एक के बाद एक के बाद एक
यह चेक होगा अगर ट्रू है तो हो जाएगा नहीं
तो नहीं होगा फिर यह चेक होगा ट्रू है तो
हो जाएगा नहीं यह नहीं होगा इसको ऊपर वाला
ट्रू था या फाल्स था उससे कोई फर्क नहीं
पड़ता तो जब ऊपर वाली कंडीशन से नीचे वाली
कंडीशन को फर्क ना पड़े तो इफ बार-बार
बारबार बार-बार लिखते जाओ और अगर ऊपर वाली
कंडीशन से फर्क पड़ रहा है जैसे मार्क्स
अगर हमें चेक करने थे तो ऊपर एक बार a + प
प्रिंट हो गया तो नीचे a+ दोबारा प्रिंट
ना हो इसका ध्यान हमें रखना है इसीलिए
उसमें हम एलसीएफ यूज़ करेंगे तो एलसीएफ के
लिए भी हम अपना ना एक फॉर्मेट लिख लेते
हैं एक एग्जांपल के साथ इसको सॉल्व करके
देखते हैं एज के केस में ही करते हैं अगर
एज ग्रेटर दन 18 है तब तो एडल्ट लिख देंगे
अब इसमें एक एल्स इफ करके कंडीशन लगा देते
हैं कि एज हमारी ग्रेटर दन 13
है एंड एंड एज इज लेस देन इक्वल टू 18
वैसे यहां पर इक्वल टू 18 आना चाहिए और यह
होना चाहिए लेस दन 18 तो यहां पर हम
लिखेंगे
टीनेजर और लास्ट में लिखेंगे
एल्स प्रिंट
एफ
चाइल्ड इस थैंक यू को हम हटा लेते हैं अब
ध्यान से देखें तो हमने क्या किया एज
मांगी है यूजर से एज अगर हमारी 18 या 18
से बड़ी हो जाती है तो उस केस में एडल्ट
प्रिंट करवाना है एज अगर 13 से बड़ी है पर
18 से छोटी है उस केस में जो भी व्यक्ति
है वो एज के हिसाब से एक टीनेजर है तो उस
केस में टीनेजर प्रिंट करवा देंगे तो एल्स
इफ ने ये कंडीशन चेक कर ली और अगर कोई भी
केस नहीं है ऊपर वाले दोनों में से तो यह
वाला केस प्रिंट हो जाएगा यानी चाइल्ड
वाला अब 18 से ऊपर भी नहीं है 13 से 18 के
बीच में भी नहीं है तो ओबवियसली 13 से
नीचे ही होगा तो चेक करने की जरूरत नहीं
है सिर्फ चाइल्ड प्रिंट करवा दो इसको कर
लेते हैं सेव और इसको करते हैं कंपाइल एंड
रन सबसे पहले एज डालते हैं हम फाइव ईयर्स
तो उस केस में चाइल्ड प्रिंट हुआ उसके बाद
दोबारा एज डालें अगर मान लीजिए 16 हमने
डाल ली इस केस में टीनेजर प्रिंट हुआ और
दोबारा हमने एज डाली है अपनी 22 तो उस केस
में प्रिंट हुआ एडल्ट तो इस तरीके से
डिफरेंट डिफरेंट कंडीशन के हिसाब से
क्या-क्या चीजें होनी चाहिए वो हम अपने
कोड में एफएस की मदद से कर सकते हैं अब
नेक्स्ट टाइप ऑफ स्टेटमेंट जिसकी हम बात
करेंगे स्विच से पहले हम बात करने वाले
हैं कंडीशनल ऑपरेटर की सेकंड चैप्टर में
हमने पढ़ा था कि कुछ पांच टाइप ऑफ पांच
प्रकार ऑफ ऑपरेटर्स होते हैं जिनमें से
पढ़ा था कुछ हम आगे वाले चैप्टर्स में
पढ़ेंगे अब उनमें से काफी इंपॉर्टेंट टाइप
होता है हमारा टरनरी ऑपरेटर प्लेसमेंट के
टाइम पे काफी सारे जो एमसीक्यू के सवाल
होते हैं बहुत सारी कंपनीज टरनरी ऑपरेटर
से रिलेटेड पूछ लेती है यह टर्नर ऑपरेटर
आपका c+ प में भी होता है जावा में भी
होता है और सेम सिंटेक्स होता है बिल्कुल
सेम दिखता है दोनों लैंग्वेजेस में और
इनफैक्ट वो स्टूडेंट्स जो एक बार c सीख
लेते हैं उनको c+ प या जावा में शिफ्ट
होने में बिल्कुल इशू नहीं आता क्योंकि
ऑलमोस्ट सिंटेक्स काफी चीजों का सेम होता
है बस इनपुट आउटपुट का डिफरेंस हो जाता है
अब टर्नर ऑपरेटर को लिखने का क्या तरीका
रहता है टर्नर ऑपरेटर का पहले यूसेज समझ
लेते हैं जब भी हमारे पास ना बहुत लाइनें
हो रही होती हैं सिंपल से इफ एल्स में
मतलब इफ में कंडीशन चेक कर रहे हैं फिर
कुछ कर रहे हैं उसको अगर हम शॉर्ट कर सकते
हैं जैसे मान लो हमें वेरिएबल की वैल्यू
चेक करनी है अगर एज हमारी ग्रेटर दन 18 है
तो यहां पे एज वेरिएबल हो गया तो एडल्ट
प्रिंट कर दो नहीं तो नॉट एडल्ट उसमें
हमने देखा कि हमने बहुत सारी लाइनें लिख
दी हैं मतलब अगर पहले वाली भी देखे 1 2
तीन और एल्स की तीन और तो छह लाइनों में
हमारा कोड हो रहा है उस छह लाइनों के कोड
को सिंगल लाइन में करने का तरीका होता है
टरनरी ऑपरेटर तो टरनरी ऑपरेटर का सिंटेक्स
होता है कि सबसे पहले तो अपनी कंडीशन बता
दो कि क्या कंडीशन है उसके बाद क्वेश्चन
क् मार्क लगा दो ये क्वेश्चन मार्क का काम
होता है कि वो चेक करेगा क्वेश्चन करेगा
कि आपकी कंडीशन सच है या नहीं है अगर आपकी
कंडीशन ट्रू रिटर्न करती है तो फिर यहां
पर जो भी लिखा होगा वो एग्जीक्यूट हो
जाएगा नहीं तो ये कोलन फिर उसके बाद हम
लगाते हैं इसका मतलब होता है नहीं तो यह
चेक करेगा कंडीशन को ट्रू आया तो यह होगा
नहीं तो उसके बाद जो लिखा है यानी ये होगा
अगर कंडीशन फॉल्स हो जाती है तो यह हमारा
सिंटेक्स रहता है इसको हम एक बार टरनरी
ऑपरेटर का एक एग्जांपल लिख के देख लेते
हैं जैसे एज को हमने एंटर करवाया था अब
इसी का टरनरी ऑपरेटर को कैसे एग्जीक्यूट
करते हैं अगर हमारी एज ग्रेटर देन इक्वल
टू 18 है अगर 18 है और यह ट्रू चीज है तो
उस केस में हम प्रिंट करवाने वाले हैं
एडल्ट नहीं तो हम प्रिंट करवाने वाले हैं
नॉट एडल्ट
अब एक चीज इस लाइन में काफी ध्यान देने
वाली है वो यह कि ये प्रिंट एफ स्टेटमेंट
के बाद हमने जो है सेमीकलन नहीं लगाया
मतलब टर्मिनेटर नहीं लगाया क्यों क्योंकि
अभी हमें स्टेटमेंट खत्म नहीं करनी
स्टेटमेंट हमें एंड में करनी है तो इवन
अगर ट्रू हो जाए और प्रिंट एफ हमें लिखना
पड़े बीच में या स्कैन एफ कुछ भी लिखना
पड़े तो हम यहां पे टर्मिनेटर नहीं
लगाएंगे क्योंकि अगर टर्मिनेटर लगा दिया
तो वहीं पर हमारी कंडीशन जो है खत्म हो
जाएगी हमारी स्टेटमेंट जैसे अगर इसको एक
बार पहले रन कर लेते
कंपाइल किया रन करके अब एज अगर
डाले 15 तो प्रिंट हुआ नॉट एडल्ट इसने
क्या किया पहले कंडीशन चेक करी उसके बाद
अगर ट्रू थी तो यह करवाना था पर ट्रू तो
नहीं थी तो नहीं तो इसने बाद वाली कंडीशन
जो है नॉट एडल्ट को प्रिंट करवा दिया अब
यहीं पर अगर हम एक टर्मिनेटर लगा देते तो
एक तो सबसे पहले एरर ही आ जाता क्योंकि
टर्मिनेटर के बाद हम सेमीकलन नहीं लगा
सकते इसीलिए टर्मिनेटर यहां पर लगाना सही
नहीं होगा आल्सो टर्न ऑपरेटर को तभी यूज़
करना है जब हमारे पास सिंगल लाइन कुछ हो
यहां पे क्योंकि टर्मिनेटर तो लगा ही नहीं
सकते तो जब भी इफ एल्स में हमें सिंगल
स्टेटमेंट लिखनी हो उसकी जगह हम टरनरी
ऑपरेटर यूज कर सकते हैं लद ये काफी
इंपॉर्टेंट है सिंटेक्स बहुत अच्छा है इस
ऑपरेटर का इसका प्रैक्टिकल यूसेज ज्यादा
नहीं है मोस्टली आपके प्लेसमेंट्स या
एग्जाम्स में य पूछा जाता है तो इसको हम
ध्यान रख सकते हैं अब नेक्स्ट जिस कंडीशनल
ऑपरेटर की बात करेंगे हम उसका नाम है
स्विच जैसे हमने घर में लाइट के स्विच
देखे होंगे पंखे के स्विच देखे होंगे टीवी
का स्विच देखा होगा स्विच क्या करता है
अगर उसको ऑन कर दो तो कुछ काम कर देता है
ऑफ कर दो तो कुछ काम नहीं करता उसी तरीके
से हमारा कोडिंग के अंदर स्विच होता है
जिसकी अगर आपने कंडीशन ऑन कर दी तो वह
आपको काम करके दे देगा और नहीं करी तो
आपका काम नहीं होगा अब स्विच को लिखने का
सिंटेक्स कुछ ऐसा रहता है जिसमें सबसे
पहले तो कीवर्ड लिख देते हैं हम स्विच
उसके अंदर हम लिखते हैं कुछ नंबर या
कैरेक्टर और स्विच बेसिकली क्या करता है
उस नंबर या कैरेक्टर से कुछ कांस्टेंट्स
को मैच करता है जैसे नंबर आपने दे दिया एज
फिर कांस्टेंट हमारा हो गया 1 2 3 4 5 6 7
8 9 10 लद ये बहुत इंप्रैक्टिकल केस है
स्विच के लिए इस तरीके से हमारे बहुत सारे
कांस्टेंट नंबर्स हो गए तो वो आपकी एज को
जिस भी केस में मैच कर देगा मतलब वन के
साथ अगर उसने आपकी एज को मैच कर दिया आपने
एज में वन डाला था उसने वन के साथ उसको
मैच कर दिया तो उसके आगे जो भी लिखा होगा
वो उस काम को करके आपको दे देगा तो इस
तरीके से आपने उसका स्विच ऑन कर दिया केस
मैच करवा के फिर वो आपको काम करके दे देगा
अब स्विच हम लिखते हैं उसके अंदर जिसके
साथ भी जिस भी वेरिएबल के साथ नंबर या
कैरेक्टर ही डाल सकते हैं य पे हमें मैच
करवाना है फिर वो केसेस चेक करता है यहां
पर हम कुछ कांस्टेंट लिखते हैं जैसे वन हो
गया टू हो गया तो हम कुछ इस तरीके से
लिखते हैं केस
वन केस टू केस ्र और इन टर्म्स ऑफ
कैरेक्टर अगर मान लो कैरेक्टर के साथ
करवाना है तो केस ए केस बी केस
केस के बाद कांस्टेंट लिखना है उसके बाद
हमें कोलन लगाना है फिर अपनी जो भी
स्टेटमेंट जितनी भी स्टेटमेंट है वो सारी
लिख दो इसी तरीके से अगला केस लिखेंगे जो
भी स्टेटमेंट है सारी और लास्ट में ब्रेक
जरूर लिखना है ब्रेक का काम होता है केस
के बाद बाहर निकालना आपको स्विच से अगर
स्विच से ये ब्रेक नहीं होगा तो ये सारी
की सारी स्टेटमेंट्स एग्जीक्यूट हो जाएंगी
अगर एक स्विच ऑन हो गया और ब्रेक आपने
नहीं लिखा तो सारे स्विच ऑन हो जाएंगे
उसके बाद वाले यह मतलब होता है ब्रेक का
कि अगर आपको सार सारे स्विच ऑन नहीं करने
अगर करना चाहते हो तो वो तो डिफॉल्ट
बिहेवियर है अगर सारे स्विच ऑन नहीं करने
तो पहले स्विच के बाद ही ब्रेक कर दो और
लास्ट में हमारा केस होता है एक डिफॉल्ट
केस कि ऊपर वाला कुछ भी ट्रू नहीं हुआ तो
ये चीज कर दो अब ये हमारे एल्स की तरह
होता है कि ऊपर वाला कोई भी इफ एल्स या
एल्स इफ ट्रू नहीं हुआ तो फिर अपना एल्स
एग्जीक्यूट कर दो स्विच का एल्स होता है
डिफॉल्ट अब इसका एक एग्जांपल लेते हैं
एग्जांपल के अंदर क्या करेंगे हम यूजर से
इनपुट लेने वाले हैं डे
तो
इंट डे हम इनपुट ले लेंगे यूजर
से डे का यहां पर मतलब क्या है वन मतलब
मंडे टू मतलब
ट्यूसडे थ्री मतलब वेनसडे एंड सो ऑन हमने
सात तक जो नंबर है डेज के वो यूजर को बोला
है एंटर करने के लिए यहां हम लिख सकते हैं
वन से सेन तक एंटर करने है और फिर यहां
लिख देंगे एंड डे फिर लिखेंगे अपना स्विच
स्विच के अंदर ये अ सिर्फ आप वीएस कोड के
अंदर कोड कर रहे हैं तो एक बार आप एंटर
दबाए सारी की सारी चीजें जो है लिखी आ
जाएंगी पर सिंस हम फर्स्ट टाइम लिख रहे
हैं हम शुरुआत से
लिखेंगे स्विच के बाद लगते हैं पैरेंस
पैरेंस के अंदर जिसको भी हमें चेक करना है
वेरिएबल को वो लिखेंगे हमें किसको करना है
डे को चेक करना है फिर लगाएंगे कर्ली
ब्रेसेज अब इस ब्लॉक के अंदर सारी
स्टेटमेंट्स लिखेंगे सबसे पहले लिखेंगे
केस वन केस वन क्या कहता है कि हमारा दिन
जो
है वो मंडे है
तो मंडे हमने लिख दिया अब इसके बाद हम कर
देंगे
ब्रेक इसी तरीके से छह और केसेस हम लिखने
वाले
हैं तो यहां पर हम कर देंगे केस टू उसके
अंदर लिखेंगे अपना दिन
ट्यूजडे इसमें नेक्स्ट लाइन डाल देते हैं
इसमें भी नेक्स्ट लाइन डाल देते हैं यहां
पर हमारा केस थ्री इसके अंदर भी नेक्स्ट
लाइन केस फोर दिस इज गोइंग टू बी
केस फाइ इज
फ्राइडे अब मान लेते हैं हमारे यूजर ने
हमें 29 एंटर करके दे दिया तो उस केस में
तो कुछ प्रिंट ही नहीं कर सकते हम तो उस
केस में हम डिफॉल्ट लिख देंगे यहां पे
यानी हमारा एल्स वाला केस अब डिफॉल्ट में
हम प्रिंट करवा देंगे नॉट अ वैलिड
डे अब डिफॉल्ट के बाद हमें ब्रेक नहीं
लिखना पड़ता क्योंकि डिफॉल्ट के बाद कोई
स्विच ही नहीं है जो इसके बाद हम ऑन करवा
लें अब इसको कर लेते हैं सेव एक बार कोड
को रन करते हैं तो हमें अच्छे से समझ में
आएगा एग्जीक्यूट होता कैसे है कंपाइल रन
सबसे पहले हमें एंटर करना है डे डे हम
एंटर करते हैं मान लीजिए थ्री थ्री हमने
एंटर किया तो हमारे लिए वेनसडे प्रिंट हो
गया जैसे ही डे की वैल्यू में थ्री स्टोर
हुआ स्विच ने क्या किया थ्री का मैच
ढूंढना शुरू कर दिया कांस्टेंट्स के साथ
सबसे पहले वन के साथ चेक किया फॉल्स आया
टू के साथ चेक किया फॉल्स आया थ्री के साथ
थ्री मैच हो गया जैसे ही मैच हो गया यह
वाली कंडीशन इसने कर दी एग्जीक्यूट उसके
बाद कर लिया ब्रेक तो यह बाहर आ गया अब
मान लेते हैं यह ब्रेक यहां पर नहीं होता
या फिर इसको कर लेते हैं कॉमेंट आउट इस
ब्रेक को भी कर देते हैं कॉमेंट
आउट यह जो सारे ब्रेक्स हैं इनको अगर हम
कॉमेंट आउट कर
दें और कर लेते हैं सेव और दोबारा से एक
बार कंपाइल करके इसको रन करें तो फिर अब
अगर हम थ्री एंटर करेंगे थ्री हमने एंटर
किया तो हमारे लिए क्या प्रिंट हुआ पहले
तो वेनसडे प्रिंट हुआ मतलब मंडे और
ट्यूजडे तो प्रिंट हुए नहीं क्योंकि वहां
पे तो मैच ही नहीं किया जैसे ही थ्री के
साथ मैच कर दिया मतलब हमने स्विच ऑन कर
दिया अब वेनसडे प्रिंट हो गया उसके बाद
सारे प्रिंट हो गए थर्सडे भी प्रिंट हुआ
फ्राइडे भी प्रिंट हुआ सैटरडे भी संडे भी
एंड उसके बाद नॉट अ वैलिड डे भी प्रिंट
हुआ यानी उसके बाद वाले जो सारे स्विच है
ना यहां से बाद वाले वो सारे ऑन हो गए
इसीलिए ब्रेक हमारा काम आता है क्योंकि
हमें सारे स्विच ऑन नहीं करने सिर्फ एक
स्विच ऑन करना है जैसे ये ऑन हो जाए आप
यहां से बाहर निकल जाओ आगे के
इसीलिए जब भी स्विच लिखें बहुत इंपॉर्टेंट
है ब्रेक लगाना अब एक बार डिफॉल्ट को भी
चेक कर लेते
हैं अगर हम एंटर करें मान लीजिए 19 तो 19
नॉट अ वैलिड डे हमारे लिए प्रिंट हो जाएगा
तो इस तरीके से हमारा स्विच जो है वो काम
करता है अब इसी सेम कोड के लिए हम
कैरेक्टर्स के साथ भी खेल सकते हैं जैसे
ये जो डे हमने बनाया ना इसको इंटी जर टाइप
का नहीं इसको कैरेक्टर टाइप का बनाते हैं
और मंडे के लिए एम होगा ट्यूसडे के लिए
हमारा टी होगा छोटे वाला वेनसडे के लिए
डब्लू थर्सडे के लिए हम कैपिटल टी रख लेते
हैं फ्राइडे के लिए एफ रख लेते हैं सैटरडे
के लिए स्मल एस और संडे के लिए कैपिटल एस
तो इस तरीके से हम अपना डे ले लेंगे और
यहां पर अब केस चेंज कर देते हैं केस में
लिखेंगे कैरेक्टर्स
इसको कर लेते हैं सेव और अब इसको दोबारा
करते हैं रन तो यहां पर हमें लिखना है
एस अगर हम डे अपना एंटर करें तो इस बार हम
एंटर करने वाले हैं
एफ तो हमारे लिए फ्राइडे प्रिंट हो गया और
इस बार हमने कोई दूसरा कैरेक्टर जैसे मान
लीजिए हमने एंटर किया ट द रेट तो उस केस
में प्रिंट हुआ नॉट अ वैलिड डे तो हम
कैरेक्टर्स भी एज अ कांस्टेंट यूज़ कर
सकते हैं और अपने इंटी जर्स भी एज अ
कांस्टेंट यूज़ कर सकते हैं अब इसके बाद
स्विच की अपनी कुछ-कुछ प्रॉपर्टीज होती
हैं जैसे दो प्रॉपर्टीज के बारे में
मेजर्ली हम बात करेंगे सबसे पहले कि केसेस
कैन बी इन एनी ऑर्डर हमने जैसे लिखा ना कि
अ सबसे पहले लिखा था कि वन के लिए मंडे
प्रिंट होना है टू के लिए ट्यूजडे प्रिंट
होना है तो हम उनको ऊपर नीचे भी कर सकते
थे हो सकता है ट्यूजडे वाली कंडीशन कि टू
हो तो ट्यूजडे प्रिंट हो वो ऊपर आ रही है
और वन हो तो मंडे प्रिंट हो वो नीचे आ रही
है उसमें स्विच जो है एरर नहीं देता जैसे
हमने यहां पे किया हुआ है डब जो है अब
हमारे कैरेक्टर्स में एफ के बाद आता है पर
डब् वाला केस हमारे पास ऊपर है ए वाला
नीचे है अगर इस फ्राइडे वाले को भी हम ऊपर
लिख देंगे तो कोई एरर नहीं आ रहा होगा
सेकंड चीज है कि नेस्टेड स्विच मतलब स्विच
इनसाइड स्विच आर अलाउड हम हो सकता है
स्विच के अंदर हम हो सकता है स्विच के अर
अंदर अपना एक अलग स्विच लिख दें जैसे बाहर
है डे कौन सा है उसका हमने केसेस बना दिए
हैं और केस मान लो थ्री नंबर जब ट्रू हो
जाता है तो उसके बाद एक और स्विच लगा दो व
लगा देंगे हम ईयर का कि ईयर कौन सा चल रहा
है या लगा देंगे मंथ का कि मंथ कौन सा चल
रहा है तो उसमें भी हमारे केस फोर मान लो
ट्रू हो गया तो ऐसी तरीके से स्विच के
अंदर हम स्विच जो है डाल सकते हैं और ऊपर
हमें पढ़ना था कि इफ के अंदर भी हम
डिफरेंट इफ जो है वो डाल सकते हैं एक बार
इफ के अंदर इफ यानी इफ है कंडीशन वन है वो
ट्रू हो जाती है तो दूसरा इफ है जिसके
अंदर कंडीशन टू है उसको आप प्रिंट कर दो
इस तरीके की इफ स्टेटमेंट्स को हम नेस्टेड
नेस्ट यानी घोसला बना लेना एक के अंदर एक
जाके तो इसको हम नेस्टेड इफ कहते हैं इसका
भी एक एग्जांपल देख लेते हैं जैसे मान लो
हमें एक नंबर एंटर करवाना है यूजर से इंट
नंबर
तो प्रिंट
करेंगे एंटर नंबर और फिर स्कैन कर लेंगे
नंबर के
लिए अब कुछ कंडीशंस लिखते हैं सबसे पहले
चेक करेंगे कि नंबर हमारा पॉजिटिव है या
नेगेटिव है तो पॉजिटिव नंबर के लिए क्या
करेंगे चेक कर लेंगे इफ नंबर इज ग्रेटर
देन इक्वल टू
0 उस केस में नंबर के लिए हम प्रिंट करवा
रहे
होंगे पॉजिट
और अगर ऐसा नहीं है मतलब एल्स वैसे इस
एल्स को हम यहां भी लिख सकते हैं यूजुअली
मैं प्रेफर करती हूं कि सेम लाइन में लिख
दू तो एल्स के लिए हम प्रिंट करवाएंगे
नेगेटिव अब इसके अंदर जैसे ही नंबर
पॉजिटिव हो जाता है फिर हमें चेक करना है
कि नंबर हमारा इवन है या ऑड है वो भी हम
प्रिंट करवाएंगे तो यहां पर एक और फ लिख
सकते हैं कि नंबर मॉडलो टू अगर हमारा
इक्वल टू जीरो हो जाता है डल्स की कंडीशन
हम ऑलरेडी चैप्टर टू के प्रैक्टिस सेट के
अंदर पढ़ चुके हैं तो यह काफी आसान होना
चाहिए हमारे लिए समझने में कि यहां पर
कैसे हमने चेक किया कि नंबर इवन है तो
यहां पर हम प्रिंट करवा देंगे
इवन नहीं तो इसका भी खुद का एल्स हो सकता
है हम प्रिंट करवाने वाले हैं
ऑड इसको कर लेते हैं
सेव अब एक बार रन करते
हैं हम जो नंबर एंटर कर दैट इज 24 24 के
लिए प्रिंट हुआ कि ये पॉजिटिव नंबर भी है
और इवन नंबर भी है तो इसने क्या किया एक
कंडीशन ट्रू हो गई उसके बाद इसने दूसरी
कंडीशन भी चेक करी कि उसको भी देखना है
क्या कि सही है या नहीं है ये सेम कंडीशंस
हम एल्स के अंदर भी लिख सकते हैं यहां पर
जाकर हम अपना कोई इफ कंडीशन बना सकते हैं
फिर एल्स कंडीशन तो इस तरीके से जब भी इफ
कंडीशन दूसरे इफ के अंदर लिखी होती है इस
सिचुएशन को हम नेस्टेड इफ या नेस्टेड एल्स
सिचुएशन कहते हैं अब कुछ क्वेश्चंस
प्रैक्टिस कर लेते हैं अपने कांसेप्ट को
दिमाग के अंदर बहुत ही अच्छे से डालने के
लिए सबसे पहला हमारा सवाल है कि राइट अ
प्रोग्राम टू चेक इफ अ स्टूडेंट पास्ड और
फील्ड हमारे पास एक स्टूडेंट के मार्क्स
होंगे जो गिवन होंगे 100 में से मार्क्स
हमें दिए जाएंगे अगर मार्क्स हमारे 30 से
ज्यादा है तो बच्चा पास हो गया अगर 30 से
कम है तो बच्चा हमारा फेल हो गया तो इसी
सिचुएशन को हमें कोड में कन्वर्ट करना है
तो सबसे पहले तो क्या करेंगे मार्क्स को
एंटर करा लेंगे यहां पर इस वेरिएबल को बना
देंगे मार्क्स एंटर मार्क्स मार्क्स की
रेंज दे देते हैं जीरो से 100 कुछ बच्चे
को जीरो भी आते हैं जो बेचारे एब्सेंट हो
जाते हैं पेपर वाले दिन और यहां लिख देंगे
हम
मार्क्स अब हमें दो कंडीशंस लिखनी है एक
तो पास वाली और एक फेल वाली तो सबसे पहले
इसको फफल से लिखने की कोशिश करते हैं इफ
में डालेंगे अगर हमारे जो मार्क्स
है दे आर लेस देन
30 या फिर हमारे क्वेश्चन में दिया हुआ
लेस दन इक्वल टू 30 तो उस केस में हमें
प्रिंट करवाना
है
फेल और अगर ऐसा नहीं है तो उस केस में
प्रिंट करवाना है पास तो यहां पे टर्मिनल
ऑन करेंगे कंपाइल रन मार्क्स अपने डालेंगे
हम 56 हम हो चुके हैं पास दोबारा से इसको
रन करके मान लो हमने डाला 105 क्योंकि हम
क्लास के शैतान बच्चे हैं 105 डालने के
बाद भी पास प्रिंट हुआ जबकि हमें डालना था
100 तक के लिए तो इसमें हम अपनी कंडीशन
लगा सकते हैं कि एल्स
इफ मार्क्स जो है
हमारे ग्रेटर दन 30 तो है एंड मार्क्स
हमारे लेसन इक्वल टू 100 है तो उस केस में
तो पास प्रिंट कर दो नहीं तो एक और एल्स
है जिसके अंदर हम प्रिंट करने वाले हैं
रंग मार्क्स इसके अंदर भी कंडीशन लगा सकते
हैं कि मार्क्स जो है दे शुड बी ग्रेटर
देन इक्वल टू 0 एंड एंड मार्क्स लेस दन
इक्वल टू 30 तो इस तरीके की जब सारे जो
केसेस होते हैं उनको कवर करने वाली हम
स्टेटमेंट्स लिखते हैं तो हमारा कोड जो है
सेफ रहता है ज्यादा अब इसको भी कंपाइल कर
लेंगे और इस बार अगर हमने सोचा कि हम 105
डालेंगे तो इस बार हमारे लिए प्रिंट हो
जाएगा रॉन्ग
मार्क्स तो इस तरीके से सेफ केसेस जो है
हमें डालने पड़ते हैं के अंदर अब इसी सेम
चीज को हम टरनरी स्टेटमेंट की हेल्प से भी
कर सकते थे यानी इसको अगर कर दे कॉमेंट
आउट यह सारे लाइंस को एक साथ कॉमेंट करने
के लिए हमें प्रिंट करना हमें प्रेस करना
पड़ता है कमांड और स्लैश तो अगर आपको
दोबारा से किसी भी मेजॉरिटी चंक जो
स्टेटमेंट्स है उनको कॉमेंट में कन्वर्ट
करना है तो कमांड स्लैश आपको प्रेस करना
पड़ेगा या अगर हम विंडोज सिस्टम पे
मार्क्स अगर हमारे पर इसमें ज्यादा
स्टेटमेंट्स हम चेक नहीं कर पाएंगे
क्योंकि टरनरी बहुत ही सिंपल कंडीशन के
लिए होता है मार्क्स अगर हमारे लेस देन
इक्वल टू 30 है क्वेश्चन मार्क उस केस में
हम प्रिंट करवा देंगे
फेल नहीं तो हम प्रिंट करवा
देंगे
पास तो यहां पर हमें मैजिक समझ में आता है
टरनरी ऑपरेटर का कि एक सिंगल लाइन में यह
चार पांच लाइन का इसने कोड जो है कन्वर्ट
कर दिया है अब इसको करते हैं रन मार्क्स
हम एंटर कर रहे हैं अपने 23 तो हम हो चुके
हैं फेल और वहीं पर अगर हम 89 एंटर करें
तो उस केस में हम हो जाएंगे पास अब सेकंड
जो प्रैक्टिस क्वेश्चन है उसकी बात करें
तो इस केस में हमें ज्यादा केसेस दिए हुए
हैं जैसे राइट अ प्रोग्राम टू गिव ग्रेड्स
टू अ स्टूडेंट इसमें सबसे पहली कंडीशन है
मार्क्स अगर लेस दन 30 है तो सी ग्रेड
देना है 30 और 70 के बीच में तो बी देना
है 70 और 90 के बीच में तो a देना है और
90 और 100 के बीच में तो a प्स देना है अब
इन चारों कंडीशंस को हमें कोड की फॉर्म
में लिखना है तो एक के बाद एक शुरू हो
जाते हैं मार्क्स हमें दिए होंगे इस केस
में टरनरी नहीं यूज कर सकते क्योंकि टरनरी
बहुत
कॉम्प्लेक्शन में चेक कर लेंगे मार्क्स
अगर
हमारे लेस दन 30
है तो उस केस में हम प्रिंट कर
देंगे सी हमारा ग्रेड अब फिर एल्स इफ
लगाएंगे अगर ऊपर वाली कंडीशन फॉल्स हो गई
है तो नीचे वाला चेक कर लो कि मार्क्स
हमारे मार्क्स आर ग्रेटर दन इक्वल ट 30
एंड एंड मार्क्स आर लेस देन हमारी कंडीशन
क्या थी 70
की अब मैं जब भी मार्क्स वाले क्वेश्चन
लेती हूं ना मैं बहुत कोशिश करती हूं कि
ज्यादा ज्यादा ग्रेड्स दूं ताकि किसी
बच्चे की अगर कम भी आए हैं तो उन्हें बुरा
ना लगे वीडियो देखते
हुए तो इस केस में यह ग्रेड आ जाएगा फिर
लिखेंगे एल्स
इफ अबकी बार मार्क्स आर ग्रेटर देन इक्वल
टू हमारे 70 एंड
एंड 70 एंड एंड मार्क्स आर लेस देन
90 तो इस केस में हम प्रिंट करने वाले हैं
सेम कंडीशंस प्रिंट करने वाले हम ए
और लास्ट हमारा एल्स केस आ जाएगा जिसमें
हम प्रिंट कर देंगे अपने लिए ए प्लस प्लस
या ए प्लस ज्यादा प्लस प्लस नहीं देते
टीचर्स तो यह हमारी चार कंडीशन जो है हमने
लिख दिए है फफ एल्स की फॉर्म में टर्मिनल
विंडो हम खोलेंगे कंपाइल कर देंगे कोड को
रन करेंगे अब अपने मार्क्स हमें एंटर करने
हैं मान लेते हैं हमारे मैं फिजिक्स के
मार्क्स 98 वाउ आई गट एन ए प्लस वहीं पर
अगर आप किसी और सब्जेक्ट के डालना चाहे तो
हम वो भी डाल सकते हैं जैसे मान लीजिए
किसी सब्जेक्ट में हमारे 40 आए हैं तो
उसमें हमारा ग्रेड जो है बी आ जाएगा तो इस
तरीके से आप अपना एक छोटा सा मिनी
प्रोजेक्ट बना सकते हैं जिसमें अपने
मार्क्स के हिसाब से अपना ग्रेड आप
कैलकुलेट करने के फॉर्मूले लगा सकते हैं
अपने कॉलेज के या स्कूल की जो आपकी
करिकुलम शीट होती है जो डिफाइन करती है
कितने मार्क्स पे क्या ग्रेड मिलेगा उस
हिसाब से या इवन आप सुपरमार्केट का अगर
कोई एप्लीकेशन बनाना चाहे तो उसमें कौन से
आइटम पे कितना टैक्स लगाना है और टैक्स
लगा के जो फाइनल वैल्यू आएगी
उसके लिए भी आप कोई प्रोग्राम बना सकते
हैं तो ऐसे काफी सारे प्रोग्राम्स होमवर्क
प्रॉब्लम्स में भी दिए होंगे अब बढ़ते हैं
अपने नेक्स्ट सवाल की तरफ नेक्स्ट सवाल है
हमारा एक प्रैक्टिकल कोड हमें दिया हुआ है
विल दिस कोड यहां पे क्वेश्चन मार्क होना
चाहिए था अब यहां पे हमें एक कोड दिया है
जिसमें इंट x हमारा एक वेरिएबल है जिसमें
हमने वैल्यू डाल रखी है 2 फिर लिखा है x =
1 और अगर यह स्टेटमेंट ट्रू हो जाती है तो
प्रिंट करेंगे x = 1 नहीं तो प्रिंट
करेंगे x इ नॉट इक्वल टू 1 तो इसमें
ऑप्शंस हमारे हैं क्या ये प्रोग्राम हमें
एरर देगा क्या यहां पे x = 1 प्रिंट हो
जाएगा या x इज नॉट इक्वल टू 1 प्रिंट हो
जाएगा काफी स्ट्रेट फॉरवर्ड सवाल है अगर
हमें एक छोटी सी बात याद होगी जो हमने
सीखी थी असाइनमेंट ऑपरेटर्स या रिलेशनल
ऑपरेटर्स पढ़ते टाइम कि c के अंदर कभी भी
आप रो लिख दो वह हो जाता है फॉल्स और कभी
भी नॉट जीरो वैल्यू लिख दो यानी वन लिख दो
ट लिख दो -1 लिख दो -2 लिख दो ये सारी
वैल्यूज हमारी हो जाती हैं ट्रू इस चीज को
हम यहां पे यूज करेंगे सबसे पहले आप रोक
कर एक बार खुद से गेस करिए खुद से लॉजिकली
गेस करिए गेस नहीं बेसिकली मैं कहूंगी
एनालाइज करिए कि इसका क्या आंसर होना
चाहिए तीनों में से इन तीनों में से हम
आंसर सोचे खुद रीजन लगाएं और नहीं आता है
या आ भी गया है तो उसके बाद रीजन को चेक
जरूर करना है इसको ना सबसे पहले
एग्जीक्यूट करके देख लेते हैं कि इसका
आउटपुट क्या होने वाला है इंट x को हमने
ऑलरेडी लिख रखा है ू अगर हमारा एक्व है हम
यह कहने की कोशिश कर रहे हैं जरूरी नहीं
है कह रहे हो तो प्रिंट करना है x इ इक्वल
टूव नहीं तो प्रिंट करना है एक्स इज नॉट
इक्वल
टूव इसको कर लेते हैं सेव इसको करते हैं
रन सबसे पहले तो यहां पर वार्निंग जनरेट
हो गई है पर ठीक है हम इस वनिंग इग्नोर
करने वाले
हैं प्रिंट हुआ है हमारे लिए x = 1 अब यह
प्रिंट क्यों हुआ क्योंकि x तो 2 के बराबर
है ऐसा इसलिए हुआ क्योंकि अगर हमें चेक
करना होता है कि x अगर टू के इक्वल है तो
हम दो इक्वल टू लगाते हैं पर हम यहां पे
सिंगल इक्वल टू लगाया है तो ये सिंगल
इक्वल टू क्या कर रहा होगा ये सिंगल इक्वल
टू बेसिकली पहले मेमोरी के अंदर एक
वेरिएबल था x जिसके अंदर स्टोर्ड था टू इस
सिंगल इक्वल टू ने क्या किया वहां से टू
को हटा दिया और व वहां प वन को डाल दिया
तो अब इस इफ कंडीशन के अंदर x की वैल्यू
यानी कि वन जो है वो है अब वन एक नॉन जीरो
वैल्यू है तो ये ट्रू हो जाएगा और यहां पर
हम प्रिंट कर देंगे x = 1 अब अगर यहां पर
हम मान लीजिए यहां पर वन की जगह फर भी लिख
रहे होते तो भी यही प्रिंट होता जैसे अगर
x को हमने कोड में रिप्लेस कर दिया एस फोर
इसको कर लेते हैं सेव और इसको करते हैं
रन तो कंपाइल किया वार्निंग इग्नोर करेंगे
तो अब प्रिंट होगा x = 1 लद अगर हम प्रिंट
करवाना चाहे x को तो व वन नहीं है उसकी
वैल्यू फर हो चुकी है अब तो यहां पे
लिखेंगे x
को सेव इसको दोबारा से करते हैं
कंपाइल
रन तो x = 1 आया है उसके बाद हमारे पास
बाद में फर प्रिंट हो गया है बिना स्पेस
के तो य 14 लग रहा है यहां पे नेक्स्ट
लाइन लगाना चाहिए था तो x = 1 और फिर
प्रिंट हुआ है 4 तो बेसिकली क्या हुआ
लॉजिक क्या है लॉजिक यह है कि इस लाइन ने
x की वैल्यू में ट को हटाकर वहां पर वन
स्टोर कर दिया है और फिर इसके अंदर सिंस
हमारे पास नॉन जीरो वैल्यू है वन तो वो
ट्रू की तरह लेगा उसको ट्रू की तरह लेगा
तो इस स्टेटमेंट में जो भी लिखा हो वो
हमारा एग्जीक्यूट हो ही जाएगा यहां पर अगर
हम x = 0 लिख देते तब ये एग्जीक्यूशन नहीं
होता तब ये वाली कंडीशन एग्जीक्यूट होती
जैसे अगर हम यहां पर लिख दें x = 0
और इसको अब करें कंपाइल एंड रन इस केस में
प्रिंट होगा x इज नॉट इक्वल टू 1 क्योंकि
x की वैल्यू अगर जीरो हो गई तो यहां तो रो
आ गया इफ के अंदर वो एक फाल्स वैल्यू है
फाल्स हो गया तो हमेशा एल्स वाली
स्टेटमेंट जो है वो रन करेगी तो इस
क्वेश्चन का सही आंसर होना चाहिए था कि
एरर तो देगा नहीं एरर तो हमारे पास कोई
आया नहीं हां वार्निंग जरूर आई है क्योंकि
कंपाइलर को शक हो रहा है कि आप कुछ गलत कर
रहे हैं क्योंकि आप इक्वलिटी तो चेक नहीं
कर रहे हैं आप असाइनमेंट कर रहे हैं इफ के
अंदर जो लॉजिकली गलत माना जाता है पर
कंपाइलर रूल्स के हिसाब से गलत नहीं तो
यहां पर सही आउटपुट होगा प्रिंट x इ 1
क्योंकि x = 1 प्रिंट हो जाएगा क्योंकि x
= 1 करते ही हमारे इफ में वन आ जाएगा जो
कि एक ट्रू वेरिएबल है अब नेक्स्ट सवाल
जिसको हम करने वाले हैं यह आखिरी सवाल है
हमारा प्रैक्टिस सेट में वो है राइट अ
प्रोग्राम टू फाइंड इफ अ कैरेक्टर एंटर्ड
बाय यूजर इज अपर केस र नॉट अपर केस
कैरेक्टर्स क्या होते हैं a b कपिल a कपिल
b कपिल c इस तरीके
लोअर केस क्या होते है स्मल ए स्मल बी
स्मल सीमल डी इस तरीके से तो इनको हम अपर
केस कहते हैं इनको हम लोअर केस कहते हैं
हमें चेक करना है हमारा कैरेक्टर एक यूजर
ने जो एंटर किया है वो अपर केस है या नहीं
है इसके लिए देखते हैं क्या टेक्नीक हम
यूज करेंगे सबसे पहले तो एक प्रोग्राम बना
लेते
हैं जिसमें कैरेक्टर सीच हमें एंटर करवाना
है यूजर से
एंटर
कैरेक्टर इसमें कर लेंगे स्कैन एफ
परसेंटेज
सी एंड
सी अब चेक कर लेंगे कि हमारा जो सी है वो
ग्रेटर दन इक्वल टू a है यह चीज हमने नहीं
देखी होगी क्योंकि हमेशा हम इंटी जर के
साथ कंपेयर कर लेते हैं फ्लोट के साथ कर
लेते हैं फर्स्ट टाइम हम कैरेक्टर की
वैल्यू को कैरेक्टर के साथ कंपेयर कर रहे
हैं रिलेशनल ऑपरेटर से तो यह भी पॉसिबल है
क्योंकि इंटरनली सी कैसे काम करता है हर
कैरेक्टर की ना एक एस्का वैल्यू होती है
तो a जो है उसकी एस काई वैल्यू शायद 97 है
और इस तरीके से z तक हमारी बहुत सारी
अलग-अलग वैल्यूज हैं तो अगर हमें लोअर केस
चेक करना हो तो इसको a से चेक कर लेंगे
यहां पे यह हमारी एका वैल्यू प्रिंट भी हो
रही है 97 हमारे लिए अगर यहां पर हम b कर
लें तो उसकी एस काई वैल्यू क्या होगी 98
उसी तरीके से c करें तो 99 आ जाएगी तो एस
काई वैल्यूज होती हैं एका वैल्यू इज
बेसिकली कि हर कैरेक्टर का अपना एक इंटी
जर होता है जो उसके साथ एसोसिएटेड होता है
और कंपाइलर को पता होता है वो इंटी जर तो
या तो हम कैरेक्टर को डायरेक्टली एस काई
वैल्यू के साथ कंपेयर कर सकते हैं
जैसे कैरेक्टर इज ग्रेटर दन इक्वल ट 97
लिखना एंड कैरेक्टर इज ग्रेटर दन इक्वल टू
a लिखना इसका और इसका मतलब सेम है कंपाइलर
के लिए तो या तो यह लाइन लिख लो आप या यह
लाइन लिख लो कोई डिफरेंस नहीं आएगा तो
यहां पे हम कंपेयर करने वाले हैं कपिल a
के साथ तो कैपिटल a की एका वैल्यू है 65
एंड एंड सी इज लेस देन इक्वल टू कैपिटल
जीी कैपिटल जीी की एस काई वैल्यू है 90 तो
ये बढ़ती जाती है यानी कैपिटल ए की होगी
जो 65 तो कैपिटल बी की 66 कैपिटल सी की 67
इस तरीके से बढ़ती जाती
है अगर हमारा कैरेक्टर इस ए से बड़ा है
इसके इक्वल है और जी से छोटा है और उसके
इक्वल है अब मेरे एडिटर्स ने मुझसे पूछा
जड क्यों बोला है तो ब्रिटिश इंग्लिश में
जड बोलते हैं अमेरिकन इंग्लिश में जी
बोलते हैं
तो प्रिंट एफ हमें करना है अपर
केस इस केस में तो अपर केस हम लिख
देंगे वरना एल्स एल्स में एक और केस चेक
कर लेते हैं कि सीच हमारा
अगर सीच अगर हमारा ग्रेटर दन इक्वल टूल ए
है एंड एंड सी हमारा लेसन इक्वल टू स्लजी
है तो उस केस में हम प्रिंट करने वाले
हैं लोर केस
अब इसके अलावा जो हमारा एस्ट रिस्क होता
है एम परसेंट होता है वह सारे भी हैशटैग
हैश कैरेक्टर यह सभी कैरेक्टर्स होते हैं
उनके इसमें हम प्रिंट करेंगे नॉट
इंग्लिश लेटर इंग्लिश का लेटर नहीं है
आपने कोई और ही कैरेक्टर हमारे पास प्रिंट
करके हमें दे दिया है इन सबके बाद लगा
लेते हैं एक नेक्स्ट लाइन को कर लेते हैं
सेव और इसको करते हैं रन अब कैरेक्टर हमें
एंटर करना है मान लीजिए सब सबसे पहले एंटर
कर रहे हैं हम जी जी के लिए इसने बता दिया
कि अपर केस कैरेक्टर है पर अगर हम स्मल जी
एंटर करें तो बोल देगा लोअर केस है और अगर
हम परसेंटेज का साइन एंटर कर दें इस
कैरेक्टर तो बता देगा नॉट इंग्लिश लेटर तो
इस तरीके से हम अपना पूरा प्रोग्राम बना
सकते हैं जो चेक कर रहा है कि अपर केस है
या लोअर केस है बहुत सारे इसमें
अच्छे-अच्छे प्रोग्राम्स बन सकते हैं हमने
कुछ क्वेश्चंस प्रैक्टिस कर लिए जो
स्टैंडर्ड क्वेश्चंस है प्लेसमेंट में
आपके कॉलेज के क्वेश्चंस में पूछ लिए जाते
हैं इसके अलावा आपको होमवर्क प्रॉब्लम्स
दिए होंगे उनको खुद से सॉल्व करना है अगर
सवाल नहीं हो रहा तो फिर अपने नोट्स से
थोड़ी सी हेल्प लेनी है बहुत आसानी से
हमने बहुत ही इंपॉर्टेंट बहुत ही क्रुशल
चैप्टर जो है कंप्लीट कर लिया है एंड इसके
बाद बढ़ेंगे अपने फोर्थ चैप्टर की तरफ
जिसमें हम कवर करने वाले हैं लूप्स को हाय
एवरीवन और अब हम शुरुआत करने वाले हैं
अपने चैप्टर फोर की जिसका नाम है लूप
कंट्रोल इंस्ट्रक्शंस इसके अंदर हम पढ़ने
वाले हैं कि फॉर लूप क्या होता है वाइल
लूप क्या होता है डू वाइल लूप क्या होता
है साथ के साथ डिस्कस करेंगे कि दो
कीवर्ड्स ब्रेक और कंटिन्यू इनका कैसे
यूसेज होता है किस तरीके से इनको यूज़
करना है अपने कोड के अंदर अब लूप कंट्रोल
इंस्ट्रक्शंस क्या होते हैं और इसकी हमें
जरूरत क्यों पड़ती है उसको एक एग्जांपल के
साथ समझ लेते हैं मान लीजिए हमें कोड के
अंदर प्रिंट करवाना है हेलो वर्ल्ड तो हम
क्या करेंगे सिंपली एक प्रिंट एफ
स्टेटमेंट लिखेंगे जिसमें लिख देंगे हेलो
वर्ल्ड अब मान लीजिए हमें पांच बार हेलो
वर्ल्ड प्रिंट करवाना है तो आप बोलेंगे
कोई बात नहीं सिंपली इस लाइन को एक बार
कॉपी करके पेस्ट कर देंगे दोबारा से पेस्ट
कर देंगे दोबारा से दोबारा से तो इस तरीके
से पांच बार हम अपनी स्क्रीन पर हेलो
वर्ल्ड को प्रिंट करवा देंगे पर अगर मैं
कहूं कि मुझे हेलो वर्ल्ड को हज बार
प्रिंट करवाना है या 10000 बार प्रिंट
करवाना है या 1 लाख बार प्रिंट करवाना है
तो उस केस में क्या होगा उस केस में हम
मैनुअली बैठ के कंट्रोल सी कंट्रोल v तो
नहीं कर रहे होंगे यानी कॉपी पेस्ट वाला
जो तरीका है वो तो बहुत स्लो हो जाएगा और
हमें तो दिन लग जाएंगे और अगर मैं आपको
कहूं कि ये जो सेम काम है हज लाइन हेलो
वर्ल्ड की प्रिंट करवाना ये हम तीन लाइनों
के अंदर खत्म कर सकते हैं तो आप मुझसे
पूछेंगे कि दीदी ये कौन सी ट्रिक है
कोडिंग के अंदर तो कोडिंग के अंदर किसी भी
काम को अगर हमें बार-बार बार बार बार-बार
बार-बार करना पड़ता है तो उसके लिए हम
लूप्स का इस्तेमाल करते हैं जैसे पांच
लाइनों का कोड है इसको बार-बार लिखने की
जगह हम एक सिंपल सा छोटी सी इंस्ट्रक्शंस
यूज करते हैं और इन इंस्ट्रक्शंस को हम
लूप कंट्रोल इंस्ट्रक्शंस कहते हैं लूप का
मतलब इंग्लिश के अंदर होता है किसी चीज को
बार-बार बार-बार कराना जैसे हम बचपन में
फोन के अंदर गाने सुना करते थे तो फिर
क्या करते थे अपनी प्लेलिस्ट बनाते थे
फेवरेट गानों की और उनको पे सुनते रहते थे
यानी वही चार-पांच गाने बार-बार बज रहे
हैं या कुछ लोगों की अभी भी spotify.com
एक बेसिक चीज जो हमें याद करने की जरूरत
है वो यह है कि फॉर लूप से जो भी हम कर
सकते हैं वो सारी चीजें हम वाइल लूप से कर
सकते हैं और वो सारी चीजें भी हम डू वाइल
लूप से कर सकते हैं यानी ये तीनों जो
लूप्स हैं सेम काम करते हैं पर इनका
सिंटेक्स थोड़ा सा अलग-अलग होगा अब मेरा
फेवरेट सिंटेक्स है फॉर लूप का इसलिए मुझे
कभी भी कोड में इस्तेमाल करना होता है तो
मैं मोस्टली फॉर लूप का इस्तेमाल करती हूं
आने हमें तीनों चाहिए पर आपको जो भी
ज्यादा इजियर टू लर्न लगे आप उनमें से एक
को बार-बार अपने कोड्स में यूज़ कर सकते
हैं कोई परेशानी नहीं आएगी सारे के सारे
काम इन तीनों में से एक लूप से भी हो सकते
हैं पर तीनों इसलिए याद करने हैं पहला
इसलिए क्योंकि कॉलेज के एग्जाम में अगर
टीचर ने पूछ लिया कि इस सवाल का आप जवाब
दीजिए और सिर्फ फॉर लूप से या सिर्फ वाइल
लूप से देना है तो फिर उस टाइम पर परेशानी
हो सकती है तो उस केस में तीनों का
सिंटेक्स आना चाहिए सबसे पहले बात करते
हैं फॉर लूप की अब फॉर लूप का सिंटेक्स
कुछ ऐसा होता है जिसमें सबसे पहले हम अपना
कीवर्ड लिखते हैं जो है फॉर उसके बाद
लगाते हैं पैरेंस और फिर ये कर्ली ब्रेसेज
जैसे इफ के टाइम पर हमने ऑब्जर्व किया था
कि कुछ-कुछ कंडीशन होती है फिर हमारे
कर्ली ब्रेसेज आ जाते हैं और जो भी काम
कराना होता है वह बीच में हम लिख रहे होते
थे वैसा ही कुछ फॉर लूप्स में होता है फॉर
लूप में सबसे पहली जो कंडीशन आती है
पैरेंस में इसको हम कहते हैं इनिशियल
इजेशन इनिशियल इजेशन कंडीशन मतलब कोई भी
काम की हम शुरुआत यहां से कर रहे होंगे
जैसे अगर हमें हेलो वर्ल्ड को पांच बार
प्रिंट करवाना है तो कुछ तो एक हम वेरिएबल
लेंगे जो ट्रैक करेगा कि कितनी बार हेलो
वर्ल्ड प्रिंट हुआ है तो उस वेरिएबल की
वैल्यू शुरू हो सकती है हमारी रो से जा
सकती है चार तक या उस वेरिएबल की वैल्यू
शुरू हो सकती है एक से और जा सकती है पांच
तक तो वो वेरिएबल क्या करेगा जैसे एक
वेरिएबल ले सकते हैं i और ये i क्या करेगा
इसकी सबसे पहले वैल्यू होगी वन तो ये वन
गिन लेगा फिर टू फिर टू गिन लेगा थ्री फिर
फोर फिर फाइव और जैसे ही वन हुई वैसे ही
हेलो वर्ल्ड प्रिंट करवा दिया टू हुई वैसे
ही हेलो वर्ल्ड प्रिंट करवा दिया थ्री
हेलो वर्ल्ड प्रिंट करवा दिया फोर हेलो
वर्ल्ड प्रिंट करवा दिया फाइव में भी इसने
हेलो वर्ल्ड प्रिंट करवा दिया अब इसकी जो
शुरुआती वैल्यू है यानी i = 1 यह वाली जो
स्टेटमेंट है यह इनिश इजेशन स्टेटमेंट है
जो यहां पे आ सकती है दूसरी है हमारी
कंडीशन कंडीशन बताती है कि कब इस फॉर लूप
को खत्म करना है मतलब कब हमारा काम
कंप्लीट खत्म हो जाएगा जैसे यहां पर हमने
लिखा था कि इंट एक वेरिएबल ले लेते हैं i
जिसकी वैल्यू हम वन से शुरू कर देते हैं
और उस हर काम में हर लूप के अंदर अपने लूप
के अंदर फॉर के अंदर हम यहां पर प्रिंट
करवा रहे होंगे क्या हेलो वर्ल्ड और यहां
पर कंडीशन की जगह हम वो कंडीशन लिखेंगे
जिस केस में हमारा लूप रन होना चाहिए तो
हम चाहते हैं हमारा लूप तब तब रन हो जब
हमारे i की वैल्यू लेस दन इक्वल टू 5 रहे
तो i अगर हमारा लेस दन 5 है या इक्वल टू 5
है तब तब आप हेलो वर्ल्ड प्रिंट करते रहिए
और जैसे ही आ ग्रेटर दन 5 हो गया वैसे ही
अब हेलो वर्ल्ड प्रिंट नहीं करवाना
क्योंकि पांच बार प्रिंट करवा दिया और
अपडेशन स्टेटमेंट में हम अपने वेरिएबल को
या अगर हमने लूप में कोई भी अपडेशन करना
जा रहे हैं वो अपडेशंस लिखते हैं जैसे
यहां पर हम लिख सकते हैं i = i + 1 हर बार
i की वैल्यू को एक से बढ़ा देंगे एक से
बढ़ा देंगे तो इस लूप का कंट्रोल किस
तरीके से रहेगा सबसे पहले i की शुरुआत
होगी वन के साथ वन के साथ फिर उस वन की
कंडीशन देखी जाएगी कि क्या i < = 5 है हां
है फिर वो जाएगा अंदर लूप के अंदर जो भी
काम है वो उसको कर देगा उसके बाद यहां
आएगा अपडेट करने अब i की वैल्यू टू हो गई
i की वैल्यू टू हो गई फिर से कंडीशन चेक
होगी कंडीशन है कि i < = 5 है क्या हां है
क्योंकि टू की वैल्यू फाइव से कम है अब इस
इनिश इजेशन पर कभी भी दोबारा नहीं जाएगा
तो इस कंडीशन को चेक होने के बाद दोबारा
से काम कर देगा फिर दोबारा से अपडेट हो
जाएगा दो से तीन उसके बाद दोबारा कंडीशन
चेक करेगा फिर दोबारा काम कर देगा फिर
दोबारा अपडेट हो जाएगा तीन से चार फिर
दोबारा कंडीशन चेक करेगा तो इस तरीके से
इस तरीके के सर्कल में हमारा फॉर लूप रन
करता रहता है एक बार इसको एक्चुअली कोड
में लिखकर देखते हैं और समझते हैं कि इसको
करेंगे किस तरीके से तो सबसे पहले लिखेंगे
फॉर फॉर हमारा की वर्ड है फॉर लूप के लिए
उसके बाद लिखेंगे इनिश इइ जशन वाली
स्टेटमेंट यानी इंट i = 1 य एक तरीके से
हमने एक मिनी स्टेटमेंट लिख दिया अपने फॉर
लूप के अंदर तो तीन मिनी स्टेटमेंट्स का
कॉमिनेशन होता है फॉर लूप सबसे पहले आएगी
हमारी इनिश इइ स्टेटमेंट जिसने हमने i को
इनिश इज कर दिया उसके बाद लिखेंगे अपनी
कंडीशन कौन-कौन सी कंडीशन में लूप हमारा
चले तो i < = 5 की कंडीशन है फिर लिखेंगे
अपडेशन अपडेशन में लिख सकते हैं i = i + 1
और यहां पर अब क्या कर सकते हैं हम प्रिंट
एफ करवा देंगे
हेलो वर्ल्ड इसको कर लेते हैं सेव और एक
बार रन करके देखते हैं कि आउटपुट क्या आता
है हमारे पास जो आउटपुट आया है दैट इज
हेलो वर्ल्ड एक बार उसके बाद फिर से हमारा
हेलो वर्ल्ड प्रिंट हुआ है अब हम चाहते
हैं हर एक हेलो वर्ल्ड नेक्स्ट लाइन में
प्रिंट हो तो इसको भी कर लेते हैं सेव और
दोबारा से कंपाइल एंड रन अबकी बार पांच
बार हेलो वर्ल्ड हमारे लिए प्रिंट हो गया
है मान लो अगर हमें 1000 बार प्रिंट
करवाना होता तो कुछ नहीं बस इस फाइव को
1000 कर देते हैं एक सिंपल सा चेंज अपने
फॉर लूप के अंदर और किसी भी काम को हम
कितनी भी बार कर सकते हैं आप देखेंगे इसको
मैं स्क्रोल करूंगी तो ऊपर वो स्क्रॉल हुए
जा रहा है और हेलो वर्ल्ड एक्चुअली
स्क्रीन पर हजार बार प्रिंट हुआ है तो
किसी भी काम को बहुत बार बहुत बार करवाना
है तो हम फॉर लूप्स का इस्तेमाल कर सकते
हैं और अब मान लीजिए मुझे एक से 100 तक
अगर नंबर्स प्रिंट करवाने हैं तो वो कैसे
करवाएंगे लूप की हेल्प से अब नंबर्स को
मुझे प्रिंट करवाना है तो इस तरीके का कुछ
फैशन रहेगा जब सबसे पहले आएगा वन फिर टू
फिर थ्री फिर फर 5 6 एंड इस तरीके से 100
तक हमारे नंबर्स अब हमने ऑलरेडी क्या किया
है यह एक वेरिएबल ले लिया है जिसके अंदर
वैल्यूज क्या है अपडेट होती जा रही है तो
क्यों ना हम इसी वेरिएबल i की वैल्यू को
बार-बार प्रिंट करवा दें तो अगर इसी
वेरिएबल की वैल्यू को प्रिंट करवाएंगे तो
यहां लिखेंगे परसेंटेज d और उसके बाद
i इस 1000 को हम कर देंगे 100 आई होप कि
इसका मतलब हम सबको क्लियर हो रहा है कि
वेरिएबल i की वैल्यू वन से शुरू हो रही है
और 100 तक जाएगी और हर बार i की वैल्यू एक
से बढ़ रही है तो यहां हम क्या करेंगे वन
से लेकर 100 तक वैल्यूज को प्रिंट करवाने
वाले
हैं तो यह सारी की सारी वैल्यूज हमारी वन
से लेकर 100 तक प्रिंट हो गई है आउटपुट
स्क्रीन पर अब वही हम इस वेरिएबल को
डिक्रीज भी कर सकते हैं मतलब अपडेट करने
का मतलब हमेशा वेरिएबल की वैल्यू को
बढ़ाना नहीं होता अपडेट का मतलब में हम
वेरिएबल की वैल्यू कम भी कर सकते हैं जैसे
अगर मुझे 100 से लेकर या लेट्स से 10 से
लेकर एक तक वैल्यूज प्रिंट करवानी होती तो
मैं i की वैल्यू को शुरू करती 10 से और
फिर तब तक i की वैल्यू को बढ़ाते रहते जब
तक वो 10 से एक एक एक एक कम कम होकर वन ना
हो जाए हर बार अपडेट करेंगे i = i - 1 की
फॉर्म में और तब तक लूप चलाएंगे जब तक i
हमारा ग्रेटर दन इक्वल ट 1 नहीं रहता मतलब
अगर i की वैल्यू वन है तो भी लूप चलेगा टू
है तो भी लूप चलेगा थ्री है तो भी लूप
चलेगा और लूप चल कैसे रहा है सबसे पहले i
की वैल्यू 10 है उसके बाद नौ हो जाएगी
उसके बाद आठ हो जाएगी सात 6 5 4 3 2 1 एक
में जैसे ही अपडेट होगा एक के बाद वैल्यू
जीरो हो जाएगी उसके बाद यह लूप रन नहीं
करेगा अब एक बार सेव करके इसको रन कराते
हैं इस बार हमारी वैल्यूज जो प्रिंट होंगी
वो 10 के बाद से प्रिंट हो रही होंगी यानी
10 9
87654321 तो कुछ इस तरीके से हमारा जो ये
वेरिएबल है इसको अपडेशन के टाइम पर हम
बढ़ा भी सकते हैं और कम भी कर सकते हैं अब
जरूरी नहीं है यहां पर जो इनिश इजेशन करें
वो हमेशा एक इंटी जर वैल्यू का हो यहां पर
हम कैरेक्टर्स भी लिख सकते हैं स्ट्रिंग
भी लिख सकते हैं बेसिकली अपना लॉजिक बिल्ड
करते हैं क्वेश्चन के हिसाब से जो भी
जरूरत होगी इनिश इजेशन की उसको करेंगे पर
मोस्टली यहां पर ये आय ही आता है अब इस आय
को हम या तो इटरेटर कहते हैं इसको आइट
मेटर भी हम कह सकते हैं या फिर इसको कहते
हैं काउंटर वेरिएबल इसका मतलब होता है एक
ऐसा वेरिएबल जिसकी हेल्प से हम किसी भी
काम को बार-बार करवा रहे हैं तो आइट मेशन
का मतलब होता है इंग्लिश में किसी भी काम
को बार-बार करना काउंटर हो होता है कि एक
काउंटर रख लिया हमने जैसे दुकानों के ऊपर
काउंटर पर ट्रैक करते हैं ना कि कितने
कस्टमर आए वैसे ही यहां पर यह आए एक
काउंटर है या एक आइट मेटर है जो ट्रैक कर
रहा है कि काम कितनी बार हुआ अगर यहां पे
10 लिख दिया और यहां पर कंडीशन कहती है कि
एक से बड़ा हो तब तक काम होता रहे और
अपडेशन कंडीशन कहती है कि एक-एक कम होता
रहे तो हमें पता है हमारा काउंटर हमें बता
रहा है हमारा इटरेटर हमें बता रहा है कि
हमारा लूप 10 बार चलने वाला है अब एक सवाल
फॉर लूप्स के ऊपर कर लेते हैं सवाल हमारा
यह प्रिंट द नंबर फ्रॉम 0 टू 10 हमें रो
से लेकर 10 तक नंबर्स प्रिंट करने हैं इस
क्वेश्चन को हम ध्यान से देखेंगे क्योंकि
अभी तक हम नंबर्स प्रिंट कर रहे थे वन से
लेकर 10 तक अबकी बार जीरो भी एडिशनल है और
इन सारे नंबर्स को काउंट करें तो ये टोटल
11 नंबर्स हैं यहां पर एक छोटा सा
कंफ्यूजन जो शुरुआती स्टेजेस में
स्टूडेंट्स को हो जाता है वो समझते हैं कि
जीरो से लेकर 10 तक हमारे पास 10 नंबर्स
हैं पर एक्चुअली ऐसा नहीं है हमारे पास 11
नंबर होते हैं जीरो से लेकर 10 तक तो अब
हम इसका कोड लिखेंगे कोड के लिए सबसे पहले
तो अपना आइट मेटर बनाते हैं आइट मेटर है
हमारा आ जिसकी वैल्यू की शुरुआत अब हम
जीरो से करेंगे इसको जीरो से इनिला इज कर
दिया अब यहां पर कंडीशन ये डालेंगे कि i
की वैल्यू जब तक लेस दन इक्वल टू हमारी 10
की वैल्यू के इक्वल है मतलब i जब भी जब तक
10 के लेस या 10 से इक्वल है तब तक हमारा
लूप चले और अपडेशन के लिए लिखेंगे i = i +
1 हर बार एक से इसको इंक्रीज करना है और
यहां पर हम प्रिंट करवा देंगे परसेंटेज d
i यहां पर डाल देते हैं नेक्स्ट लाइन इसको
कर लेते हैं सेव एंड इसको करते हैं रन और
ये रहा हमारे पास हमारा आउटपुट जिसमें रो
से लेकर हमारी सारी की सारी वैल्यूज 10 तक
प्रिंट हो गई है तो इस तरीके से हमारे पास
टोटल 11 नंबर प्रिंट हुए हैं अब ये जो i =
i + 1 है ना इसको लिखने का एक शॉर्ट हैंड
होता है यानी इसको हम i + प् भी लिख सकते
हैं जैसे हमने सीखा था कि i = i + 1 को
अगर हमें लिखना हो तो इसको हम लिख सकते
हैं i + इ
1 ये शॉर्ट हैंड हमने असाइनमेंट ऑपरेटर्स
करते टाइम सीखा था अब i + = 1 को हम i + प
भी लिख सकते हैं तो ये शॉर्ट हैंड का
शॉर्ट हैंड बन जाता है और ये सिर्फ + व के
लिए होता है यानी अगर यहां पर टू होता और
यहां पर टू होता तो उसके लिए i प्स प्स
प्लस हम नहीं कर सकते i प् प्लस का मतलब
होता है हर बार i में एक को ऐड कर दो उसी
तरीके से एक प्लस प् आ भी होता है प्लस प्
आ प् प् आ का अलग मतलब होता है उसके अलावा
माइनस माइनस आ भी होता है और i माइनस
माइनस भी होता है अब एक बार इस प्लस प्लस
और माइनस माइनस वाली चीज को थोड़ा सा
डिटेल में डिस्कस कर लेते हैं इनको हम
इंक्रीमेंट और डिक्रिमेंट ऑपरेटर्स कहते
हैं सबसे पहले बात करते हैं अपने
इंक्रीमेंट ऑपरेटर की इंक्रीमेंट करने का
मतलब होता है अंग्रेजी में किसी चीज को
बढ़ाना यानी इंक्रीज करना तो इंक्रीमेंट
ऑपरेटर्स दो टाइप के होते हैं एक होता है
हमारा प् प् आ एक होता है हमारा i+ प् अगर
हम एक वेरिएबल ले ले i इसकी वैल्यू को हम
इनिशियलिज्म
फिर एक बार प्रिंट स्टेटमेंट लिखें जिसके
अंदर हम प्रिंट करवाना चाहते हैं i की
वैल्यू कोई परसेंटेज d स् n अब हम लिखवाता
हैं सबसे पहले i प्लस
प्लस इसको कर लेते हैं सेव और न्यू
टर्मिनल तो हमारे आउटपुट में हमारे पास
आया वन इस आ के बाद जब भी हम प्लस प्लस
लगाते हैं इसका मतलब यह होता है कि i की
वैल्यू को पहले यूज कर लो और फिर i की
वैल्यू को इंक्रीज कर दो यानी प्लस प्लस
जब भी बाद में लगता है उसका मतलब है यूज
देन इंक्रीज पहले यूज कर लो जो भी वैल्यू
है और उसको इंक्रीज कर दो आ की वैल्यू
क्या थी वन अब पहले उसको यूज करने का मतलब
है उसको प्रिंट करवा देना तो हमने वन को
ही प्रिंट करवा दिया पर अब यह इंटरनली
कंपाइलर के पास ये इंक्रीज हो चुकी है
वैल्यू यानी अब अगर हम दोबारा से i की
वैल्यू को प्रिंट करवाना चाहे इस बार हम
प्लस प्लस नहीं करेंगे इस बार सिंपली i
लिख देंगे तो यहां पर तो i की वैल्यू वन
प्रिंट हुई थी अब प्लस प्लस होकर इंटरनली
वह वैल्यू दो हो चुकी है और यहां पर जब हम
दोबारा i को प्रिंट करवाएंगे तो हमें पता
चलेगा कैसे दो हो गई है इसको कंपाइल कर
लेते हैं रन यानी पहले वन थी अब इंटरनली
इंक्रीज हो गई है यूज़ नहीं किया उसके बाद
इस सेकंड लाइन में फिर यूज़ कर लिया यूज़
कर लिया तो उसकी वैल्यू जो दो थी वह हमारे
पास प्रिंट होकर आ गई और यहीं पर अगर हम
सेम वेरिएबल के
लिए + + आ ले लेते तो उस केस में क्या
होता + + आ कहता है है
इंक्रीज देन यूज यानी पहले इंक्रीज करो
वैल्यू इंक्रीज करो इसलिए प्लस प्लस पहले
ही बता दिया प्लस प्लस मतलब पहले इंक्रीज
कर फिर i की वैल्यू को यूज़ करना तो
इंक्रीज करेगा और बाद में i की वैल्यू यूज
होगी इसको हम कर लेते हैं कॉमेंट आउट एक
बार सेव एंड अब रन करके आउटपुट देखते
हैं तो सबसे पहले प्रिंट हुआ टू और सेकंड
टाइम भी प्रिंट हुआ टू क्यों क्योंकि i की
वैल्यू शुरुआत में वन थी प्लस प्लस ने
क्या किया उसको पहले इंक्रीज करके दो कर
दिया उसके बाद i को हमने प्रिंट करवा दिया
यानी दो प्रिंट हो गया तो सेकंड टाइम जब
हम i की वैल्यू को प्रिंट करवा रहे हैं वो
ऑलरेडी दो हो चुकी है इसीलिए वहां पर भी
दो प्रिंट हो गया तो इसलिए प्लस प् आ जो
होता है इसको हम कहते हैं प्री इंक्रीमेंट
ऑपरेटर और i + प् को हम कहते हैं पोस्ट
इंक्रीमेंट ऑपरेटर तो प्लस प् आ मतलब प्री
इंक्रीमेंट यानी पहले इंक्रीमेंट हुआ और
बाद में यूसेज हुआ और पोस्ट इंक्रीमेंट
यानी पहले यूज हुआ और बाद में इंक्रीज हुआ
तो इस तरीके से से हम शॉर्ट हैंड लिख सकते
हैं प्व और -1 के लिए अब सेम तरीके से
हमारे पास डिक्रिमेंट ऑपरेटर्स होते हैं
डिक्रिमेंट ऑपरेटर क्या करता है डिक्रीज
कर देता है वैल्यू यानी यहां पर अगर हमारे
पास होता माइनस माइनस आए तो इसको हम कहते
प्री डिक्रिमेंट और वहीं पर होता आ माइनस
माइनस तो इसको हम कहते पोस्ट डिक्रिमेंट
अब जैसे एग्जांपल के तौर पर यहां पर इसको
कर लेते हैं कॉमेंट आउट और कॉमेंट तो आ की
वैल्यू शुरुआत में वन है अब यहां पर हम कर
दें i माइनस माइनस तो क्या आउटपुट आएगा
हमारे पास आउटपुट आया है वन एंड देन रो
यानी सबसे पहले i की वैल्यू यूज होगी
प्रिंट होगी तो वन है तो वन ही प्रिंट हो
गया उसके बाद डिक्रीज होगी तो वन की
वैल्यू डिक्रीज होकर हो जाएगी रो और सेकंड
टाइम जब हम प्रिंट करवाएंगे तो प्रिंट
होगा हमारे पास रो अब इसको कॉमेंट कर लेते
हैं सेकंड पार्ट को अगर रन करें यानी
माइनस - आ तो इस केस में सबसे पहले तो
हमारे पास जीरो प्रिंट होगा क्योंकि पहले
ही वो डिक्रीज हो जाएगी फिर प्रिंट होगी
तो यहां भी ज़ीरो यहां भी ज़ीरो क्योंकि
फर्स्ट टाइम डिक्रीज हो गई वन से ज़ीरो
में कन्वर्ट हो गई और उसके बाद प्रिंट हो
गई यानी वो ज़ीरो ही प्रिंट हो गया और
सेकंड टाइम जब प्रिंट करवाएंगे i की
वैल्यू तो ऑलरेडी ज़ीरो हो चुकी है तो वो
ज़ीरो प्रिंट हो जाएगा तो इस तरीके से c
के अंदर हमारा पोस्ट डिक्रिमेंट प्री
डिक्रिमेंट पोस्ट इंक्रीमेंट प्री
इंक्रीमेंट ऑपरेटर्स काम करते हैं और जब
भी हम लूप्स का यूज़ करते हैं ये
इंक्रीमेंट डिक्रिमेंट ऑपरेटर्स हमारे
बहुत काम आते हैं क्योंकि मोस्टली आप
देखेंगे कहीं भी सिंटेक्स वाइज इन्हीं का
यूज़ हो रहा होता है तो इनको हमें हमेशा
यूज़ करना है जो स्टैंडर्ड तरीका है फॉर
को लिखने का उसमें मोस्टली लोग या तो
वेरिएबल आ यूज करते हैं या जे यूज करते
हैं या k यूज़ करते हैं आप चाहे तो कुछ भी
यूज़ कर सकते हैं x वाज को जो आपका मन करे
वैसे स्टैंडर्ड तरीका आपको जब भी मैं कोड
लिख रही होंगी मोस्टली आई दिख रहा होगा
नेस्टेड लूप्स हैं यानी लूप के अंदर लूप
तो आपको जे के दिख रहे होंगे अब नेक्स्ट
चीज थोड़े स्पेशल चीजों की हम बात कर लेते
हैं हम ऑलरेडी डिस्कस कर चुके हैं
इंक्रीमेंट ऑपरेटर क्या होता है ऑलरेडी
डिस्कस कर चुके हैं डिक्रिमेंट ऑपरेटर
क्या होता है इसके बाद बात आती है लूप
काउंटर कैन बी फ्लोट और इवन कैरेक्टर यानी
हमने जो अभी तक फॉर लूप लिखा है उसमें
हमारा लूप का जो काउंटर है जो काउंटर
वेरिएबल था वो फ्लोट भी हो सकता है वो
हमारा कैरेक्टर भी हो सकता है कैसे जैसे
एक लूप लिखते हैं जिसमें हम वन से लेकर
फाइव तक नंबर्स को प्रिंट करवाना चाहते
हैं पर इस बार हम फ्लोटिंग नंबर्स को
प्रिंट करवाएंगे तो i की वैल्यू शुरू
करेंगे 1.0 से और i जब तक हमारा लेन इक्व
5.0 नहीं रहता यहां पर कर देंगे i को प्लस
प्लस और हर बार हम प्रिंट करवा देंगे
परसेंटेज f स् n आ की वैल्यू को इसको कर
लेते हैं सेव एंड नया टर्मिनल खोल को इसको
करते हैं रन तो हमारे पास प्रिंट क्या हुआ
1.00 2.00 3.0 4.0 एंड इसी तरीके से 5.0
यानी इस बार सारी वैल्यू स्लॉट में प्रिंट
हुई है और इस बार हमने जो अपना इटरेटर
अपना काउंटर वेरिएबल यूज़ करा है वो है
हमारा एक फ्लोटिंग वैल्यू साथ में मान
लीजिए हमें a से लेकर z तक कैरेक्टर्स
प्रिंट करवा करवाने हैं तो उसका लूप क्या
होगा हम शुरुआत में कैरेक्टर इटरेटर ले
लेंगे i = a उसके बाद क्या करेंगे कंडीशन
लगा देंगे या यहां पर i की जगह इस बार
वेरिएबल अलग लेते हैं स ले लेते हैं तो
कैरेक्टर के अंदर i की वैल्यू स्टोर है स
को तब तक इंक्रीज करते जाएंगे जब तक उसकी
वैल्यू लेस दन इक्वल टू z नहीं रहती स को
हर बार कर देंगे प्लस प्लस हमें पता है कि
कैरेक्टर्स जो है इंटरनली अपनी एस्का
वैल्यू में कन्वर्ट होते हैं तो वो नंबर्स
ही होते हैं इस a पर अगर स्क्रोल करें तो
97 इसकी एस काई वैल्यू है z पर स्क्रॉल
करें तो इसकी वैल्यू 122 है तो b की क्या
होगी a की 97 है b की होगी 98 तो इस तरीके
से बढ़ते रहते हैं तो जब भी कैरेक्टर को
बढ़ा रहे हैं यानी हम a से b में जा रहे
हैं b से c में जा रहे हैं c से d में जा
रहे हैं तो यहां पर हर बार हम प्रिंट करवा
देंगे किसको अपने कैरेक्टर को सी कर लेते
हैं सेव तो इस बार हम देखेंगे कि सारे के
सारे जो हमारे इंग्लिश अल्फाबेट में
लेटर्स हैं वो ए से लेकर एंड तक हमारे पास
प्रिंट होकर आ गए तो कुछ इस तरीके से
हमारा जो आइट मेटर है उसको फ्लोट भी ले
सकते हैं उसको कैरेक्टर भी ले सकते हैं
उसको इंट भी ले सकते हैं डबल भी ले सकते
हैं डिपेंड करता है हम कौन सा सवाल सॉल्व
कर रहे हैं नेक्स्ट चीज जिसकी हम बात
करेंगे वो है इंफाइटिंग
के साथ इंट i = 1 हमारी कंडीशन हो गई अब
यहां पर होती है हमारी टर्मिनेशन की
कंडीशन और आपका मन किया कि आप यहां पे
खाली छोड़ देंगे मतलब यहां कोई स्टेटमेंट
लिखेंगे ही नहीं जो टर्मिनेट कर दे इस लूप
को और यहां पर लिखेंगे अपनी अपडेशन
स्टेटमेंट यानी i+ प् और हर बार क्या कर
रहा है ये लूप हर बार यह लूप प्रिंट करवा
रहा है हमारे पास हेलो वर्ल्ड को इसको कर
लेते हैं सेव तो इस लूप का क्या कहना है
कि i की वैल्यू वन से शुरू हो रही है हर
बार आ की वैल्यू इंक्रीज हो रही है यानी
पहले वन है तो फिर टू हो जाएगी फिर थ्री
हो जाएगी फिर फोर हो जाएगी फिर फाइव हो
जाएगी पर यहां पे यह स्टेटमेंट हमने खाली
छोड़ दी हमारी मर्जी हम तीनों में से किसी
को भी खाली छोड़ सकते हैं प्रॉब्लम यह है
एरर्स आते हैं और क्या एरर्स आते हैं अभी
हम देखेंगे इस स्टेटमेंट को हमने खाली
छोड़ दिया तो इस लूप को पता ही नहीं चल
रहा सी के कंपाइलर को पता ही नहीं चल रहा
कि इस लूप को खत्म कब करना है ये लूप चलता
ही जाएगा चलता ही जाएगा कैसे चलता जाएगा
इसको रन करते हैं तो ये लूप तब तक हेलो
वर्ल्ड प्रिंट करवाएगा जब तक हमारे
कंप्यूटर की मेमोरी पूरी भर नहीं जाती तो
इसलिए इसको क्लोज कर दिया इसीलिए
इंपॉर्टेंट है कि हम हमेशा को कोई भी
कंडीशन को मिस ना करें जब तक हमें पता है
कि कोड हमारा सही से रन कर रहा है और काफी
ध्यान देना है कि कौन सी कंडीशन क्या करने
वाली है और इस तरीके का लूप जो कभी खत्म
ही नहीं होता हमेशा के लिए रन करते जाता
है उसको हम इंफाइटिंग
ये रुकेगा नहीं इंफाइटिंग
वेब डेवलपमेंट से रिलेटेड या किसी और चीज
में एप्स बनाएंगे या कंपनी में जाकर
एक्चुअली जाकर डेवलपमेंट करेंगे तो वहां
पर जब आपको कोडिंग करनी पड़ेगी तो ऐसे
मिस्टेक बहुत बेसिक मिस्टेक्स आपको
बिल्कुल नहीं करने जब भी लूप्स की बात
करें हमेशा ध्यान देना है कि आप एक
इंफाइटिंग अपने प्रोग्राम के अंदर तो ये
हो गया हमारा इंफाइटिंग
वो है हमारा वाइल लूप अब वाइल लूप को
लिखने का सिंटेक्स थोड़ा सा आसान होता है
शुरू में ही हमने सबसे जो हल्का सा
मुश्किल सिंटेक्स वाला कोड है वो कर लिया
है फॉर लूप अब सारे लूप्स हमें आसान
लगेंगे बाकी सारी चीजें काफी आसान लगेंगी
पर अगर फॉर लूप में अभी भी आपको हल्का सा
डाउट है उसको आप हल्का सा रिवाइंड करके
थोड़ा सा और देख लीजिए उसका जो हमने सवाल
डिस्कस किए हैं वो उनमें अगर डाउट है तो
उनको भी हल्का सा देख लीजिए नहीं तो नोट्स
पर नजर मार लीजिए और बिल्कुल अच्छे से समझ
में आ गया तो अब वाइल लूप्स पढ़ते हैं
वाइल का सिंटेक्स होता है कि हम सबसे पहले
लिखते हैं वाइल अपना कीवर्ड और उसके अंदर
अपनी कंडीशन लिखते हैं और फिर अंदर लिखते
हैं वो स्टेटमेंट्स जो हमारे लिए कोई ना
कोई काम हमें करके देंगे तो अभी जो हमने
कोड लिखा था कि वन से लेकर फ तक नंबर्स को
प्रिंट करवाना है उसमें फॉर लूप में तो
हमने कोड लिख ही दिया था अब एक बार फॉर और
वाइल का सिंटेक्स जो है कंपेयर कर लेते
हैं फॉर लूप में कैसे कोड लिखा था फॉर इंट
i = 1 आ जब तक लेन इक्व ट 5 है आ प्स प्स
यहां पर हम प्रिंट करवा रहे थे परसेंटेज
डी हमारा आई अब इसी का वाइल लूप में क्या
कन्वर्जन होगा वाइल अपना की कीवर्ड फिर
लिखेंगे अपनी कंडीशन कंडीशन हमारी क्या है
यहां पे अपना जो वेरिएबल है उसको बाहर
डिक्लेयर करना है यानी अपने कोड के अंदर
फॉर में तो हमने वेरिएबल को अंदर ही
डिक्लेयर कर दिया था पैरेंस के पर इस बार
हमें वेरिएबल को यहां पर बाहर डिक्लेयर
करना पड़ेगा क्योंकि वाइल में कोई जगह
नहीं होती या तो आप अंदर करें वाइल के पर
उसको फिर यहां पर यूज नहीं कर सकते कंडीशन
में तो उसको बाहर ही डिक्लेयर करेंगे
कंडीशन होगी हमारी कि आ जब तक लेसन इक्वल
टू 5 नहीं हो जाता तब तक प्रिंट कर दो
परसेंटेज d हमारे i की वैल्यू को अब यहां
पर आप पूछेंगे कि दीदी हमने दो चीजें कवर
कर ली यहां पर एक तो हमने कवर कर लिया
अपनी डिक्लेरेशन स्टेटमेंट डिक्लेरेशन को
हम वाइ लूप के बाहर लिखते हैं तो ये
डिक्लेरेशन इस डिक्लेरेशन की जगह आ गई
यहां पे आ गई है हमारी टर्मिनेशन कंडीशन
कि किन-किन केसेस में लूप हमारा खत्म हो
जाएगा किन-किन केसेस में रन करेगा तो
टर्मिनेशन कंडीशन यहां आ गई और इसमें यहां
आ गई पर ये अपडेशन की कंडीशन तो आई नहीं
अपडेशन कहां लिखेंगे तो वाइल लूप के अंदर
अपडेशन हमें अंदर ही लिखना पड़ता है यानी
एंड स्टेटमेंट में अपडेशन यहां पे लिख
देंगे लूप खत्म होने से पहले कि आय को एंड
में बाहर निकलते निकलते प्लस प्लस भी कर
देना तो अगली बार प्लस प्लस करेगा
स्टेटमेंट से + व हो जाएगा फिर दोबारा
वापस आएगा काम कर देगा फिर दोबारा प्लस
प्लस हो जाएगा फिर दोबारा वापस आएगा काम
कर देगा फिर दोबारा प्लस प्लस हो जाएगा
फिर दोबारा वापस आएगा तो इस तरीके से
हमारा लूप रन करता है वाइल लूप c के अंदर
अब अपने कोड को एक्चुअली रन करके भी देख
लेते हैं वेरिएबल डिक्लेयर करते हैं इंट आ
इ इ 1 जब तक i इज < इक्व 5 तब तक हम
प्रिंट करवा लेते हैं हेलो वर्ल्ड को फाइव
टाइम्स और हर बार कर देंगे i को प्लस प्लस
अब एक चीज ध्यान देनी है ये जो कर्ली
ब्रेसेज हैं इनके बाद कभी भी कभी भी c के
अंदर हम ये नहीं लगाते यानी स्टेटमेंट
टर्मिनेटर क्योंकि कर्ली ब्रेसस का मतलब
ये होता है कि यहां एक ब्लॉक ऑफ कोड है तो
उसके बाद स्टेटमेंट हमें पता ही है कि
खत्म होने वाली है तो स्टेटमेंट टर्मिनेटर
के लगाने की जरूरत नहीं है अब इसको कर
लेते हैं रन न्यू टर्मिनल तो हमारे पास
पांच बार हेलो वर्ल्ड प्रिंट होकर आ गया
है अब इसके सवालों की बात करें सवाल हमारा
है प्रिंट द नंबर्स फ्रॉम 0 टू n इफ n इज
गिवन बाय द यूजर अभी तक हम क्या कर रहे थे
रो से लेकर जैसे पांच तक नंबर प्रिंट
करवाना है या वन से लेकर पांच तक कराना है
तो हम खुद से टर्मिनेटिंग स्टेटमेंट लगा
रहे थे कि i की वैल्यू जब तक लेस दन इक्वल
टू 5 रहे पर इस बार यूजर बताएगा कि कहां
तक वैल्यू प्रिंट करनी है जैसे फॉर
एग्जांपल यूजर ने हमें भेजा फोर तो हमें
प्रिंट करना है रो 1 2 3 4 यूजर ने अगर
भेजा 10 तो हमें प्रिंट करना है 0 1 2 3 4
5 6 जब तक 10 नहीं आ जाता अब इसको करने का
तरीका क्या रहेगा सबसे पहले तो यूजर से
वैल्यू इनपुट ले लेंगे यूजर से वैल्यू
इनपुट ले ली उसको किसी वेरिएबल n में
स्टोर करा लिया नंबर n में स्टोर करा लिया
अब जब भी हम फॉर की कंडीशन लिखते थे या इस
केस में क्या करते हैं वाल लूप से सवाल को
सॉल्व करते हैं पहले जब भी हम वाइल की
कंडीशन लिखते थे तो वाइल के अंदर क्या
लिखेंगे जब तक हमारा i < इक्व टू n नहीं
हो जाता पहले लिखते थे लेसन इक्व टू 5 इस
केस में n एक चेंजिंग नंबर है हमेशा फाइव
नहीं हो सकता फोर भी हो सकता है 10 भी हो
सकता है 10000 भी हो सकता है तो लेन इक्व
ू n उसके अंदर हम प्रिंट करवा देंगे अपने
i को एंड बाद में कर देंगे i+ प् तो कुछ
इस तरीके का हमारा प्रोसेस रहेगा इसको कोड
करके देख लेते हैं तो ऊपर लिखते हैं
प्रिंट एफ एंटर नंबर और अपने नंबर को ऊपर
कर लेते हैं डिफाइन इंट n और यहां से कर
लेते हैं स्कैन
अब लिखेंगे अपना वाइल लूप वाइल एक आइट र
इंट i इ जब तक हमारा i < इक्व ट n है तब
तक हमारा वाइल लूप रन करेगा वाइल लूप के
अंदर क्या करेंगे हर बार प्रिंट करवा
देंगे अपनी वैल्यू को यानी अपने i को और
उसके बाद कर देंगे i + तो ये क्या हुआ
सबसे पहले हमने यूजर से नंबर मांगा यूजर
ने नंबर एंटर किया तो हमने उसको n में
स्टोर करा दिया उसके बाद i की वैल्यू को
रो से शुरू किया i जब तक लेस दन इक्वल टू
n रह तब तक वाइल लूप रन करेगा हर बार हम
प्रिंट करवा देंगे आ को और फिर उसको कर
देंगे अपडेट बाय वन इसको कर लेते हैं सेव
और इसको करते हैं रन तो सबसे पहले एंटर
करना है नंबर नंबर हम एंटर करने वाले हैं
सेवन सेवन हमने एंटर कर दिया तो हमारे लिए
रो से लेकर सेवन तक सारे नंबर्स प्रिंट हो
गए हैं अब यहीं पर हम कोई बड़ा नंबर भी
एंटर कर सकते थे जैसे मान लीजिए हमने 55
एंटर किया तो रो से लेकर 55 तक सारे के
सारे नंबर्स हमारे पास प्रिंट हो गए हैं
तो फॉर लूप्स को या सी के अंदर किसी भी
कांसेप्ट को अच्छे से सीखने का एक ही
तरीका है कि इसके बहुत सारे सवाल आप कर ले
जो जो चीजें हम प्रैक्टिस करते जा रहे हैं
वह अगर हमें अच्छे से क्लियर है तो कोई
परेशानी की बात नहीं है इसी सेम कोड को हम
वाइल की जगह फॉर से भी कर सकते हैं कैसे
यहां पर इसको कर देते हैं कॉमेंट आउट और
फॉर में सेम कोड लिखते हैं फॉर इंट आ = 0
आ की वैल्यू जब तक लेस दन इक्वल टू हमारे
पास n नहीं रहती आ प् प्स और य यहां पर
अपनी प्रिंट की स्टेटमेंट लिख देंगे
परसेंटेज डी n आ तो जैसे यहां पर आ की
वैल्यू पहले रो थी और यहां पर कंडीशन चेक
हो रही थी वैसे ही फॉर लूप में i की
वैल्यू पहले रो है कंडीशन हमने डाली जब तक
i < = n नहीं रहता और अपडेशन के लिए i+ प्
और हर बार हम प्रिंट कर रहे हैं i की
वैल्यू को तो इसको भी एक बार सेव करके रन
करते हैं अबकी बाद नंबर डालते हैं हम
सिक्स तो ये रो से लेकर सिक्स तक सारे के
सारे नंबर्स हमारे पास प्रिंट हो गए अब
मान लीजिए ज़ीरो से नहीं करना वन से लेकर
सिक्स तक प्रिंट करवाने हैं कोई बात नहीं
इस i की वैल्यू को
इनिशियलिज्म लो हमें थ्री से लेकर सिक्स
तक या थ्री से लेकर सेवन तक थ्री से लेकर
n तक प्रिंट करवाने हैं तो इनिश इइ जशन
स्टेटमेंट कर दो थ्री से लेकर n तक करवा
दो तो इस तरीके से जिस भी तरीके का कोड
रहेगा उस तरीके से हम अडॉप्ट और ओवरकम कर
रहे होंगे नेक्स्ट जिसकी हम बात करेंगे वह
है हमारे डू वाइल लूप डू वाइल लूप बिलकुल
वाइल लूप जैसा होता है अब वाइल लूप के
अंदर कंडीशन पहले ही चेक हो जाती है यानी
अगर बात करें वाइल लूप की तो वाइल में
क्या होता था सबसे पहले वाइल लिखा होता था
फिर लिखी होती थी हमारी कंडीशन तो अगर यह
कंडीशन फॉल्स है तो कभी भी इस ब्लॉक के
अंदर हम जा ही नहीं रहे होंगे जैसे इंट आ
इ इक्वल टू हमने लिख दिया वन और कंडीशन
चेक कर रही है i लेव तो आ लेन व तो कभी
ट्रू होगा ही नहीं इसीलिए अंदर वाली
स्टेटमेंट्स कभी हमारी एग्जीक्यूट होंगी
नहीं तो वाइल लूप हमारा एक बार भी नहीं रन
करेगा पर अगर हम ऐसा वाइल लूप लिख दें जो
एटलीस्ट एक बार हमेशा रन करे उसको हम डू
वाइल कह देते हैं तो डू वाइल लूप के भी
अलग-अलग केसेस होते हैं जिनमें उसको यूज
करना ज्यादा सेंस बनाता है सिंटेक्स की
अगर बात करें तो डू वाइल में सबसे पहले हम
लिखते हैं डू यानी यहां पर कंडीशन पहले
चेक नहीं होती काम पहले होता है डू कर दो
पहले काम कर दो पहले तो डू लिख के जो भी
काम होता है वो हम यहां पर लाइने अपनी लिख
सकते हैं फिर लास्ट में कंडीशन चेक होगी
मतलब यह काम करते रहना है जब तक यह काम
करते रहना है जब तक तो पहले काम होगा फिर
कंडीशन चेक होगी फिर काम होगा फिर कंडीशन
चेक होगी एंड में लिखेंगे फिर लिखेंगे
पैरेंस में अपनी कंडीशन और यहां पर हम लगा
रहे होंगे स्टेटमेंट टर्मिनेटर क्योंकि
ब्लॉक नहीं है यहां पर पैरेंस है पैरेंस
के बाद स्टेटमेंट टर्मिनेटर आ सकता है
इसलिए वो यहां पर आ गया है तो ये हमारा
सिंटेक्स होता है अब अगर हमें कोड लिखना
हो वन से लेकर फाइव तक नंबर्स को प्रिंट
करवाने का तो सबसे ऊपर तो अपना वेरिएबल
डिफाइन कर देंगे i = 5 उसके बाद लिखेंगे
डू डू में अपना काम बताना है काम क्या है
प्रिंट करना i की वैल्यू को इस वेरिएबल की
वैल्यू को तो लिख देंगे अपनी प्रिंट
स्टेटमेंट प्रिंट f परसेंटेज d ब n i और
अब बतानी है कंडीशन कंडीशन ये है जब तक
हमारे i की वैल्यू लेन इक्व ू 5 नहीं रहती
तब तक ये काम करना है और यहां पर बीच में
लगा देंगे अपडेशन की कंडीशन यानी i + प्
तो ये हमने लिख दिया i = 1 से लेकर 2 3 4
5 इन पांचों नंबर्स को प्रिंट करवाने का
कोड इसको एक बार रन भी कर लेते हैं सबसे
पहले लिखेंगे डू डू क्या करेगा कुछ काम
करवाएगा अब काम करने के लिए हमारे पास
वेरिएबल ऑलरेडी होना चाहिए तो उसको इनिश
इइ कर लेते हैं वन के साथ काम है हमारा
वेरिएबल को प्रिंट करवाना तो प्रिंट
करवाने के लिए लिख देंगे परसेंटेज d n i
और फिर लिखेंगे अपना वाइल वाइल में फिर
लिखेंगे कंडीशन को कंडीशन क्या है हमारी
जब तक i की वैल्यू लेसन इक्वल ट 5 नहीं
रहती और फिर हमारा स्टेटमेंट टर्मिनेटर तब
तक हम i को प्रिंट करवाते रहेंगे और हर
बार i को कर देंगे प्लस प्लस क्योंकि i +
प्लस नहीं हुआ ना तो ये हमारा फिर से क्या
बन जाएगा इंफाइटिंग
तो i की वैल्यू हमेशा लेस दन फ रहेगी
इसीलिए हर बार कंडीशन ट्रू होगी लूप चलेगा
हर बार कंडीशन ट्रू होगी लूप चलेगा तो एक
इंफाइटिंग
में जाके रन रन करके हमारे पास आउटपुट आया
1 2 3 4 5 यहीं पर फ से लेकर वन तक प्रिंट
करवानी होती वैल्यूज तो क्या करते i को
इनिश इइ करते फव के साथ यहां पर लिखते i
माइ माइनस टर्मिनेशन स्टेटमेंट हो जाती है
i जब तक ग्रेटर दन इक्वल टू 1 है इसको कर
लेते हैं सेव और रन तो अब प्रिंट हुआ
54321 तो इस तरीके से इंक्रीमेंट
डिक्रिमेंट यूज़ कर सकते हैं कहां से लेकर
कहां तक जाना है उसका हम कोड समझ सकते हैं
तो ये था हमारा डू वाइ लूप सवाल हमारा
कहता है प्रिंट द सम ऑफ फर्स्ट n नेचुरल
नंबर्स तो सबसे पहले ये फर्स्ट पार्ट
करेंगे उसके बाद ये सेकंड पार्ट देख रहे
होंगे तो हमें फर्स्ट n नेचुरल नंबर्स का
सम प्रिंट करना है हर बार की तरह यूजर
हमें ये n देगा फिर हम उनका सम प्रिंट
करें मान लीजिए यूजर ने दिया है n = 4 तो
वन से लेकर 4 तक जितने भी नंबर्स होंगे इन
सबका सम हमें प्रिंट करना है यह हो जाएगा
हमारे पास 10 अगर यूजर ने दिया फाइव तो
वही वन से लेकर फव तक सारे नंबर्स का हमें
सम प्रिंट करना पड़ेगा अगर थ्री दिया है
तो वही 1 + 2 + 3 = 6 तो इसको कैसे करेंगे
करने के लिए सबसे पहले तो हमें पता है
सबसे बेसिक चीज कि यूजर से स्कैन एफ करके
इनपुट ले लो हमारा n उसके बाद जैसे ही n
इनपुट आया उसके बाद हमें रन करना है एक
लूप फॉर लूप मान लीजिए हम रन करते हैं
जिसमें आ की वैल्यू जो है शुरू होती है वन
के साथ और जाती है हमारी चार तक या n तक
और उसमें कर देंगे i प्लस प्लस अब काम
हमारा क्या है लूप के अंदर काम लिखना होता
है काम है हमारा सम कैलकुलेट करना तो एक
वेरिएबल बना लेंगे सम और इस सम की वैल्यू
को इनिश इज कर देंगे रो के साथ यानी
शुरुआत में सम हमारा रो है और इस सम के
अंदर ऐड करते जाएंगे i की वैल्यू को तो i
= 1 है तो सम के अंदर वन ऐड हो गया i = 2
है तो सम के अंदर 2 ऐड हो गया i = 3 है तो
सम के अंदर 3 ऐड हो गया तो ऐसे ऐसे करते
करते हमारे पास सम के अंदर सारी की सारी
वैल्यूज का सम आ जाएगा जैसे i की वैल्यू
शुरुआत में वन है सम की वैल्यू शुरुआत में
रो है लूप के अंदर जाते ही क्या हो
जाएगा सम की वैल्यू बन जाएगी सम + आ यानी
वन फिर i की वैल्यू अपडेट होकर हो जाएगी
टू सम की वैल्यू हमारे पास है अब वन लूप
के अंदर क्या होगा सम इ इक्व टू सम + i
यानी 1 + 2 यानी 3 अब i की वैल्यू बन
जाएगी थ्र सम की वैल्यू बन जाएगी थ्र लूप
के अंदर क्या होगा सम = सम + i = 1 + 2 +
3 = 6
तो इस तरीके का कुछ हमारा प्रोसेस रहेगा
एक बार कोड लिख लेते हैं उसके बाद इसको
दोबारा डिस्कस कर लेंगे शुरुआत में क्या
करेंगे यूजर से सबसे पहले एक नंबर मांग
लेते हैं तो एंटर नंबर एक वेरिएबल बना
लेते हैं इंट n n के अंदर इसको करा लेंगे
स्टोर तो स्कैन इफ परसेंटेज d एंड n उसके
बाद एक और वेरिएबल बनाते हैं सम सम की
वैल्यू को इनिश इइ करेंगे ज़ीरो के साथ और
एक बना लेते हैं फॉर लूप फॉर में लिखेंगे
इं i = 0 या i = 1 i जब तक हमारा ले इक्व
n नहीं रहता i + प् और इस लूप के अंदर सम
में ऐड करवा देंगे सम + i या फिर इसको हम
लिख सकते हैं सम + इ i और एंड में क्या
करेंगे प्रिंट करवा देंगे अपने सम की
वैल्यू को तो सम इज परसेंटेज d आ इसको कर
लेते हैं सेव और इसको करते हैं रन यहां पर
हम आ की नहीं सम की वैल्यू को प्रिंट
करवाने वाले हैं एंड में तो एंटर करेंगे
नंबर नंबर एंटर हम करते हैं थ्री तो हमारे
पास सम प्रिंट होकर आ गया सिक्स अगर हम
मान लीजिए फाइव एंटर कर रहे हैं तो इस बार
फाइव एंटर किया सम प्रिंट होकर आ गया 15
तो इस तरीके से प्रोसेस क्या रहा सबसे
पहले n को एंटर करा लिया उसके बाद सम
वेरिएबल क्रिएट किया जिसकी वैल्यू को हमने
इनिश इज किया रो के साथ उसके बाद हमने एक
लूप चलाया वन से लेकर n तक हर बार हम क्या
करते थे उस आ को लूप के आइट मेटर को
प्रिंट करवा देते थे लेकिन इस बार हमने उस
आइट मेटर से कुछ और काम किया यानी अपना सम
कैलकुलेट किया सम को कैसे कैलकुलेट किया
सम = सम + i यानी हर बार सम में उस i को
ऐड करते चले गए तो सारे आई का सम निकल गया
फिर प्रिंट करवा दिया अपनी फाइनल सम की
वैल्यू को तो उसी तरीके से सबसे पहले अगर
i1 था और सम रो था तो सबसे पहले सम = सम +
i से हमारा सम वन बन गया फिर i2 था तो सम
वन बन गया लूप के अंदर जाते ही सम की
वैल्यू थ्री हो गई फिर i इंक्रीज होकर
थ्री हुआ सम की वैल्यू ऑलरेडी थ्री थी अब
सम के अंदर थ्री भी ऐड हो गया तो सम
फाइनली बन गया सिक्स तो ये आंसर होगा फॉर
हमारा n = 3 अब सेकंड पार्ट इस सवाल का ये
कहता है आल्सो प्रिंट देम इन रिवर्स यानी
हमने नंबर्स जो वन से लेकर n तक नंबर्स
जिनका हमने सम लिया है उन नंबर्स को
रिवर्स में भी प्रिंट कर दो रिवर्स में
कैसे प्रिंट करेंगे उसके लिए एक और सेपरेट
लूप बना लेते हैं अगर मान लीजिए सम हमने
प्रिंट करवा दिया अब फॉर इंट i = n i जब
तक हमारा ग्रेटर दन इक्वल टू 1 नहीं रहता
i - माइनस और हर बार हम प्रिंट f कर देंगे
परसेंटेज d n अपना i अब सबसे पहले नोट
करने वाली बात कि हमारा जो i था उसको हमने
यहां भी डिक्लेयर किया हुआ है इंट i = 1
और यहां भी डिक्लेयर किया इंट i = 1 तो
क्या एरर आएगा कंपाइलर तो बोलेगा दो बार
आपने सेम वेरिएबल को डिक्लेयर कर दिया
हमने तो सीखा था ये गलत होता है तो यहां
पर एरर नहीं आएगा क्योंकि फॉर लूप के अंदर
जिस भी वेरिएबल को हम यहां पर डिक्लेयर
करते हैं उसकी वैल्यू जो है वो उस फॉर लूप
तक ही रहती है यानी जैसे ही आपने देखा
होगा कि शुरुआत में सम की जगह मैंने यहां
पे i प्रिंट करवाने की कोशिश की थी पर
मेरे i की वैल्यू सिर्फ इस ब्लॉक के अंदर
है इस ब्लॉक से बाहर मैं अपने आ को यूज
नहीं कर सकती तो इस ब्लॉक के बाहर कंपाइलर
को पता ही नहीं आई क्या है इसीलिए यहां पर
i को यूज नहीं किया जा सकता यहां पर सिर्फ
सम को ही यूज किया जा सकता है इसीलिए i की
जो लाइफ टाइम था वो यहीं पर खत्म हो गया
तो यहां पे कंपाइलर को पता ही नहीं है कि
आ क्या है तो हम एक नया वेरिएबल आ दोबारा
से डिक्लेयर कर सकते हैं जिसको हमने किया
है i की वैल्यू वैल्यू को इनिश इज किया है
n के साथ यानी n ती होगा तो i शुरुआत में
तीन होगा n5 होगा तो शुरुआत में n5 होगा
फिर कंडीशन स्टेटमेंट हमारी ये जब तक i >
= 1 नहीं रहता i माइनस माइनस और उसके बाद
प्रिंट करवा रहे हैं हम i को तो इसको सेव
कर लेते हैं और करते हैं रन तो इस बार अगर
हमने थ्री दिया तो सबसे पहले तो सम इज
सिक्स पर प्रिंट होगा उसके बाद थ्री से
लेकर वन तक उल्टी काउंट में मतलब रिवर्स
ऑर्डर में हमारे सारे नंबर्स हमारे पास
प्रिंट हो कर आएंगे अब ये सारा का सारा
काम जो है ना हमने जो दो फॉर लूप में काम
किया इसको हम एक सिंगल फॉर लूप में भी कर
सकते थे कैसे इसको तो कर देते हैं कॉमन
डाउट और यहां पे क्या करते हैं एक और नया
वेरिएबल बनाते हैं j = n तो इस तरीके से
हम फॉर लूप के अंदर मल्टीपल वेरिएबल को
इनिश इइ कर सकते हैं तो i = 1 एंड j = n
अब यहां पर i इ < इक्व n जब तक नहीं होता
एंड एंड हमारा j इज ग्रेटर दन इक्वल ट 1
जब तक है और हर बार i को प्लस प्लस कर रहे
हैं तो j को माइनस माइनस कर देंगे और हर
बार प्रिंट करवा लेंगे हम अपने j को फर के
अंदर इस फॉर लूप को कंप्लीट अब हटा सकते
हैं अब ध्यान से सुनते हैं इसके अंदर क्या
हुआ ऑलरेडी हमारे पास एक वेरिएबल था i
जिसकी वैल्यू वन से शुरू हो रही थी इस बार
हमने एक नया वेरिएबल डाला और इसको नाम
दिया j j की वैल्यू हमने शुरू करा दी n के
साथ इस आ का काम होगा सम कैलकुलेट करना इस
j का काम होगा नंबर्स को रिवर्स ऑर्डर में
प्रिंट करवाना i की कंडीशन है कि i जब जब
तक लेस दन n ना रहे j की कंडीशन है कि j
जब तक ग्रेटर दन व ना रहे तब तक रिवर्स
ऑर्डर में चीजें प्रिंट होती रहे तो हमें
पता है कि जब तक i हमारा वन से लेकर n तक
जाएगा तब तक j हमारा n से लेकर वन तक आएगा
तो इक्वल टाइम लगने वाला है इसलिए हमने
यहां पर एंड लगा दिया दोनों कंडीशंस के
बीच में यानी दोनों हमारी ट्रू होनी चाहिए
हर बार हम i को प्लस प्लस कर रहे हैं
क्योंकि सम कैलकुलेट कर रहे हैं तो हर बार
हम j को माइनस माइनस भी कर सकते हैं
क्योंकि हम अपने नंबर्स को रिवर्स ऑर्डर
में प्रिंट कर रहे हैं तो अब इसको करते ते
हैं सेव और इसको करते हैं रन रन करके अब
हमारे पास प्रिंट होकर आया 3 2 1 और एंड
में प्रिंट हुआ सम इज सिक्स पहले क्या हो
रहा था सम इज सिक्स पहले प्रिंट हुआ था
नंबर्स बाद में प्रिंट हुए थे अबकी बार
नंबर्स पहले प्रिंट इसलिए हुए क्योंकि सम
जब तक पूरा कैलकुलेट हो रहा है और फिर
प्रिंट हो रहा है सम के प्रिंट होने से
पहले नंबर्स के प्रिंट होने की स्टेटमेंट
है साथ के साथ हम क्या कर सकते हैं इस आय
को कंप्लीट हटा भी सकते हैं आय को अगर हम
कंप्लीट हटा दें तो उससे क्या होगा j जो
है हमारा उसकी वैल्यू n से लेकर 1 तक जा
रही है अब चाहे हम 1 2 3 का सम ले या हम 3
टू 1 का सम ले दोनों का सम अल्टीमेटली छह
हमारे पास आने वाले है तो दोनों के सम की
वैल्यू इक्वल होगी इसीलिए लूप को हम वन से
लेकर n तक जा रहे हैं या n से लेकर व तक
जा रहे हैं वो फर्क नहीं पड़ेगा अगर हम सम
कैलकुलेट कर रहे हैं तो यहां पर हम सम में
कर देंगे सम = सम + j तो यह 1 + 2 + 3
होने के बजाय 3 + 2 + 1 हो जाएगा तो इसको
एक बार सेव कर लेते हैं
और इसको रन करते
हैं तो हमारे पास सेम आउटपुट आएगा दैट इज
3 टू 1 और सम हमारे पास सही कैलकुलेट होगा
दैट इज सिक्स तो इस तरीके से हमारा फॉर
लूप काम करता है और अलग-अलग चीजें हम उसके
अंदर कर सकते हैं अब नेक्स्ट अगर सवाल की
बात करें तो नेक्स्ट सवाल है प्रिंट द
टेबल ऑफ अ नंबर इनपुट बाय द यूजर यूजर
हमें एक नंबर दे रहा होगा उसकी हमें टेबल
प्रिंट करनी है जैसे यूजर ने टू दिया तो
टू की हम टेबल प्रिंट करेंगे कैसे सबसे
पहले प्रिंट करेंगे टू फिर फोर फिर सिक्स
फिर 8 10 12 14 16 18 एंड 20 अगर यूजर ने
हमें दिया 42 तो 42 की हमें टेबल प्रिंट
करनी पड़ेगी जो ओबवियसली मैं जल्दी-जल्दी
नहीं कर पाऊंगी तो अभी तक हमने क्या किया
है एक फॉर लूप हमने लिख लिया जिसके अंदर
अपनी कंडीशन बता दी i = 1 i इ < = n i +
और उसके अंदर हम क्या करते थे अपने आई को
प्रिंट कर लेते थे प्रिंट आई करके पर इस
बार हम प्रिंट नहीं करेंगे आ को इस बार हम
कुछ और फंक्शन परफॉर्म कर रहे होंगे और व
फंक्शन क्या होगा जैसे 2 को हम 2 मल्ला बा
1 भी लिख सकते हैं 4 को लिख सकते हैं 2
मल्ला बा 2 6 को हम लिख सकते हैं 2 म बा 3
क्योंकि ये सारी की सारी क्या है टू की
टेबल है अब एक चीज देखें तो यहां पर ये जो
टू है यह तो कांस्टेंट रह रहा है पर ये जो
हमारा वेरिएबल है ये तो बढ़ता जा रहा है
पहले वन था फिर टू था फिर 3 4 5 अगले में
6 7 8 9 10 तो ये जो वैल्यू है ये बढ़ती
जा रही है तो ओबवियसली ये नंबर हमारा
इटरेटर नहीं होगा यह नंबर हमारा आइट र आ
होगा आइट मेटर वो होता है जिसकी वैल्यू
चेंज होती रहती है अपडेट होती रहती है तो
यह नंबर हमारा आइट मेटर आ होगा तो इस कोड
में क्या करेंगे अपने आइट र आ की वैल्यू
को वन से शुरू करेंगे और उसको 10 तक लेकर
जाएंगे 10 तक लेकर जाएंगे और हर बार
प्रिंट करवा देंगे अपना नंबर मल्टीप्लाइज
आइट मेटर तो पहले नंबर 2 * 1 मल्टीप्लाई
होके प्रिंट होगा फिर 2 * 2 मल्टीप्लाई
होके प्रिंट होगा फिर 2 * 3 मल्टीप्लाई
होके प्रिंट होगा और इस तरीके से अपने
नंबर की हम पूरी की पूरी टेबल प्रिंट करवा
देंगे इसके लिए कोड लिखते हैं सबसे पहले
एंटर करा लेंगे अपना नंबर नंबर हमने एंटर
करा लिया उसके बाद एक लूप लिखते हैं फॉर
इंट i = 1 आ जब तक हमारा लेसन इक्वल टू 10
नहीं रहता i + 10 क्योंकि टेबल को हम वन
से लेकर 10 तक ही मान रहे हैं और हर बार
हम प्रिंट करवा रहे होंगे परसेंटेज d ब n
n * आ नंबर * आ इसको कर लेते सेव और रन
सबसे पहले अगर नंबर हम डालें टू तो टू की
पूरी टेबल हमारे पास प्रिंट होग आ जाएगी
अब जो काम मैं नहीं कर पाई थी वो कंप्यूटर
हमें करके दे देगा यानी टेबल ऑफ 42 ये
मुझे प्रिंट करके देगा तो ये 42 की पूरी
की पूरी टेबल हमारे पास प्रिंट होकर आ गई
है बहुत जल्दी-जल्दी तो इस तरीके से अगर
किसी भी नंबर की टेबल हमें प्रिंट करवानी
है तो उसको सी की हेल्प से हम प्रिंट करवा
सकते हैं अपनी स्क्रीन के ऊपर तो कभी भी
मैथ की कैलकुलेशन हो रही हो और कैलकुलेटर
आसपास ना हो और दिमाग खुद चलाना नहीं हो
बाहर ले जाता था यानी वो जो पूरा ब्लॉक चल
रहा होता था उससे हमें एग्जिट करवा देता
था उसकी वजह से सारे के सारे केसेस जो हैं
उनकी कंडीशन ऑन नहीं हो पाती थी इसीलिए
ब्रेक स्टेटमेंट यानी ब्रेक हमने जहां भी
लिख दिया उसका मेन मतलब है कि हमें एग्जिट
करना है अब लूप को जहां से भी लूप से हमें
बाहर निकलना हो वहां पर हम लिख दें ब्रेक
जैसे फॉर एग्जांपल अगर हमने एक कोड लिखा
है एक फॉर लूप लिखा है जिसके अंदर हम वन
से लेकर फाइव तक नंबर्स को प्रिंट करवा
रहे हैं फॉर इंट i = 1 i लेस इक्टू 5 आ प्
प्लस अब इसमें हम प्रिंट करवा
देंगे परसेंटेज डी ब स् ए
आ अब यहां पर अगर हम बीच में कंडीशन लिखते
इफ आ इ इक्वल टू इ इक्व ट 3 यानी आ जैसे
ही थ्री हो जाए ये इफ कंडीशन का काम है कि
ये चेक कर रहा है जैसे ही i3 हो जाए यहां
से हम कर जाए ब्रेक ब्रेक मतलब इस पूरे के
पूरे लूप से हम बाहर निकल के आ जाएं और
लास्ट में हम प्रिंट करवा दें एंड इसको कर
लेते हैं सेव और एक बार रन करके आउटपुट को
एनालाइज करते हैं हमारे पास प्रिंट हुआ वन
2 और एंड ये कैसे प्रिंट हुआ पहले i की
वैल्यू हमारे पास वन थी जैसे ही i की
वैल्यू वन थी हम लूप के अंदर गए i की
वैल्यू थ्री है क्या नहीं नहीं थ्री नहीं
है तो ये ट्रू नहीं होगा हमने प्रिंट करवा
दिया वन को i हो गया अपडेट i की वैल्यू हो
गई टू i2 हुआ तो ये कंडीशन फिर से फॉल्स
तो यहां पर प्रिंट करवा दिया टू को फिर i
की वैल्यू अपडेट होकर हुई थ्री जैसे ही i
की वैल्यू थ्री हुई ये इफ कंडीशन हो गई
ट्रू फिर हम आए ब्रेक पर ब्रेक पर जैसे ही
आए ब्रेक क्या करता है लूप से एग्जिट
कराता है तो इस फॉर लूप से हम पूरा बाहर
निकल गए और यहां पर आ गए और हमने प्रिंट
करवा दिया एंड यानी ये बाकी की जो कंडीशंस
थी या बाकी की जो अपडेशन थी हमने फिर इस
इस स्टेटमेंट को नहीं देखा कंडीशन को
टर्मिनेशन की ना हमने अपडेशन को देखा हमने
कुछ भी नहीं देखा अंधे होकर हम अपने फॉर
लूप से पूरी तरह बाहर आ जाएंगे और फिर
बाहर जो भी लिखा होगा फिर उसको एग्जीक्यूट
करेंगे तो ब्रेक का काम होता है जब आपको
अपने फॉर लूप को या डू लूप डू वाइ लूप को
या फिर वाइ लूप को जब भी बीच से बिल्कुल
काट देना है उसमें से बाहर निकल के आना है
कंप्लीट तब हम वहां पर ब्रेक लिख देते हैं
तो हम उससे कंप्लीट ब्रेक हो जाएंगे
एग्जिट हो जाएंगे इसके लिए एक सवाल करते
हैं सवाल का नाम है कीप टेकिंग नंबर्स एज
इनपुट फ्रॉम यूजर अंट्स एन ऑड नंबर तो
सवाल में हमें क्या करना है यूजर से
कुछ-कुछ नंबर्स हमें इनपुट लेते रहना है
जैसे यूजर ने एंटर किया 2 4 10 16 18 और
तब तक यूजर से नंबर्स इनपुट लेते रहना जब
तक यूजर एक ऑड नंबर नहीं एंटर करता यानी
अगर उसने सेवन एंटर कर दिया तो यहां पर हम
स्टॉप कर जाएंगे या फिर ब्रेक कर जाएंगे
तो तब तक यूजर से नंबर्स इनपुट लेने हैं
जब तक वो कोई ऑड नंबर एंटर नहीं करना अब
इसके लिए जब भी यूजर से कुछ इनपुट लेना
होता है ना और उसके लिए कंडीशन चलानी होती
है हम हमेशा प्रेफर करते हैं डू वाइल लूप
डू वा लूप क्यों क्योंकि अभी हमारा काम
क्या है यूजर से इनपुट लेना नंबर नंबर एक
बार इनपुट ले लेंगे तभी तो उस परे कुछ
कंडीशन लगा के चेक कर पाएंगे इसीलिए पहले
काम कर लो फिर कंडीशन लगाओ तो इसलिए यहां
पर डू वाइल का हल्का सा हम लॉजिक बिल्ड
करने की कोशिश करते हैं बाकी आप किसी भी
लूप के अंदर अपने इस सेम सवाल को कर सकते
हैं सबसे पहले हम क्या करेंगे एक डू वाइ
लूप बनाएंगे तो डू और बाद में लिख देंगे
वाइल अब इस डू वाइल लूप के अंदर काम हमें
क्या करना है काम करना है एक नंबर को बार
बार बारबार इनपुट लेने का तो ऊपर एक
वेरिएबल डिफाइन कर देते हैं इंट n यह है
हमारा नंबर और हर बार अपने डू लूप के अंदर
डवा लूप के अंदर स्कैनफ से नंबर को हम ले
लेंगे इनपुट परसेंटेज डी कॉमा एंड n तो इस
तरीके से हर बार नंबर इनपुट में आ गया और
जस्ट फॉर फन हम इस नंबर को आउटपुट भी करा
देते हैं परसेंटेज डी कि हमारे पास क्या
नंबर आया बै n n और कंडीशन हमें क्या रखनी
है कंडीशन इस केस में या तो हम ये रख सकते
हैं कि जैसे ही हमारा n क्या हो हमारा n
ऑड हो जाए वैसे ही हम बाहर निकल जाएं पर
इस केस में कंडीशन में हम सिर्फ लिख देते
हैं वन कंडीशन में वन लिखने का मतलब क्या
है कि हम ट्रू लिख रहे हैं हर बार कंडीशन
ट्रू होगी चाहे कुछ भी आया हो नंबर हम
हमेशा ट्रू अपनी कंडीशन के अंदर डाल रहे
हैं अभी तक हमने जो लूप बनाया है ये डू
वाइ लूप एक इंफाइटिंग
जब तक हमारी कंडीशन फॉल्स नहीं हो जाती पर
कंडीशन तो कभी फॉल्स ही नहीं होगी क्योंकि
वहां पर हमने वन डाल दिया
पर इसके अंदर से बचने का एक तरीका है कि
हम ब्रेक कर जाएं और ब्रेक कैसे करेंगे
ब्रेक करेंगे अपनी कंडीशन आने पर यानी
जैसे ही यूजर ने एक ऐसा n एंटर कर दिया जो
एक ऑड नंबर है ऑड नंबर कैसे चेक करेंगे n
परसेंटेज मॉड्यूल 2 = = 0 यहां पर आएगा
नॉट इक्वल टू 0 उस केस में हम कर जाएंगे
ब्रेक थोड़ा सा इसको समझते हैं हमने एक
वेरिएबल डिफाइन किया एंड जिसके अंदर अप
अपना नंबर जो है इनपुट लेने वाले हैं फिर
एक डू वाई लूप बनाया सबसे पहले हम स्कैन
कर रहे हैं अपने नंबर को इससे ऊपर हम एक
और प्रिंट की स्टेटमेंट लिख देते हैं एंटर
नंबर एंटर करके हमने नंबर जो है यूजर से
ले लिया है उसके बाद उस नंबर को वापस
प्रिंट भी करवा दिया कि यूजर ने क्या
प्रिंट किया था उसके बाद हम चेक कर रहे
हैं कि वो नंबर ऑड है या इवन है इस कंडीशन
में हम चेक कर रहे हैं वो नंबर ऑड है क्या
यानी n मॉड्यूल टू अगर जीरो के इक्वल नहीं
आया तो मतलब वो नंबर एक ऑड नंबर है जैसे
ही ऑड नंबर आएगा ब्रेक कर जाएंगे ब्रेक कर
गए यानी लूप के बाहर निकल गए और एंड में
निकल कर हम कुछ भी प्रिंट करवा सकते हैं
मान लीजिए एंड में निकल के प्रिंट करवा
देते हैं हम थैंक यू तो ये डू वाई लूप तब
तक चलेगा जब तक हमारा यूजर जो है इवन
नंबर्स को एंटर करता रहेगा इसको कर लेते
हैं सेव और इसको करते हैं रन एंटर करते
हैं नंबर टू हमने एंटर किया नेक्स्ट टाइम
तो टू हमारे पास प्रिंट होकर आ गया अब
नेक्स्ट टाइम हम फोर एंटर करते हैं तो फोर
हमारे पास प्रिंट होकर आ गया अबके बाद
सिक्स एंटर करते हैं सिक्स प्रिंट होके आ
गया 18 एंटर करते हैं 18 आ गया हम 20 एंटर
करते हैं तो 20 आ गया पर एक ऑड नंबर डालते
हैं थ्री हमने डाल दिया तो यहीं पर प्रिंट
हो गया थैंक यू और यहीं पर हमारा
प्रोग्राम हो गया खत्म तो इस तरीके से हम
एक ऐसा लूप बना सकते हैं जो जो यूजर के
इनपुट से कंट्रोल होगा तो यूजर जो जो हमें
इनपुट देगा उस हिसाब से हम चेंजेज कर रहे
हैं उस हिसाब से हम अपना लूप रन कर रहे
हैं अब नेक्स्ट सवाल जिसकी हम बात करेंगे
वो है कीप टेकिंग नंबर्स एज इनपुट फ्रॉम
यूजर अंट्स अ नंबर व्हिच इज अ मल्टीपल ऑफ़
सेवन यानी यूजर से तब ब तक इनपुट लेते
जाना है जब तक यूजर ऐसा नंबर ना एंटर कर
दे जो मल्टीपल ऑफ़ सेवन है जो सेवन की
टेबल में आता है तो बहुत ही सिंपल है
बिल्कुल एगजैक्टली जैसा हमने अभी कोड लिखा
है बिल्कुल वैसा है बस थोड़ी सी वैल्यूज
चेंज करनी है ये एंटर तो हम नंबर करवाते
रहेंगे बस कंडीशन ब्रेक करने की क्या
रहेगी जैसे ही n मड 7 इक्वल टू इक्वल टू 0
हो जाए इस कंडीशन का मतलब है नंबर n इज अ
मल्टीपल ऑफ 7 वैसे ही हम कर जाएंगे ब्रेक
तो इसको भी रन कर लेते हैं
कंपाइल रन सबसे पहले एंटर कर रहे हैं
सिक्स चल रहा है कोड थ्री एंटर किया थ्री
में भी चल रहा है 12 एंटर किया 12 में भी
चल रहा है पर जैसे ही 14 में एंटर कर दूं
तो थैंक यू प्रिंट हो जाएगा क्यों यहां पर
कोड खत्म क्यों कि क्योंकि 14 हमारा सेन
का मल्टीपल है 7 * बा 2 इज 14 तो यहां पर
ये मॉडलो जो है वो रो के इक्वल आ गया तो
यहां से हम कर गए ब्रेक ब्रेक कर गए मतलब
लूप की और कोई लाइन चले गई नहीं और लूप के
जो बाहर लिखा हुआ है अब वो एग्जीक्यूट
होना शुरू होगा अब एक और स्पेशल चीज ब्रेक
के बारे में ब्रेक जो है हमारा वो नेस्टेड
लूप से भी हमें एग्जिट करा देता है यानी
आपने एक फॉर लूप के अंदर कुछ-कुछ चीजें
लिखी हैं और उसके अंदर आपने लिखा है अपना
दूसरा फॉर लूप इसके अंदर कुछ-कुछ चीजें
लिखी हैं तो अगर ब्रेक यहां पर लिखा हुआ
है तो ये इस लूप से भी बाहर निकाल देगा और
इस लूप से भी बाहर निकाल देगा और यहां
वाली स्टेटमेंट्स हमारी रन होंगी तो ब्रेक
को जब भी इस्तेमाल करना है बहुत सोच समझ
के इस्तेमाल करना है कि आपके
जो प्रोग्राम है उसका फ्लो उसका कंट्रोल
किस तरीके से चेंज होने वाला है नेक्स्ट
हम पढ़ने वाले कंटिन्यू स्टेटमेंट के बारे
में ब्रेक से उल्टा है कंटिन्यू ब्रेक
कहता है यहां पे सारा काम रोक दो और आगे
बढ़ जाओ कंटिन्यू कहता है बस अभी वाला काम
रोकना है आगे वाला काम शुरू कर दो तो जब
भी हमें स्किप करना होता है टू नेक्स्ट आ
इटरेशन जब भी अगली बार में स्किप करना
चाहते हैं तो हम लिख देते हैं कंटिन्यू
यानी अभी की बारी की जो सारी लाइंस है वो
तो हट जाएंगी अगली बारी वाली रन होंगी
इसका एक एग्जांपल लिखते हैं कोड लिखकर
चीजें ज्यादा अच्छे से समझ में आएंगी फॉर
इंट i = 1 i इ ले इक्ट 5 i प् प्लस अब हम
वन से लेकर फाइव तक सारे नंबर्स को प्रिंट
करवाना चाहते हैं पर थ्री जो नंबर है ना
उससे हमें बड़ी नफरत है बड़ा अनलकी लगता
है उसको प्रिंट नहीं करवाना बाकी सारों को
प्रिंट करवाना है तो यहां क्या लिख सकते
हैं अगर सबसे पहले तो प्रिंट स्टेटमेंट
लिख देते हैं अपने सारे नंबर्स की लिख
देते हैं परसेंटेज d ब n और हमारा नंबर n
या हमारा नंबर आ और सबसे ऊपर चेक कर लेते
हैं अगर हमारा जो आ है इज इक्वल टू इक्वल
टू 3 हो जाता है तो ये अनलकी नंबर आ गया
हमारा इसको हम प्रिंट नहीं करवाएंगे तो उस
केस में हम कर देंगे कंटिन्यू अगर यहां पर
ब्रेक लिख देते तो मतलब इस लूप से हम
कंप्लीट बाहर आ जाते तो फोर और फाइव तो
प्रिंट होता ही नहीं मतलब थ्री तो होता ही
नहीं पर फर फ भी नहीं होता पर हमने लिख
दिया कंटिन्यू कंटिन्यू से देखते हैं क्या
आउटपुट आता है कंटिन्यू से आउटपुट आया 1 2
3 हमारा स्किप हो गया और 45 आ गया तो जब
भी हमें किसी चीज को स्किप करवाना होता है
कुछ पर्टिकुलर सेट ऑफ लाइंस को हम स्किप
करवाना चाहते हैं उनको छोड़ना चाहते हैं
और अगली आइट एशन पर जाना चाहते हैं तब
वहां पर हम कंटिन्यू का इस्तेमाल करते हैं
कंटिन्यू कहता है आगे कंटिन्यू करो अभी
वाली चीज को जाने दो अभी वाली चीज को छोड़
दो तो ये बेसिक मतलब है हमारे कंटिन्यू का
अब इसका अगर हम सवाल करें तो प्रिंट ऑल
नंबर्स फ्रॉम वन टू 10 एक्सेप्ट फॉर सिक्स
यानी छह के अलावा सारे वन से लेकर 10 तक
नंबर्स प्रिंट करने हैं इसको कैसे करेंगे
सिंपली यहां पे लिख देंगे बस कंडीशन में
वन से लेकर 10 अपनी स्किप वाली कंडीशन में
लिखेंगे जब i इ 6 हो जाए तो कर दो स्किप
या कंटिन्यू तो हम रन करें तो आउटपुट
हमारे पास आ गया वन से लेकर फ तक नंबर्स आ
गए और सेन से लेकर 10 तक नंबर्स आ गए
सिक्स हमारा स्किप हो गया है उसको हमने
प्रिंट नहीं किया नेक्स्ट सवाल की अगर बात
करें प्रिंट ऑल द ऑड नंबर्स फ्रॉम 5 टू 50
यह हमारा सवाल है पा से लेके 50 के बीच
में जितने भी ऑड नंबर्स आते हैं उन सबको
हमें प्रिंट करना है प्रिंट करने के लिए
कोड लिखते हैं
फॉर इंट आ
=
0 आ इज लेस देन इस बार इनिश जीरो से नहीं
पांच से करेंगे और आ लेन इक्वल टू जब तक
50 रहता है आ को कर देंगे हर बार प्लस
प्लस अब जब भी हमारा आ जो है वो एक ऑड
नंबर है तब हमें उसको प्रिंट करना है इवन
है तो प्रिंट नहीं करना इसको करने के
मल्टीपल तरीके हो सकते हैं आप इस सेम सवाल
को कंटिन्यू की हेल्प से भी कर सकते हैं
सेम सवाल को उल्टे तरीके से भी कर सकते
हैं यानी जिस तरीके से मैं करके दिखाऊंगी
उससे ऑपोजिट कंडीशंस को लेकर तो एक ही
सवाल को करने के मल्टीपल तरीके होते हैं
और जब हम शुरुआती स्टेज में है ना
प्रोग्रामिंग के तो हमें मल्टीपल तरीके
एक्सप्लोर जरूर करने चाहिए एक तरीके से एक
सवाल कर लिया अब कोशिश करनी है उसको दूसरे
तरीके से करके देखूं पहले इज इक्वल टू इज
इक्वल टू चेक किया था अब नॉट इक्वल टू से
करके देखता हूं सवाल को इस तरीके से जब भी
प्रोग्रामिंग करते हैं ना शुरुआत में तो
और ज्यादा हमारी एक तो क्रिएटिविटी और
लॉजिकल पावर बहुत ज्यादा बढ़ती है क्योंकि
हम मल्टीपल केसेस इमेजिन कर रहे होते हैं
सेम सिचुएशन के साथ के साथ जब प्लेसमेंट
के टाइम पर या कॉलेज के टाइम पर आपको कोई
कोडिंग क्वेश्चन दिया होगा ना करने के लिए
तो उसमें क्या-क्या आपके कॉर्नर केसेस आ
सकते हैं कहां-कहां आपका कोड फस सकता है
वो वाली कंडीशन स्टेटमेंट्स आप बहुत अच्छे
से इमेजिन कर पाएंगे तो सवाल के अंदर
बढ़ते हैं सबसे पहले हम चेक करना है कि
क्या हमारा नंबर ऑड है ऑड चेक करने के लिए
क्या करेंगे आ मॉडलो टू अगर नॉट इक्वल टू
0 है तो मतलब हमारा नंबर क्या है ऑड तो
यहां
पर हम लिख देंगे अपनी कंडीशन कंडीशन के
अंदर क्या करना है अगर ऑड है तो उसको
प्रिंट करवा देंगे परसेंटेज d n i नहीं तो
एल्स के अंदर क्या करना है एल्स के अंदर
कुछ भी नहीं करवाना एल्स के अंदर एल्स को
लिखने की जरूरत नहीं है क्योंकि एल्स के
अंदर कुछ करवाना ही नहीं है हमें तो इसको
कर लेते हैं सेव और इसको करते हैं अपने
टर्मिनल से रन आउटपुट हमारे पास क्या आया
5 7 9 11 और आप ध्यान से ऑब्जर्व करेंगे
ये सारे के सारे ऑड नंबर्स हैं जो 5 से
लेकर 50 के बीच में एजिस्ट करते हैं तो इस
तरीके से भी हम कोड लिख सकते हैं नेक्स्ट
सवाल कहता है प्रिंट द फैक्टोरियल ऑफ अ
नंबर n यानी एक नंबर n है उसका फैक्टोरियल
प्रिंट करना है सबसे पहले बात कर लेते हैं
फैक्टोरियल नाम की चीज होती क्या है किसी
भी नंबर का फैक्टोरियल होता है उस नंबर को
वन से लेकर सारे एक एक डिक्रीज करते करते
मल्टीप्लाई कर देना जैसे अगर हम
फैक्टोरियल ऑफ वन निकाले मैथ के अंदर वन
एक्सक्लेमेशन मार्क को वन फैक्टोरियल कहते
हैं तो वो होगा वन 2 फैक्टोरियल निकाले तो
वो होगा 1 ल्ड बा 2 3 फैक्टोरियल निकाले
तो वह होगा 1 * 2 * 3 = 6 यह होगा = 2 4
फैक्टोरियल होगा 1 म 2 * 3 * 4 = 24 5
फैक्टोरियल होगा 1 * 2 * 3 * 4 * 5 = 120
तो इस तरीके से हमारे फैक्टोरियल्स
कैलकुलेट होते हैं अब यहां पर जो
मल्टीप्लिकेशन है वो या तो हम वन से लेकर
फाइव तक मल्टीप्लाई कर सकते हैं या फाइव
से लेकर वन तक मल्टीप्लाई कर सकते हैं
मल्टीप्लाई एक नंबर को दूसरे नंबर से करने
पर सेम आउटपुट आता है मतलब a * b भी सेम
रहता है b * a भी सेम रहता है और प्लस में
भी सेम रहता है माइनस और डिवाइड में सेम
नहीं रहता तो किसी भी नंबर का अगर हमें
फैक्टोरियल निकालना है तो उसके लिए सिंपली
एक लूप लगा दें लूप कहां से शुरू हो हमारे
नंबर से ही शुरू हो जाए इंट i = 1 से शुरू
हो जाए और n तक चले जाए वन से लेकर n तक च
ले जाएंगे या n से लेकर वन तक ले जाएंगे
या वन से लेकर n है तो i प्लस प्लस कर
देंगे हर बार और एक और वेरिएबल ले लेंगे
फैक्टोरियल फैक्टोरियल वेरिएबल को इनिश इइ
करेंगे वन के साथ जब हमने सम किया था वन
से लेकर एंड तक का तो उसको रो से
इनिशियलिज्म
करते हैं वन से क्यों
इनिशियलिज्म कर दिया वो तो रो हो जाएगा
इसीलिए जब भी सम लेना हो तो रो से
इनिशियलिज्म करना हो तो वन से
इनिशियलिज्म
मल्टीप्लाई कर देंगे अपने नंबर आ को हर
बार यह वाला कोड जो है वह सम वाले कोड के
काफी सिमिलर लग रहा होगा सम में हम क्या
करते थे सम + i यहां पर हम क्या कर रहे
हैं फैक्टोरियल = फैक्टोरियल मल्टीप्ला
बाय i और इस तरीके से फाइनल फैक्टोरियल की
जो वैल्यू निकलेगी ना वो हमारा नंबर का
फैक्टोरियल हो जाएगा तो इसको भी हम करके
देख लेते हैं कोड कोड करने के लिए सबसे
पहले तो ऊपर हमें एक नंबर क्रिएट करना है
इंट n फिर प्रिंट कर देंगे एंटर
नंबर उसके बाद स्कैन कर लेंगे अपने नंबर
को परसेंटेज डी m परसेंट n और अब क्या
करेंगे एक लूप रन करेंगे लूप रन करने से
पहले एक और वेरिएबल डिफाइन कर लेते हैं
इंट फैक्टोरियल = 1 अब लूप के अंदर सबसे
पहले इनिश इज करेंगे i को वन के साथ i इ <
इ n i + प् और लूप का काम क्या है
फैक्टोरियल कैलकुलेट करना तो फैक्टोरियल इ
इक्वल टू फैक्टोरियल मल्टीप्ला बा i और
एंड में हमारा जो फाइनल फैक्टोरियल होगा
उसकी वैल्यू प्रिंट कर देंगे फाइनल
फैक्टोरियल इज परसेंटेज d व्हिच इज़ आर
फैक्ट अब एक चीज फैक्टोरियल के बारे में
हमें काफी ध्यान रखनी है वह यह कि
फैक्टोरियल की वैल्यू ना मल्टीप्लाई हो हो
के बढ़ती है जैसे सम में बहुत कम चेंज आता
है अगर आप 10 में पांच ऐड करेंगे तो
वैल्यू बस 15 होगी जो छोटी वैल्यू है पर
आप 10 को मल्टीप्लाई कर देंगे पाच के साथ
तो वैल्यू 50 हो जाएगी इसीलिए अगर
फैक्टोरियल जो है वह काफी तेजी के साथ
मतलब ऑलमोस्ट एक्सपो शियली बढ़ते हैं
इसीलिए जो आपका इंट है इस इंट डे डेटा
टाइप का अगर आप फैक्टोरियल बना रहे हैं तो
उसके अंदर बहुत कम नंबर्स होंगे जिनको
फैक्टोरियल स्टोर कर पाएंगे यानी अगर आप
इसमें कोई बड़ा नंबर दे देंगे जैसे आप
निकालना चाह रहे हैं 50 फैक्टोरियल तो उस
केस में इंट बहुत छोटा पड़ जाएगा उसको
स्टोर कराने के लिए तो आपको बिगर डेटा
टाइप्स यूज करने पड़ेंगे और कुछ-कुछ केसेस
में तो फैक्टोरियल इतना ज्यादा बड़ा हो
जाएगा कि कोई भी नंबर वाला डाटा टाइप उसको
स्टोर ही नहीं कर पाएगा तो उसको करने के
अलग तरीके होते हैं वो आपका कंपीटेटिव
प्रोग्रामिंग या एक्सट्रीम डीएसए वाली
साइड में चला जाता है जब आप स्ट्रिंग में
फैक्टोरियल स्टोर करा रहे होते हैं पर सी
के अंदर तो स्ट्रिंग्स भी नहीं होती तो
आपका कैरेक्टर एरे यूज़ होगा ये सारी
बातें क्या है ये हम डिटेल में आगे वाले
चैप्टर्स में पढ़ रहे होंगे अभी के लिए जो
दूसरी लैंग्वेजेस से आ रहे हैं उनको
ज्यादा अच्छे से समझ में आ रहा होगा बेसिक
इसका ये है कि इस प्रोग्राम को जब रन
करेंगे ना तो बड़े नंबर्स नहीं देने
फैक्टोरियल कैलकुलेट करने के लिए छोटे
नंबर्स का फैक्टोरियल कैलकुलेट करेंगे तो
वो हमारा प्रोग्राम हमें करके दे देगा अब
यहां पर इस कोड को कर लेते हैं सेव और
इसको करते हैं अब रन सबसे पहले कैलकुलेट
करते हैं तीन का फैक्टोरियल फाइनल
फैक्टोरियल इज सिक्स व्हिच इज करेक्ट अब
अगर हम रन करना चाहे 5 का फैक्टोरियल इज
120 यह भी सही है 6 का फैक्टोरियल हम
निकालें तो दैट इज 720 अब मान लीजिए हम
शैतानी दिमाग है और हम 50 एंटर करना चाह
रहे हैं तो हमारे पास रो आएगा क्यों
क्योंकि जो फाइनल फैक्टोरियल था वो नंबर
एक्सीड कर गया है इस डेटा टाइप को इसके
अंदर स्टोर ही नहीं हो पाया इसलिए बड़े
नंबर्स के साथ टेस्ट नहीं करना छोटे
नंबर्स के साथ हम टेस्ट कर सकते हैं
नेक्स्ट सवाल जिसकी बात करेंगे यह है
प्रिंट द रिवर्स ऑफ अ टेबल फॉर अ नंबर n
यानी यूजर हमें यह नंबर n देगा इसकी हमें
टेबल प्रिंट करनी है पर सीधी टेबल प्रिंट
नहीं करनी रिवर्स ऑर्डर में करनी है जैसे
यूजर ने दिया n = 2 तो हम प्रिंट करेंगे
20 फिर 18 16 14 12 10 8 6 4 2 इस तरीके
से उल्टे ऑर्डर में टेबल प्रिंट करनी है
तो कुछ नहीं पहले हम क्या करते थे इसको
लिखते थे 2 * 1 2 * 2 2 * 3 2 * 4 अब की
बार शुरुआत कर देंगे 2 * 10 के साथ फिर 2
* 9 2 * 8 और इस तरीके से तो यह जो है यह
हमारा आइट र बन जाएगा अपने लूप के लिए और
हर बार हम वैल्यू को डिक्रीज कर देंगे
यानी i माइनस माइनस इसके लिए भी कोड लिख
लेते हैं यूज़र से हम नंबर एंटर करा लेंगे
एंड उसके बाद प्रिंट करवाने वाले हैं अपने
नंबर की टेबल को तो फॉर इंट इस बार अपने
आइट मेटर को इनिश इज करेंगे अपने नंबर्स
के साथ या सॉरी आइट मेटर को इनिश करेंगे
10 के साथ
फिर i को जब तक ग्रेटर दन इक्वल टू 1
जाएगा i माइनस माइनस और हर बार हम प्रिंट
करवा रहे होंगे परसेंटेज d ब n नंबर
मल्टीप्ला बाय i इसको कर लेते हैं सेव और
इसको करते हैं रन नंबर हम अपना एंटर
करेंगे टू तो यह टू की टेबल पूरी की पूरी
उल्टी हमारे पास प्रिंट होकर आ गई है
स्टार्टिंग फ्रॉम 20 एंड एंडिंग एट टू तो
इस तरीके से अपने रिवर्स ऑर्डर में भी
टेबल्स को प्रिंट करा सकते हैं लास्ट
क्वेश्चन जिसको हम डिस्कस कर रहे होंगे इस
चैप्टर के अंदर उसका नाम है कैलकुलेट द सम
ऑफ ऑल नंबर्स बिटवीन 5 एंड 50 इंक्लूडिंग
5 एंड 50 यानी 5 और 50 को भी गिनना है
पांच से लेकर 50 तक के सारे नंबर्स का सम
हमें कैलकुलेट करके उसको स्क्रीन पर
प्रिंट करवाना है कैसे प्रिंट करवाएंगे इस
पार्ट को हटा लेते हैं और एक वेरिएबल ले
लेते हैं इंट सम = 0 इनिश इजेशन इस बार
होगा पांच से और खत्म कहां तक होगा आ जब
तक लेसन इक्वल ट 15 ही हो जाता और एंड में
कर देंगे i + + और यहां पर कर देंगे सम =
सम + i या फिर इसका शॉर्ट हैंड लिखते हैं
+ = i और एंड में प्रिंट करवा
देंगे सम
को परसेंटेज d i इसको कर लेते हैं सेव एक
बार कोड को थोड़ा सा एनालाइज करते हैं सम
को हमने इनिश इज किया ज़ीरो के साथ अपने
लूप की शुरुआत हमने की पांच के साथ और
उसको एंड किया जब i की वैल्यू 50 हो जाएगी
धीरे-धीरे एक-एक करके इंक्रीज किया पहले
पांच था फिर छह हुआ फिर सात हुआ फिर आठ
हुआ हर बार अपने सम के अंदर प्लस कर देंगे
अपने आ की वैल्यू को यानी 5 + 6 + 7 + 8
टिल हम 50 तक नहीं पहुंच जाते और एंड में
हम प्रिंट करवा देंगे अपने सम की वैल्यू
को इसको कर लेते हैं सेव और इसको रन करके
देखते हैं कंपाइल रन तो पाच से लेकर 50 तक
का सारे नंबर्स का सम हमारे पास आता है 1
2 6 5 और जिन-जिन स्टूडेंट्स को शक हो रहा
है वो मैनुअली खुद बैठकर कैलकुलेट कर सकते
हैं या फिर ग कर सकते हैं तो वो एक अच्छा
तरीका होगा अपने कोड को वेरीफाई करने का
तो अभी के लिए इतने ही प्रैक्टिस
क्वेश्चंस आई होप कि सफिशिएंट है क्योंकि
मेरे ख्याल से जब मैंने अपना सी पढ़ा था
या मैंने प्लेसमेंट के लिए बैठा था तो
इतने में हमारा यह वाला चैप्टर जो है
सफिशिएंट तरीके से हमें समझ आ गया होगा और
होमवर्क प्रॉब्लम हम खुद से बहुत अच्छे से
कर पाएंगे अगर फिर भी डाउट आ रहा है तो एक
बार फिर से हमें हल्का सा रीकैप मारने की
जरूरत है लेक्चर पर मैंने पूरी कोशिश की
है कि जो जो इंपॉर्टेंट कांसेप्ट हैं इंपो
टेंट चीजें हैं जहां-जहां मोस्टली
स्टूडेंट्स गलती करते हैं वो वाले
प्रॉब्लम्स मैंने डिस्कस करने की कोशिश की
है पूरी एंड साथ के साथ उन कांसेप्ट को भी
बहुत अच्छे से मैंने बताने की कोशिश की है
अब इसके बाद हम हल्का सा पॉज ले सकते हैं
हल्का सा ब्रेक ले सकते हैं थोड़ा सा पानी
पी के आ सकते हैं और अपने होमवर्क
प्रॉब्लम्स को सॉल्व कर सकते हैं और इसके
बाद बढ़ने वाले हैं हम अपने चैप्टर फाइव
की तरफ और अब हम बढ़ रहे हैं अपने चैप्टर
फाइव की तरफ जिसका नाम है फंक्शंस एंड
रिकर्स अब फंक्शंस बहुत ज्यादा इंपॉर्टेंट
टॉपिक है जब भी हम किसी भी लैंग्वेज की
बात करते हैं फंक्शन जो है लूप्स की तरह
या हमारी कंडीशनल स्टेटमेंट्स की तरह
बिल्कुल बेसिक कोर प्रोग्रामिंग के
कांसेप्ट में आता है जो बिल्कुल कोर
प्रोग्रामिंग के कांसेप्ट आपको सिखा रहा
होता है जिनको आप सिर्फ सी के अंदर नहीं
दूसरी लैंग्वेजेस के अंदर भी अप्लाई कर
रहे होंगे साथ के साथ रिकर्स की बात करें
तो सी के अंदर हम रिकर्स का बहुत सिंपल
फॉर्म देख रहे होंगे जिसमें अगर कभी आपसे
कॉलेज वाले सवाल पूछते हैं या प्लेसमेंट
वाले सवाल पूछते हैं सी से रिलेटेड तो
बहुत आपसे बेसिक सवाल पूछेंगे लेकिन रिकजन
की असली ताकत हमें तब देखने को मिलती है
जब हम डेटा स्ट्रक्चर्स और एल्गोरिथम सीख
रहे होंगे फिर चाहे वो c+ प में सीखें फिर
चाहे वो जावा के अंदर सीखें अब जब भी हम
डटा स्ट्रक्चर्स एंड एल्गोरिथम सीखते हैं
ना उसमें थोड़े से कॉम्प्लेक्शन आते हैं
जैसे ट्रीज आ गए ग्राफ्स आ गए और काफी
सारी जो चीजें हैं ना जैसे आप
वो फंक्शन की हेल्प से इंप्लीमेंट की जाती
है तो सबसे पहले बात करते हैं कि फंक्शंस
एक्चुअली होते क्या हैं अगर हम घर पे बैठ
के कभी हमने बचपन में टीवी देखा होगा आजकल
तो सब सोशल मीडिया ए
से चैनल पीछे जाता था म्यूट का बटन होता
था टीवी को म्यूट करने के लिए और पावर बटन
होता था टीवी को बंद या चालू करने के लिए
अब उस टीवी के रिमोट को अगर हम सी के अपने
प्रोग्राम से कंपेयर करें तो उसमें जो
डिफरेंट डिफरेंट बटंस होंगे ना हर एक बटन
एक फंक्शन होगा फंक्शन सी के अंदर ऐसा
पार्ट होता है कोड का जो कुछ काम हमें
करके देता है वो हमसे कुछ इनपुट लेता है
फिर काम करता है फिर कुछ आउटपुट देता है
जैसे अगर रिमोट के बटन की बात करें तो
उसको हमने प्रेस किया उसको दबाया वो हम ने
उसको इनपुट दिया फिर उसने हमारे लिए चैनल
चेंज कर दिया या वॉल्यूम बढ़ा दी यह उसने
काम किया या इसी को हम आउटपुट कह सकते हैं
आउटपुट वो हमें एक्स्ट्रा कुछ नहीं दे रहा
उसी तरीके से हमारे फंक्शंस काम करते हैं
c के अंदर और फंक्शंस बहुत पावरफुल होते
हैं जैसे फंक्शन को आसान भाषा में या आप
जो अपने एग्जाम में लिख कर आएंगे उस भाषा
में बात करें तो फंक्शन इज अ ब्लॉक ऑफ कोड
दैट परफॉर्म्स पर्टिकुलर टास्क यानी
फंक्शन हमारे प्रोग्राम का एक वो ब्लॉक
होता है एक वो पार्ट होता है जो किसी
पर्टिकुलर टास्क को परफॉर्म करता है और
सिंपलीसिटी के लिए एक फंक्शन का काम एक ही
होता है जैसे अगर एक फंक्शन है जिसको
वॉल्यूम बढ़ानी है तो वो बस वॉल्यूम ही
बढ़ाएगा वो वॉल्यूम कम नहीं करेगा या वो
चैनल चेंज नहीं करेगा दूसरा फंक्शन जिसका
काम है टीवी को म्यूट करना वो बस टीवी को
म्यूट ही करेगा वो ना वॉल्यूम बढ़ाएगा ना
वॉल्यूम कम करेगा इस तरीके से हर एक सी के
फंक्शन का एक काम होता है और वो वही काम
करता है वो दूसरे काम हम उससे करवाने की
कोशिश नहीं करते नहीं तो हमारा जो
प्रोग्राम है वो कॉम्लेक्स होता जाता है
अब फंक्शन को डायग्राम की हेल्प से समझे
तो फंक्शन हमारा हमें कुछ काम करके देता
है सबसे पहले वह हमसे कुछ आर्गुमेंट लेता
है आर्गुमेंट यानी कुछ इनपुट लेता है
इनपुट पैरामीटर्स इन पैरामीटर्स के बेसिस
पर वह हमें कुछ काम करके देता है और
आउटपुट में हमें एक रिजल्ट जो है व रिटर्न
करता है अब फंक्शंस का मेजर यूज सी के
अंदर या किसी भी प्रोग्रामिंग लैंग्वेज के
अंदर इसलिए होता है क्योंकि इट कैन बी
यूज्ड मल्टीपल टाइम्स मतलब एक ही फंक्शन
को हम बार-बार बार-बार बार-बार यूज कर
सकते हैं टीवी के रिमोट में कितनी बार भी
हम वॉल्यूम का बटन दबा सकते हैं या चैनल
चेंज करने के लिए बटन दबा सकते हैं या
पावर बटन को न जाने हमने लाखों बार जो है
अगर ज्यादा टीवी देखा होगा तो ऑन ऑफ किया
होगा तो एक फंक्शन ऐसा पार्ट होता है जो
एक काम करता है साथ के साथ उससे वही काम
बहुत बार जितनी बार हम चाहे उतनी बार
करवाया जा सकता है सेकंड प्रॉपर्टी ये
होती है कि इट इंक्रीजस कोड रीयूज बिलिटी
अगर हमारे कोड में हम देखते हैं वैसे ये
रूल ऑफ थंब है जो मैं करती हूं कि कोई भी
चीज अगर कोड के अंदर सेम चीज तीन बार करनी
पड़ रही है तीन बार से ज्यादा करनी पड़
रही है तो उसको फंक्शन बना दो मान लीजिए
हमें हेलो वर्ल्ड प्रिंट करना है अगर तीन
बार हेलो वर्ल्ड प्रिंट करना पड़ रहा है
या उससे ज्यादा प्रिंट करना पड़ रहा है तो
क्या करें उसका फंक्शन बना दें तो जब भी
फंक्शन को कॉल करेंगे ऑटोमेटिक वो चीज हो
रही होगी तो इसीलिए बार-बार बार-बार एक
बड़ा कोड लिखने की जगह हम क्या कर सकते
हैं उसको छोटे से फंक्शन में सिंपलीफाई कर
सकते हैं जिसकी वजह से कोड की रीयूज
बिलिटी बढ़ जाती है अब सी के अंदर फंक्शन
को एक्चुअली लिखते क्या कैसे फंक्शन के
कुछ-कुछ सिंटेक्स होते हैं फंक्शन को
लिखने का जो प्रोसेस रहता है यूजुअली
नॉर्मल केसेस में एक थ्री स्टेप प्रोसेस
होता है जिसमें से सबसे पहला सिंटेक्स
होता है फंक्शन प्रोटोटाइप का फंक्शन
प्रोटोटाइप का क्या मतलब है ये वो लाइन है
जिसकी वजह से हम सी कंपाइलर को बता रहे
हैं कि हम एक फंक्शन लिखने वाले हैं सी
कंपाइलर को पता होना चाहिए कि प्रोग्राम
के अंदर क्या-क्या चीजें लिखी हुई हैं तो
इस लाइन की हेल्प से यानी इस प्रोटोटाइप
की हेल्प से हम बताते हैं कि हम एक फंक्शन
डिक्लेयर करने वा वाले हैं तो इसको फंक्शन
प्रोटोटाइप या फंक्शन डिक्लेरेशन भी कहा
जाता है अब इसको लिखने का सिंटेक्स क्या
रहता है सिंटेक्स यह है कि ये जो प्रिंट
हेलो है ना ये हमारे फंक्शन का नाम है
हमारे फंक्शन का नाम कुछ भी हो सकता है
क्योंकि वो एक वेरिएबल के नाम की तरह है
वो यूजर डिफाइंड है जैसे हमारा फंक्शन
क्या करता है हमारा फंक्शन हेलो प्रिंट
करता है ये हमने अज्यू किया है तो इसीलिए
हमने फंक्शन को नाम दे दिया प्रिंट हेलो
अगर वो दो नंबर्स का एवरेज प्रिंट करता तो
हम उसे एवरेज नाम दे सकते थे या प्रिंट
एवरेज नाम दे सकते थे इस हिसाब से हमारा
फंक्शन जो भी काम करता है हम उस हिसाब से
उसका नाम रख देते हैं तो यहां पे हमने
उसको नाम दिया प्रिंट हेलो और फंक्शन को
लिखने के बाद हमेशा दो पैरेंस लगाने होते
हैं तो हमने यहां पर दो पैरेंस लगा दिए
उसके बाद लगा दिया स्टेटमेंट टर्मिनेटर अब
ये यहां पर हमने वॉइड जो लिखा है इस वॉइड
को लिखने का मतलब है हमारा फंक्शन रिजल्ट
में कुछ रिटर्न नहीं करके देगा मतलब वो
काम कर देगा पर एंड में कोई वैल्यू नहीं
मिलेगी हमें इसीलिए वॉइड वॉइड का इंग्लिश
में मतलब होता है खाली तो यहां पर वॉइड
लिखा है मतलब ये प्रिंट हेलो फंक्शन जो है
हेलो प्रिंट कर देगा पर कुछ रिटर्न नहीं
करेगा वैल्यू अब ये जो लाइन है प्रिंट
हेलो उससे पहले वॉइड और फिर पैरेंस ये
कंपाइलर को बताती है कि हमारा एक फंक्शन
जो है वो एजिस्ट करता है ये डिक्लेरेशन का
सिंटेक्स है दूसरा सिंटेक्स जिसकी बात कर
रहे होंगे वो है फंक्शन की डेफिनेशन एक
बार हमने कंपाइलर को बता दिया कि हमारा
फंक्शन एजिस्ट करता है उसके बाद हमें
फंक्शन लिखना तो पड़ेगा फंक्शन का काम तो
कहीं दिखाएं कि फंक्शन काम कैसे करता है
तो तो उस स्टेटमेंट को हम कहते हैं फंक्शन
डेफिनेशन और उसका सिंटेक्स ये होता है
सबसे पहले हम लिखते हैं रिटर्न टाइप
रिटर्न टाइप यानी वो क्या वैल्यू रिटर्न
करेगा उसका क्या टाइप है तो यहां पर कुछ
रिटर्न नहीं करेगा इसलिए वॉइड लिखा है फिर
लिखेंगे अपने फंक्शन का नाम प्रिंट हेलो
फिर लिखेंगे पैरेंस उसके बाद आएंगे हमारे
कर्ली ब्रेसेज तो ये ब्लॉक है जिसके अंदर
सारा का सारा हमारा कोड जो है एजिस्ट
करेगा फंक्शन का यहां पर क्योंकि हमें
सिर्फ हेलो प्रिंट करना है हम एक सिंगल
लाइन लिख देंगे प्रिंट ए जिसके अंदर लिख
देंगे हम हेलो तो इस तरीके से हमारी
फंक्शन डेफिनेशन भी कवर हो गई अब हम तीसरा
सिंटेक्स जिसकी बात करते हैं वो है फंक्शन
कॉल फंक्शन कॉल क्या करती है हमने कंपाइलर
को बता दिया कि हम फंक्शन बनाना चाहते हैं
फिर हमने फंक्शन बना भी दिया अब इस फंक्शन
को यूज कैसे करें तो फंक्शन को यूज करने
का जो काम होता है उसको हम फंक्शन कॉल
कहते हैं यानी फंक्शन को बुलाना तो उसके
लिए कैसे स्टेटमेंट लिखी जाती है फंक्शन
को या तो हम इंट मेन से मेन फंक्शन से कॉल
लगा सकते हैं या किसी और फंक्शन से कॉल
लगा सकते हैं तो यहां पर हम मेन फंक्शन से
दूसरे फंक्शन को बुला रहे हैं हमारा जो
प्रिंट हेलो फंक्शन है उसका नाम लिख देंगे
पैरेंस लिख देंगे टर्मिनेटर लगा देंगे तो
यह बन जाएगी हमारी कॉलिंग स्टेटमेंट जो
हमने इंट मेन के अंदर लिखी है अब ध्यान से
अगर देखें तो हमारा मेन भी एक फंक्शन है
जिसका रिटर्न टाइप इंट है क्योंकि इंट
वैल्यू रिटर्न करता है इंट वैल्यू यानी ये
ज़ीरो रिटर्न करता है उसके बाद इसका नाम
है मेन पर यह मेन एक कीवर्ड है बाकी ज
सारे जो फंक्शंस के नाम होते हैं जो हम
बनाएंगे व सब कीवर्ड्स नहीं होंगे इसके
बाद इसमें पेंसिस आता है यह हमारा कर्ली
ब्रेसस और इसके अंदर सारा इसका ब्लॉक ऑफ
कोड तो इस तरीके से हम जैसे मेन फंक्शन
होता है वैसे दूसरे फंक्शन बनाने वाले हैं
जो हमारी मर्जी से काम कर रहे होंगे सबसे
पहले एक एग्जांपल के लिए एक फंक्शन लिखकर
देखते हैं तो बॉयलर प्लेट कोड हमारे पास
है जिसमें ऑलरेडी हमारी ऊपर हेडर फाइल है
नीचे इंट मेन है रिटर्न जीरो हम कर रहे
हैं अपना प्रिंट हेलो फंक्शन बनाते हैं
सबसे ऊपर बताएंगे कंपाइलर को कि हमने
फंक्शन बनाया कैसे बताएंगे वॉइड प्रिंट
हेलो उसके बाद एक्चुअली अपने प्रिंट हेलो
को बना रहे होंगे इस प्रिंट हेलो को हम
अपने मेन फंक्शन से नीचे बना रहे हैं अब
इसको ऊपर भी बना रहे हैं पर जब भी ऊपर
बनाते हैं ना तो आपको यह अलग से बताने की
जरूरत नहीं है पर बाय थोड़ा बहुत
ट्रेडिशनल जो सिंटेक्स है ट्रेडिशनल तरीका
लिखने का उसको फॉलो करते हुए हम मेन से
नीचे अपने फंक्शंस को बना रहे होंगे इस
क्लास के अंदर तो लिखेंगे वॉइड प्रिंट
हेलो उसके बाद पेंसिस फिर हमारा कर्ली
ब्रेस अब इस प्रिंट हेलो को इस मेन फंक्शन
से कंपेयर करें तो सबसे पहले इसमें रिटर्न
टाइप है तो इसमें भी रिटर्न टाइप है मतलब
मेन हमारा इंटी जर रिटर्न करता है प्रिंट
हेलो कुछ भी रिटर्न नहीं करता इसका नाम
मेन है इसका नाम प्रिंट हेलो है इसके बाद
हमने दोनों में पेंसिस लगाए हैं और दोनों
में कर्ली ब्रेसे लगाए हैं और प्रिंट हेलो
के अंदर हम अपना काम कर रहे होंगे जो काम
है प्रिंट एफ वर्ल्ड तो इस तरीके से हमारा
जो प्रिंट हेलो फंक्शन है वो हेलो वर्ल्ड
या लेट्स से हमें हेलो प्रिंट करके देता
है इसको कर लेते हैं सेव अब प्रिंट हेलो
लो को कॉल कैसे करें मतलब हेलो प्रिंट
कैसे करवाए उससे तो कॉलिंग हमारी यहां पर
होगी यहां हम लिखेंगे प्रिंट हेलो अपने
फंक्शन का नाम फिर पेंसिस और फिर
टर्मिनेटर तो यह हो गया हमारा
डिक्लेरेशन या फंक्शन
प्रोटोटाइप यह हो गई हमारी फंक्शन कॉल और
यहां पर सबसे मेन चीज हमारा
फंक्शन
डेफिनिशन इसको कर लेते हैं सेव और एक बार
रन करते हैं टर्मिनल से कंपाइल एंड रन तो
हमारे लिए हेलो प्रिंट होकर आ गया है यहां
नेक्स्ट
लाइन अब हम चाहे तो बार-बार प्रिंट एफ
लिखने की जगह बार-बार इस हेलो को प्रिंट
करवा सकते हैं कैसे फंक्शन को कॉल करके तो
हमने एक बार फंक्शन को कॉल किया अब हम
दोबारा फंक्शन को कॉल कर लेते हैं इनफैक्ट
हम तीन बार अपने फंक्शन को कॉल कर लेते
हैं को कर लेते हैं सेव और रन तो हमारे
लिए क्या हुआ तीन बार हेलो प्रिंट हो गया
अब हम चाहे तो कितनी बार भी अपने फंक्शन
से काम करवा सकते हैं अब यहां पर तो हमने
बहुत सिंपल एग्जांपल देखा जो क्या करता है
सिर्फ एक प्रिंट वाली स्टेटमेंट लिखता है
लेकिन इस फंक्शन के अंदर हम 10 20 25
कितनी भी लाइनें लिख सकते हैं और वो
लाइनें हमें बार-बार फिर अपने मेन फंक्शन
के अंदर नहीं लिखनी पड़ेगी वहां पर सिर्फ
अपने फंक्शन का नाम लिखना पड़ेगा तो इस
तरीके से हमारे कोड की रीयूज बिलिटी बढ़
जाती है हमें बहुत सारी लाइने नहीं लिखनी
पड़ती कोड हमारा छोटा हो जाता है और बहुत
सिस्टमिक होता है क्योंकि जो जिस चंक को
जो काम करना चाहिए वो हमारे फंक्शन का नाम
हमें बता देता है तो इस तरीके से
प्रोग्रामिंग जो है वो बहुत सिंपल हो जाती
है इसका फायदा चाहे हमें अभी ना देखने को
मिले पर जब हम कंपनीज के अंदर बड़े-बड़े
कोड्स लिखने जाते हैं तो वहां पर हजारों
लाइनों के कोड होते हैं तो वहां पे
फंक्शंस हमारे बहुत ज्यादा हेल्प करते हैं
अब ये जो फंक्शन है इसके अंदर हम कुछ भी
प्रिंट करवा सकते हैं मान लीजिए हम प्रिंट
करवा रहे हैं इसके
अलावा माय नेम इज शता एंड नेक्स्ट लाइन तो
अब इस फंक्शन के अंदर दो लाइन हमारे पास आ
गई अब हम दोबारा से इसको कॉल लगाएं तो
देखेंगे ये सेम चीज हमारे लिए तीन बार
प्रिंट हो गई है पर फंक्शन कॉल वैसे की
वैसी रही यानी अगर कोई चेंज भी हमें करना
है जैसे वॉल्यूम बटन पहले क्या करता था
वॉल्यूम बटन वन से इंक्रीज करके टू कर
देता था टू से थ्री कर देता था लेकिन हम
चाहते हैं अपने रिमोट में वॉल्यूम बटन जो
है वन से थ्री हो जाए थ्री से फाइव हो जाए
दो-दो स्किप करें तो अब हमें कॉल पे चेंज
करने की जरूरत नहीं है अब हम पूरा
डेफिनेशन में जाके ही चेंज कर देंगे ताकि
यूजर को फर्क ना पड़े उसको बस बटन पहले की
तरह दबाना पड़े तो यह भी फायदा होता है
फंक्शंस को लिखने का अब कुछ सवाल सॉल्व
करते हैं जिसमें हम डिफरेंट डिफरेंट
फंक्शंस को लिख कर देख रहे होंगे उनकी
प्रॉपर्टीज को देख रहे होंगे इसमें सबसे
पहला सवाल है राइट टू फंक्शंस वन टू
प्रिंट हेलो एंड सेकंड टू प्रिंट गुड बाय
सवाल में हमें दो फंक्शंस लिखने हैं सबसे
पहले एक फंक्शन बनाएंगे जो हेलो को प्रिंट
करता हो फिर एक फंक्शन बनाएंगे जो गुड बाय
को प्रिंट करता हो तो इसे कर देते हैं
क्रॉस हमने ऑलरेडी एक फंक्शन प्रिंट हेलो
बना लिया जो हेलो को प्रिंट कर करता है अब
क्या करेंगे एक फंक्शन बनाएंगे जो गुड बाय
को प्रिंट करेगा तो ऊपर सबसे पहले कंपाइलर
को बताना पड़ेगा वॉइड
प्रिंट गुड बाय यह हम एक फंक्शन बनाने
वाले हैं कंपाइलर को हमने बता दिया उसके
बाद उस फंक्शन को एक्चुअली बना लेते हैं
वॉइड प्रिंट गुड बाय और यहां पर अब प्रिंट
स्टेटमेंट लिख देंगे गुड बाय तो हमने एक
फंक्शन बनाया जिसका नाम है प्रिंट हेलो एक
फंक्शन बनाया इसका नाम है प्रिंट गुड बाय
हेलो के अंदर हम हेलो प्रिंट कर रहे हैं
गुड बाय के अंदर हम गुड बाय प्रिंट कर रहे
हैं दोनों फंक्शंस का प्रोटोटाइप हमने ऊपर
बता दिया है उसके बाद हम जैसे हेलो को कॉल
लगा रहे थे वैसे ही हम प्रिंट गुड बाय को
भी कॉल लगा सकते हैं यहां पर लिखेंगे
प्रिंट गुड बाय और इसको कर लेते हैं सेव
एंड रन तो सबसे पहले हमने हेलो को कॉल
किया तो हेलो प्रिंट हुआ फिर हमने गुड बाय
को कॉल किया तो गुड बाय प्रिंट हुआ जिस
फंक्शन को पहले कॉल लगाई जाती है वो पहले
एग्जीक्यूट होता है फिर बाद में कॉल
लगाएंगे जिस फंक्शन को वो बाद में
एग्जीक्यूट होगा यानी हमारा जो
एग्जीक्यूशन का तरीका है वो कैसे रहेगा
सबसे पहले शुरुआत हमेशा मेन फंक्शन से
होगी कोड की मेन फंक्शन में आए हम मेन
फंक्शन ने क्या किया प्रिंट हेलो को कॉल
लगाई तो ये बाकी का सारा कोड जो है ना ये
अभी के लिए रुक जाएगा जैसे जिन लोगों को
चल के जाना होता है ट्रैफिक के आगे से वो
लोग जा सके तो उसी तरीके का सीन है यहां
पे ये फंक्शन कंपलीटली रुक जाएगा और
प्रिंट हेलो को कॉल कर करेगा अब प्रिंट
हेलो का पूरा का पूरा कोड यहां पे रन होगा
प्रिंट हेलो क्या करवाता है हेलो प्रिंट
करवाता है हमने हेलो प्रिंट कर दिया अपनी
स्क्रीन पर उसके बाद वापस से मेन फंक्शन
के अंदर जाएंगे मेन फंक्शन में वहीं से
शुरू करेंगे जहां से हमने लास्ट टाइम खत्म
किया था यानी प्रिंट हेलो को कॉल लगाई थी
तो यहीं से शुरू करेंगे ये कॉल खत्म हो गई
फिर प्रिंट गुड बाय को कॉल लगाएगा फिर हम
प्रिंट गुड बाय में पहुंच जाएंगे फिर हम
गुड बाय प्रिंट कर देंगे तो वो हमारे
कंसोल में आ गया उसके बाद वापस से मेन के
अंदर आ जाएंगे प्रिंट गुड बाय खत्म हो
चुका है अब रिटर्न वाली स्टेटमेंट पे आ
रिटर्न कर देंगे रो रो रिटर्न हो गया यानी
मेन फंक्शन हमारा खत्म हो गया मतलब हमारा
प्रोग्राम खत्म हो गया इस तरीके से अगर
यहां पर हम दोबारा करते प्रिंट हेलो तो अब
क्या प्रिंट होगा अब सबसे पहले तो हेलो
प्रिंट होगा फिर गुड बाय प्रिंट होगा फिर
दोबारा हेलो प्रिंट होगा अब यहां पे क्या
हुआ पहले हेलो किया तो यहां पहुंच गए फिर
गुड बाय किया तो उसके बाद यहां पहुंच गए
उसके बाद दोबारा हेलो किया तो दोबारा
हमारा प्रोग्राम यहां पे पहुंच जाएगा तो
प्रोग्राम एक तरीके से जंप कर रहा है
हमारा कंट्रोल तो प्रोग्राम का कंट्रोल
जंप करवा सकते हैं हम अपने फंक्शंस की
हेल्प से अपने सब प्रोग्राम्स की हेल्प से
अब इसके बाद नेक्स्ट सवाल करते हैं
फंक्शंस का नेक्स्ट सवाल हमारा कहता है
राइट अ फंक्शन दैट प्रिंट्स नमस्ते इफ
यूजर इज इंडियन तो यहां पे हम अपने यूजर
से पूछ लेंगे कि वो इंडियन है या फ्रेंच
है इंडियन के लिए हम क्या कर सकते हैं आई
एंटर करा सकते हैं कैरेक्टर में फ्रेंच के
लिए हम एफ एंटर करा सकते हैं अगर हमारा
यूजर इंडियन है तो उस उस के केस में हम
नमस्ते प्रिंट करेंगे अगर हमारा यूजर
फ्रेंच है उसके केस में बंजू प्रिंट
करेंगे अब फ्रेंच मैंने सीखी नहीं तो आई
एम नॉट शर इसको कैसे प्रोनाउंस करेंगे
लेट्स से बजर इसको हम प्रोनाउंस कर रहे
हैं जिन बच्चों ने फ्रेंच सीखी है यह है
फ्रेंच का नमस्ते तो अब इन दोनों के लिए
हम एक एक फंक्शन बना लेते हैं एक फंक्शन
होगा जो नमस्ते प्रिंट करता है एक फंक्शन
होगा जो प्रिंट करता है दोनों के लिए
एक फंक्शन बना लेते हैं अपने पुराने कोड
को यहां
से हटा लेते हैं तो सबसे पहले डिक्लेयर
करेंगे अपने दोनों फंक्शंस को वॉइड प्रिंट
या इसको सिर्फ
नमस्ते लिखते
हैं और एक है वॉइड बनज अब सबसे पहले इनकी
डेफिनेशंस लिखेंगे वॉइड
नमस्ते यह क्या करता है प्रिंट करता है
नमस्ते उसके बाद दूसरा फंक्शन वॉइड नरूर
और यह प्रिंट करेगा हमारी फ्रेंच
नमस्ते तो ये पहला फंक्शन हो गया हमारे
पास यह हो गया हमारा दूसरा फंक्शन अब मेन
के अंदर क्या करेंगे सबसे पहले यूजर से
उसकी नेशनलिटी पूछ लेते हैं प्रिंट एफ
एंटर एफ फॉर फ्रेंच एंड आई फॉर इंडियन अब
वो जैसे ही कुछ भी एंटर करेगा हम एक
कैरेक्टर बना लेते हैं सीच वो हम स्कैन कर
रहे होंगे स्कैनर से परसेंटेज सी एंड
सी अगर हमारा जो नेशनलिटी है जो कैरेक्टर
है एंटर हुआ है वो आ के इक्वल है तो उस
केस में हम प्रिंट करेंगे नमस्ते एल्स हम
प्रिंट कर रहे होंगे नरूर तो एक बार कोड
को रीकैप कर लेते हैं ऊपर हमने फंक्शन का
प्रोटोटाइप बना दिया सबसे पहले हमने क्या
किया नेशनलिटी पूछी उसको कैरेक्टर सीच में
स्टोर करा लिया उसके बाद कैरेक्टर को
कंपेयर किया आई के साथ अगर मैच हो जाता है
तो फिर नमस्ते फंक्शन को कॉल करो अगर मैच
नहीं होता है और इफ कंडीशन के अंदर हम
जाते हैं तो बन जूर को कॉल करेंगे नीचे
हमने दोनों फंक्शंस की अपनी डेफिनेशन बता
रखी है कि दोनों फंक्शंस का क्या मतलब है
इसको कर लेते हैं सेव एंड रन अब क्या
करेंगे एंटर एफ फॉर फ्रेंच एंड आई फॉर
इंडियन हम इंडियन है तो आई एंटर कर देंगे
तो हमारे लिए नमस्ते प्रिंट हो गया इसी
कोड को दोबारा रन करें और एफ डालें तो इस
बार प्रिंट हुआ है बन रूट तो इस तरीके से
यूजर हमें जो जो कंडीशंस देता है उस हिसाब
से हम अलग-अलग फंक्शंस लिख सकते हैं और
अलग-अलग कोड्स को एग्जीक्यूट कर सकते हैं
नेक्स्ट चीज जिसकी हम बात करेंगे वो है
फंक्शन की कुछ प्रॉपर्टीज फंक्शन में सबसे
पहली प्रॉपर्टी जो है उसका नाम है कि
एग्जीक्यूशन ऑलवेज स्टार्टस फ्रॉम मेन
मतलब जब भी हम सी के प्रोग्राम की बात कर
रहे हैं इनफैक्ट चाहे हम c+ प् या जावा के
भी प्रोग्राम की बात करें हमारा जो कोड का
एग्जीक्यूशन होता है वो हमेशा मेन फंक्शन
से शुरू होता है आप प्रोग्राम में कितनी
भी लाइने लिख दें जैसे हमने प्रोग्राम में
ऊपर अगर कुछ लिखा हुआ है या हम अपने इस
फंक्शन डेफिनेशन को ऊपर भी शिफ्ट कर दें
तो ऐसा नहीं है कि नमस्ते वाला फंक्शन ऊपर
आ जाएगा तो पहले ले नमस्ते वाला फंक्शन
कॉल हो रहा होगा नहीं नहीं कंपाइलर
एग्जीक्यूशन के लिए हमेशा सबसे पहले मेन
फंक्शन के पास जाता है और मेन फंक्शन
बताता है कि अब क्या-क्या होने वाला है
अगर यहां से हम ये दोनों स्टेटमेंट्स हटा
दें मतलब नमस्ते और बंजू को कभी कॉल ही
नहीं करें तो हमारे कंपाइलर कभी कॉल ही
नहीं करेगा यह नमस्ते और यह दूसरा
ग्रीटिंग कभी प्रिंट ही नहीं कराएगा
स्क्रीन पर इसीलिए जब भी प्रोग्राम का
एग्जीक्यूशन शुरू होता है वो मेन फंक्शन
से शुरू होता है सेकंड चीज अ फंक्शन गेट्स
कॉल्ड डायरेक्ट और इनडायरेक्टली फ्रॉम मेन
जब भी सी के अंदर कोई फंक्शन की कॉल होता
है मतलब फंक्शन को बुलाया जाता है उससे
काम करवाने के लिए तो या तो उसको मेन
फंक्शन डायरेक्टली कॉल करता है जैसे हमने
अपने इस केस में किया इस केस में क्या हो
रहा है हमारे फंक्शंस को मेन फंक्शन के
अंदर से ही कॉल जा रही है या फिर दूसरा
फंक्शन किसी और फंक्शन को कॉल लगा रहा है
जैसे हम यहां क्या करें हम कॉल लगा दें
नमस्ते को मतलब नेशनलिटी चाहे कुछ भी हो
हम उसको दोनों ग्रीटिंग में ग्रीट करेंगे
हमने कॉल लगा दिया नमस्ते को और नमस्ते
क्या कर रहा है नमस्ते प्रिंट करवा के कॉल
लगा रहा है बन शू तो इस तरीके से क्या हुआ
मेन फंक्शन ने कॉल लगाई हमारे इस फंक्शन
को और नमस्ते वाले फंक्शन ने कॉल लगाई
हमारे सेकंड फंक्शन को तो ये जो सेकंड
फंक्शन है ये इनडायरेक्टली कॉल तो मेन
फंक्शन से ही हुआ है क्योंकि मेन फंक्शन
ने ही नमस्ते को कॉल लगाई थी तो इस तरीके
से कोई भी फंक्शन अगर c के अंदर कॉल होता
है तो या तो उसको मेन फंक्शन डायरेक्टली
कॉल लगाता है या उसको मेन फंक्शन
इनडायरेक्टली कॉल लगाता है किसी और फंक्शन
के थ्रू अब अगर हम इसके इस को एक बार
एनालाइज करें तो इसको सेव करते हैं और एक
बार इसको कंपाइल करके रन करें अगर तो अब
चाहे मैं कोई भी नेशनलिटी डालूं मेरे लिए
सबसे पहले नमस्ते कॉल हुआ क्योंकि क्या
हुआ मेन फंक्शन ने सबसे पहले नमस्ते को
कॉल लगाई नमस्ते ने क्या किया नमस्ते
प्रिंट कर दिया उसके बाद उसने सेकंड
फंक्शन को कॉल लगाई उसके बाद सेकंड फंक्शन
ने बं जूर प्रिंट कर दिया तो सबसे पहले
हमेशा नमस्ते प्रिंट होगा उसके बाद हमारी
सेकंड ग्रीटिंग प्रिंट होगी तो इस तरीके
से कंट्रोल क्या करता है मेन फंक्शन से
दूसरे में जाता है फिर दूसरे फंक्शन से
तीसरे फंक्शन में जाता है फिर वापस मेन के
अंदर आता है अब नेक्स्ट प्रॉपर्टी जिसकी
बात करेंगे देयर कैन बी मल्टीपल फंक्शंस
इन अ प्रोग्राम जो हम ऑलरेडी देख चुके हैं
हम दो फंक्शन ऑलरेडी बना चुके हैं जितना
आपका मन करे आप अपने रिमोट के अंदर उतने
बटन डाल सकते हैं वैसे ही अपने सी
प्रोग्राम के अंदर जितना मन करे उतने
फंक्शंस आप बना सकते हैं पर ये हो कि
फंक्शंस को आप लॉजिकली बनाएं ज्यादा
फंक्शंस बनाने के लिए एक्स्ट्रा कोड हम ना
लिख रहे हो अब फंक्शंस के ना दो टाइप्स
होते हैं सबसे पहला टाइप होता है हमारी
लाइब्रेरी फंक्शंस और दूसरे होते हैं
हमारे यूजर डिफाइंड फंक्शंस लाइब्रेरी
फंक्शन स्पेशल फंक्शंस होते हैं सी के
अंदर जो इनबिल्ट होते हैं मतलब सी के अंदर
डिफरेंट लाइब्रेरीज होती हैं जिसमें
ऑलरेडी पहले से कुछ फंक्शंस पड़े हुए हैं
उन फंक्शंस के नाम कीवर्ड है हमारे लिए
उनके फंक्शंस के नाम से हम दोबारा अपना
कोई फंक्शन नहीं बना सकते उनके काम भी
पहले से ही फिक्स्ड हैं और दूसरे होते हैं
हमारे यूजर डिफाइंड फंक्शन जिनको हम ही
डिक्लेयर करते हैं प्रोग्रामर और हम ही
डिफाइन करते हैं तो कोडर्स ही डिक्लेयर कर
कर रहे होते हैं कोडर्स ही डिफाइन कर रहे
होते हैं कोडस ही यूज़ कर रहे होते हैं
लाइब्रेरी फंक्शंस की अगर बात करें तो
ऑलरेडी हम लाइब्रेरी फंक्शंस को यूज़ कर
रहे होते हैं अगर हम प्रिंट एफ करते हैं
तो यह प्रिंट एफ एक लाइब्रेरी फंक्शन है
प्रिंट एफ को कॉल कैसे लगाई जा रही है
पहले उसका नाम लिखा जा रहा है उसके बाद
पैरेंस लगाए जा रहे हैं अब अंदर इसके कुछ
पैरामीटर्स पास होते हैं अभी बात करेंगे
पैरामीटर्स क्या होते हैं तो ये प्रिंट एफ
भी एक फंक्शन है ये स्कैन एफ भी एक फंक्शन
है तो प्रिंट एफ और स्कैनफ हमारे लाइ
ब्रेरी या इनबिल्ट फंक्शंस एंड सी के अंदर
और इनकी लाइब्रेरी क्या है हमने ऊपर अपना
प्रीप्रोसेसर डायरेक्टिव एसटीडी आड ए जो
है वो डाल रखा है इसीलिए हम इनको यूज कर
पा रहे हैं ये अगर हम हटा देंगे तो एरर
आने लग जाएगा कोड के अंदर इसीलिए उसको
स्टेटमेंट को लिखना जरूरी है और हमारे जो
फंक्शंस है प्रिंट एफ और स्कैनफ ये हमारे
लाइब्रेरी फंक्शंस है यूजर डिफाइंड फंक्शन
हमने देख ही लिए ये जो हमने नमस्ते बनाया
हुआ है ये जो हमने बं जूर बनाया हुआ है
इससे पहले हमने प्रिंट हेलो या प्रिंट गुड
बाय जो लिखे थे ये सारे हमारे यूजर
डिफाइंड फंक्शन नेक्स्ट बात करते हैं
पासिंग आर्गुमेंट अब फंक्शन जो क्या करते
हैं हमने शुरुआत में जब डेफिनेशन की बात
करी फंक्शन की प्रॉपर्टी क्या थी कि वो
कोई वैल्यू ले सकते हैं और वो कोई वैल्यू
दे सकते हैं तो जिस वैल्यू को फंक्शन लेता
है टेक करता है उसको कहते हैं पैरामीटर और
जिस वैल्यू को फंक्शन वापस देता है उसको
कहते हैं रिटर्न वैल्यू तो फंक्शन हमारा
पैरामीटर लेता है और हमें कोई रिटर्न
वैल्यू वापस देता है जब भी हम आर्गुमेंट
पास करते हैं ना जिन भी वैल्यूज को हम
देते हैं अपने फंक्शन को उनको आर्गुमेंट
कहते हैं तो हमारे फंक्शंस को हम तीन
तरीके से लिख सकते हैं एक तरीका है जैसे
हम पहले से लिखते आ रहे हैं यानी यहां पर
वॉइड लिखा होगा वॉइड यानी हमारा फंक्शन
कुछ रिटर्न नहीं करता खाली रहता है फिर
अपने फंक्शन का नाम फिर यहां पे हमने
पैरेंस लिख दिया अपना स्टेटमेंट टर्मिनेटर
यह नॉर्मल तरीके का फंक्शन है जिसकी हम
ऑलरेडी बात कर चुके हैं दूसरे तरीके से
फंक्शन कैसे लिख सकते हैं सबसे पहले लिखा
होगा वॉइड यानी फंक्शन कोई वैल्यू रिटर्न
नहीं करता
जैसे मान लीजिए हमें एक फंक्शन बनाना है
जिसका नाम है प्रिंट टेबल यह किसी भी नंबर
को लेता है और उसकी टेबल प्रिंट कर देता
है अब इसको कुछ रिटर्न तो नहीं करना सिर्फ
प्रिंट करवाना है तो अपने पैरामीटर्स में
यानी जो वैल्यू यह लेगा उसमें एक नंबर
जरूर होगा जिस नंबर की इसको टेबल प्रिंट
करानी है तो वो नंबर है हमारा इंट n तो ये
इस नंबर n को लेगा और इसकी टेबल प्रिंट
करवा देगा और वापस कुछ भी रिटर्न नहीं
करेगा तीसरा तरीका होता है फंक्शन को
लिखने का कि हमारा एक रिटर्न टाइप हो जैसे
सम के केस में हमने इंट को एक रिटर्न टाइप
लिया और ये फंक्शन क्या कर रहा है दो
पैरामीटर्स ले रहा है सबसे पहले पैरामीटर
a है दूसरा पैरामीटर b है दोनों
पैरामीटर्स को लेगा इनसे एक सम वैल्यू
बनाएगा जो a + b होगी और इसको कर देगा
रिटर्न अब रिटर्न कर रहा है तो इस वैल्यू
का टाइप क्या है इंट इसीलिए हमने अपने
फंक्शन के नाम के सामने इंट लिख दिया एक
फंक्शन बनाते हैं जो दो नंबर्स की वैल्यू
को लेगा यानी दो नंबर्स उसके पैरामीटर्स
होंगे a और b और वो रिटर्न करेगा हमें
दोनों वैल्यूज का सम तो इसके लिए सबसे
पहले अपना पुराना कोड जो है उसे हटा लेते
हैं एंटर फर्स्ट
नंबर इंट ए एंड बी तो सबसे पहले स्कैन कर
लेंगे ए उसके बाद एंटर कराएंगे अपना सेकंड
नंबर सेकंड नंबर में क्या स्टोर कराएंगे
बी में सेकंड नंबर की वैल्यू को हम स्टोर
करा रहे होंगे अब एक फंक्शन बनाते हैं जो
ए और बी दोनों का सम हमें देगा तो ऊपर
सबसे पहले इस बार लिख रहे होंगे इ
सम इंट a इंट b इस बार हमने यहां पर वॉइड
नहीं लिखा इस बार हमने यहां पर इंट लिखा
जैसे मेन के सामने इंट लिखा होता है
क्योंकि वो जरो रिटर्न करता है हमने भी
अपना रिटर्न वैल्यू का जो टाइप है वो यहां
पर लिखना होता है तो उसको हमने लिख दिया
इस बार इंटी जर उसके बाद अपने फंक्शन का
नाम और अंदर लिखे अपने पैरामीटर्स हमारे
पैरामीटर्स क्या होने वाले मतलब क्या-क्या
वैल्यू चाहिए होगी इसको सम कैलकुलेट करने
के लिए सबसे पहले इंटी जर वैल्यू a चाहिए
होगी हम हमारा पहला नंबर उसके बाद इंटी जर
वैल्यू ब चाहिए होगी हमारा दूसरा नंबर अब
क्या करते हैं फंक्शन की डेफिनेशन लिखते
हैं तो दोबारा से इंट सम इंट a इंट
b सम वैल्यू क्या होती है a + b तो हम
रिटर्न क्या कर रहे होंगे रिटर्न हम
कीवर्ड का यूज़ करते हैं कोई भी वैल्यू
वापस रिटर्न करने के लिए ये रिटर्न होके
किसके पास जाती है ये जाती है कॉलिंग
फंक्शन के पास यहां पे हम मेन फंक्शन से
कॉल लगाएंगे लेकिन मान लीजिए किसी दूसरे
फंक्शन से हम इस सम फंक्शन को कॉल लगाते
तो ये जो रिटर्न वैल्यू है ये उस दूसरे
फंक्शन के पास जाती मेन के पास नहीं जाती
तो जहां से भी कॉल लगती है वहीं पे वापस
रिटर्न वैल्यू आती है तो रिटर्न कर देंगे
a + b को तो इस फंक्शन को ध्यान से देखते
हैं सबसे पहले रिटर्न टाइप हमने बताया इंट
तो हमने रिटर्न किया a + b यहां से अगर हम
1 2 12 रिटर्न करते तो भी कोई एरर नहीं
आता क्योंकि अल्टीमेटली इसको एक इंटी जर
रिटर्न करना है ये लॉजिकली गलत होता
क्योंकि a जीरो हो सकता है b रो हो सकता
है तो हर बार 12 कैसे रिटर्न हो रहा है तो
लॉजिकली गलत हो सकता पर कि स का कंपाइलर
इसको गलत नहीं बोलेगा मतलब एरर की रेड
लाइन यहां पर नहीं आएगी क्योंकि
अल्टीमेटली इंटी जर तो रिटर्न हो ही रहा
है पर यहीं पर अगर हम 3.14 यानी पाई की
वैल्यू या कुछ और वैल्यू रिटर्न करें या
मान लीजिए हम कोई कैरेक्टर स रिटर्न करने
चले तो उसके बाद हमारे पास एरर आ रहा होगा
क्योंकि उन वैल्यूज को रिटर्न करना अलाउड
नहीं है अगर 3.14 भी आप रिटर्न करेंगे तो
वो रिटर्न में सिर्फ तीन भेजेगा वो पूरा
3.1 नहीं भेजेगा तो यहां पर हम रिटर्न
करेंगे a + b इसीलिए हमें अपना टर्न टाइप
पहले से पता होना चाहिए और ये इंटी जर्स ए
और इंटी जर b हमें एज पैरामीटर्स अपने
फंक्शन के अंदर मिल रहे होंगे तो यहां से
कॉल लगा लेते हैं सम a एंड b एक यहां पर s
नाम का वेरिएबल बना लेते हैं तो यहां क्या
हो रहा है सम को हमने कॉल लगाई जिसके अंदर
हमने सबसे पहले पास किया a उसके बाद पास
किया b ये a क्या करेगा अपनी वैल्यू भेज
देंगे हम यहां पर जो भी a के अंदर हमारा
यूजर एंटर करेगा उस a को भेज देंगे और वो
यहां पर डेफिनेशन के के अंदर इस a में
कॉपी हो जाएगा तो वैल्यूज कॉपी होती है
यहां से b की वैल्यू जाएगी तो वो b की
वैल्यू इस b के अंदर कॉपी हो जाएगी इसको
हम x और y भी लिख सकते थे तो यहां पर
सिंपलीसिटी के लिए अगर हम इसको x y लिख
दें तो यहां से a की वैल्यू जाएगी वो x
में कॉपी होगी b की वैल्यू जाएगी वो y में
कॉपी होगी फिर दोनों का सम जो है रिटर्न
हो जाएगा जो भी वैल्यू रिटर्न होकर जाएगी
ये हमारा असाइनमेंट ऑपरेटर है उसको हम एक
नए वेरिएबल में स्टोर करा देंगे जिसका नाम
है s और फिर हम प्रिंट करवा देंगे s की
वैल वैल्यू को लिख देंगे सम इज परसेंटेज d
एक बार सेव कर लेते हैं कोड को रन करते
हैं हल्का सा
कॉम्प्लेक्शन तो बिल्कुल टेंशन लेने की
जरूरत नहीं है हम बहुत सारे एग्जांपल और
बहुत सारे एक्सप्लेनेशन और बहुत सारी
प्रॉपर्टी देखेंगे कि फंक्शन का कांसेप्ट
बहुत सिंपल लगेगा और बहुत अच्छे से दिमाग
के अंदर बैठ जाएगा सबसे पहले अपना फर्स्ट
नंबर एंटर करते हैं इसको लॉजिकली समझना है
अभी कोड में जो लिखा है उस पर ध्यान नहीं
देना सिर्फ लॉजिक समझना है यूजर का इस कोड
को ना हम छोटे कैलकुलेटर की तरह देख सकते
हैं कैलकुलेटर में सबसे पहले पहला नंबर
डालते हैं मान लो फ डाल दिया उसके बाद
कैलकुलेटर में दूसरा नंबर डालते हैं दूसरा
नंबर हमने थ्री डाल दिया अब क्या प्रिंट
हुआ हमारे लिए प्रिंट हुआ है सम इज ए यह
प्रिंट हुआ है यहां पर यह हल्का सा
फॉर्मेटिंग हम थोड़ी अच्छी कर लेते
हैं एक बार और रन करते हैं सबसे पहले अपने
फर्स्ट नंबर में मतलब कैलकुलेटर में हमने
फोर डाल दिया उसके बाद अपना सेकंड नंबर
डाला टू तो सम इज सिक्स हम हमारे लिए
प्रिंट होकर आ गया तो हमारे कैलकुलेटर ने
काम कर दिया अब कैलकुलेटर इंटरनली काम
कैसे कर रहा है वो समझते हैं कैलकुलेटर के
अंदर एक फंक्शन है जिसका नाम है सम उसमें
उसने इंटी जर ए और इंटी जर ब को लिया है
तो हमने अपने a और बी लिए और उससे सम को
कॉल लगा दी सम की डेफिनेशन कहती है कि a
की वैल्यू सबसे पहले जो वेरिएबल भेजेंगे
उसकी वैल्यू x में कॉपी होगी फिर y में
कॉपी होगी रिटर्न कर देगा x + y वो रिटर्न
करके s में हमने स्टोर करा लिया और फिर उस
s की वैल्यू को यानी सम की वैल्यू को हमने
प्रिंट करवाया
तो यह हमारा पूरा फंक्शन जो है वह काम
करता है पैरामीटर्स और रिटर्न वैल्यू के
साथ अब जैसे हमने सम को प्रिंट करने का
कोड लिख लिया इसके अलावा एक और कोड लिखते
हैं जो क्या करेगा एक फंक्शन बनाते हैं जो
हमें अपने नंबर n की टेबल प्रिंट करके
देगा तो इस कोड के अंदर थोड़े से चेंजेज
कर लेते हैं हम एंटर करवा रहे होंगे एक
नंबर हमने n को एंटर कराया उसको स्कैन
किया और उसको अपने वेरिएबल n के अंदर
स्टोर कर लिया अब एक और फंक्शन बनाते हैं
जिस फ का नाम है वॉइड प्रिंट टेबल और इस
फंक्शन के अंदर हम एक वेरिएबल भेजेंगे इंट
n अब जरूरी नहीं है हम यहां पर इसको n ही
नाम दें इसको हम x वाजी नंबर कुछ भी नाम
दे सकते हैं यानी मेन फंक्शन के अंदर आप
उस वैल्यू को कौन से वेरिएबल में स्टोर
करते हैं और दूसरे फंक्शन के अंदर उसी सेम
वैल्यू को किस तरीके का नाम देना चाहते
हैं वो सेम भी हो सकते हैं अलग-अलग भी हो
सकते हैं सेम रखेंगे तो आसान रहेगा टली
करना कि कौन सी वैल्यू कहां पर जा रही है
तो सेम नाम होंगे तो हमें पता होगा सम
निकलना है तो a और b का ही निकलना है x और
y का नहीं निकलना इस तरीके से लेकिन हम
अलग-अलग भी रख सकते हैं अब जब भी हम किसी
वेरिएबल को डिक्लेयर करते हैं ना फंक्शन
के अंदर तो उस वेरिएबल के नाम का स्कोप उस
फंक्शन तक ही होता है यानी मेन फंक्शन में
अगर वेरिएबल n बनाया तो इस n को जो फंक्शन
पहचान पाएगा वो बस मेन ही होगा अब अगर सम
के अंदर मैं दूसरा नंबर n बनाऊं तो फिर वो
एक अलग वेरिएबल n होगा तो इस तरीके से
मेमोरी के अंदर दो वेरिएबल बन रहे होंगे n
नाम से एक हमारे मेन फंक्शन का होगा एक
हमारे दूसरे फंक्शन का होगा तो हम सेम नाम
भी दे सकते हैं अलग नाम भी दे सकते हैं
बाय कन्वेंशन हम सेम नाम देंगे प्रिंट
टेबल है जिसके अंदर एक सिंगल पैरामीटर आता
है जिसका नाम है इंट n अब डिफाइन करते हैं
अपने प्रिंट टेबल फंक्शन को रिटर्न टाइप
है वॉइड इसके बाद लिखेंगे प्रिंट टेबल
अपने फंक्शन का नाम और इंट n किसी भी नंबर
की टेबल कैसे प्रिंट करते थे एक लूप लगाकर
तो इस फंक्शन के अंदर सबसे पहले एक लूप
बना लेते हैं i की वैल्यू जो है वो शुरुआत
कर रही होगी वन के साथ
और i की वैल्यू जाएगी हमारी 10 तक और हर
बार करेंगे i प् प्स हर बार हम प्रिंट
करवा रहे होंगे i इन n तो यह हमारा प्रिंट
टेबल फंक्शन है जिसके अंदर हमने टेबल को
प्रिंट करने का पूरा अपना लूप लिख दिया तो
फंक्शन के अंदर लूप हम लिख रहे हैं अब इस
फंक्शन को क्या करेंगे मेन फंक्शन से कॉल
लगा लेंगे प्रिंट टेबल और इसमें पास कर
देंगे अपना वेरिएबल n जब भी हम कॉल करते
हैं ना किसी भी फंक्शन को और अपना वेरिएबल
जो है उसमें पास कर रहे हैं तो यहां पर
जिस वेरिएबल को हम पास कर रहे हैं उसको हम
आर्गुमेंट कहते हैं और यहां पर जो वेरिएबल
आता है इसको पैरामीटर कहते हैं यानी
कॉलिंग स्टेटमेंट में जिस वेरिएबल को
लिखते हैं इसको कहा जाता है आर्गुमेंट या
इसको एक्चुअल पैरामीटर भी कहा जाता है
आर्गुमेंट या फिर एक्चुअल पैरामीटर
एक्चुअल पैरामीटर क्यों क्योंकि ये वो n
है जिसके अंदर एक्चुअल वैल्यू होगी ये तो
वो n है ना जो बताएगा कौन से नंबर की टेबल
प्रिंट करनी है ये तो फंक्शन है इसके अंदर
जो n है ये तो खाली है इसके पास तो अभी
वैल्यू ही नहीं है वैल्यू कहां से आएगी
कॉलिंग फंक्शन से आएगी कॉलिंग स्टेटमेंट
से आएगी कॉलिंग स्टेटमेंट यहां पर है ये
वाली स्टेटमेंट बता रही होगी कि किस नंबर
की टेबल प्रिंट करनी है और यहां पर जो
वेरिएबल लिखा होता है इसको हम कहते हैं
पैरामीटर या फिर इसको फॉर्मल पैरामीटर भी
कहते हैं फॉर्मल यानी बताने बताने के लिए
है एक्चुअल जो वैल्यू होगी वो तो कॉलिंग
वाले से आएगी वो तो आर्गुमेंट देगा यहां
पे सिर्फ फॉर्मली हमने बता दिया है कि एक
इंटी जर वैल्यू होगी n यहां पे हमें बताने
की जरूरत नहीं है कि इंटी जर होगा क्या
यहां से हम डायरेक्टली बिना डटा टाइप बताए
कॉल लगा सकते हैं यह काफी इंपॉर्टेंट
कीवर्ड्स है जिनका हमें ध्यान देने की
जरूरत है कि इसे हम आर्गुमेंट कहते हैं
इसे हम पैरामीटर कहते हैं अब इस कोड को कर
लेते हैं सेव और इसको एक बार नई टर्मिनल
विंडो खोल के करते हैं रन तो प्रिंट एफ
में हम टाइप बता देते हैं परसेंटेज डी सेव
एंड रन अपना नंबर एंटर करें तो हमें फाइव
की टेबल प्रिंट करवानी है तो हमारे लिए
प्रिंट हो गया 5 10 15 इसे नेक्स्ट
नेक्स्ट लाइन में प्रिंट करवाना चाहिए था
दोबारा एक बार कंपाइल कर लेते हैं दोबारा
प्रिंट करवा लेते हैं फाइव की टेबल तो इस
बार फाइव की टेबल प्रिंट हो गई है 5 10 15
20 25 30 35 इस तरीके से अब एक बार कोड पे
नजर डाल लेते हैं क्या हमने किया थोड़ा सा
रीकैप हमने अपना फंक्शन बनाया जिसको
डिक्लेयर किया प्रिंट टेबल नाम से यूजर से
नंबर एंड ले लिया उसके बाद कॉल लगा ली
अपने प्रिंट टेबल नंबर n को ये जो वैल्यू
हमने पास की इसको कहते हैं आर्गुमेंट या
फिर हमारा पैरामीटर उसके बाद प्रिंट टेबल
ने क्या किया नंबर n लिया इस नंबर n को हम
कहेंगे पैरामीटर या हमारा फॉर्मल पैरामीटर
फिर उसने उस नंबर के हिसाब से अपनी टेबल
जो है वो प्रिंट करवा दी इस तरीके से
हमारा फंक्शन क्या करता है कोई वैल्यू
लेता है और वैल्यू रिटर्न कर देता है इस
केस में कुछ नहीं रिटर्न किया इस केस में
रिटर्न करी थी एक इंटी जर वैल्यू अब कुछ
कुछ डिफरेंसेस हम सीख लेते हैं डिफरेंसेस
सीखेंगे आर्गुमेंट और पैरामीटर के बीच में
ये काफी इंपॉर्टेंट सवाल है बहुत सारे
इंटरव्यूअर्स क्या कहेंगे आपसे पूछ लेंगे
आर्गुमेंट और पैरामीटर के बीच में क्या
डिफरेंसेस होते हैं या ये ऐसा क्लासिकल
सवाल है मैंने जब सी पढ़ी थी अपने फर्स्ट
सेमेस्टर के अंदर तो मेरे मिड सेमेस्टर और
एंड सेमेस्टर दोनों में ये सवाल बार-बार
आया था कि दोनों के बीच में डिफरेंसेस
लिखो मुझे अभी भी याद है तीन नंबर का वो
सवाल था और उसमें हर पॉइंट के एक-एक नंबर
थे तो आप अलग-अलग पॉइंट्स भी लिख सकते हैं
इसके अलावा और भी कुछ-कुछ पॉइंट्स होते
हैं पर मेजर जो पॉइंट्स होते हैं वो
डिफरेंसेस इसमें कवर हो रहे हैं आर्गुमेंट
क्या होते हैं वो वैल्यूज दैट आर पास्ड इन
फंक्शन कॉल फंक्शन कॉल के अंदर जो जो
वैल्यू हमने पास करी उसको आर्गुमेंट कहते
हैं पैरामीटर्स क्या होते हैं वैल्यूज इन
फंक्शन डिक्लेरेशन एंड डेफिनेशन
डिक्लेरेशन में जो वैल्यू लिखी होती है और
डेफिनेशन में उसको हम पैरामीटर कहते हैं
जैसे अपने कोड के अंदर यहां पर हमने इंट ए
भी लिखा है या इंट n लिखा है ये भी हमारा
पैरामीटर है और ये भी पैरामीटर है और जहां
कॉल कर दिया जहां डेटा टाइप नहीं लिखा हुआ
वो हमारा आर्गुमेंट है अब आर्गुमेंट का
काम होता है टू सेंड वैल्यू पैरामीटर का
काम होता है टू रिसीव वैल्यू आर्गुमेंट को
हम एक्चुअल पैरामीटर भी कहते हैं और
पैरामीटर को हम फॉर्मल पैरामीटर्स भी कहते
हैं ये कुछ-कुछ डिफरेंसेस हैं जो आप थोड़ा
सा हल्का सा याद कर सकते हैं याद करना भी
बहुत जरूरी है क्योंकि जब भी लैंग्वेज हम
कुछ-कुछ चीजें तो हमें याद तो करनी पड़ेगी
क्योंकि जब भी नया कोड आपके सामने आएगा
सिंटेक्स जो बेसिक प्रोग्रामिंग के
कांसेप्ट होते हैं वो हमें याद करने पड़ते
हैं आगे जाकर जब बड़ी प्रॉब्लम्स होते हैं
ना उनको हम लॉजिक से सॉल्व कर सकते हैं
जैसे ए बी सीडी में ए बी सीडी याद करने
पड़ते हैं कि कैसे लिखते थे प्रैक्टिस भी
करते थे बार-बार बार-बार लिखने की वैसे ही
अभी हम अपने c का ए बी सीडी सीख रहे हैं
इस ए बी सीडी को याद भी करना है अब कुछ
नोट्स होते हैं फंक्शंस को लेके सबसे पहला
फंक्शन कैन ओनली रिटर्न वन वैल्यू एट अ
टाइम जैसे फंक्शन में पैरामीटर्स तो आप
चाहे 100 लिख दीजिए यहां पर सम के अंदर
हमने x भी ले लिया y भी ले लिया अगर कुछ
और तीन नंबर्स का एवरेज निकालना होता तो
उसमें a बी c तीन नंबर ले सकते थे कितने
भी पैरामीटर्स ले सकते हैं पर रिटर्न
हमेशा एक वैल्यू होती है फंक्शन हमेशा एक
ही वैल्यू रिटर्न कर सकता है दो वैल्यू
रिटर्न नहीं कर सकता सेकंड है चेंजेज टू
पैरामीटर इन फंक्शंस डोंट रिफ्लेक्ट द
वैल्यूज इन कॉलिंग फंक्शन इसको सबसे पहले
एग्जांपल से देखते हैं क्योंकि ये
स्टेटमेंट हम देखेंगे तो
कॉम्प्लेक्शन देखेंगे हम क्या करते हैं
सबसे पहले एक फंक्शन बनाते हैं इसको नाम
देंगे प्रिंट प्राइस ये फंक्शन क्या करता
है ये इसको सिर्फ कैलकुलेट प्राइस भी नाम
दे सकते हैं किसी भी आइटम का प्राइस ये ले
लेगा उसमें 18 पर जीएसटी ऐड करेगा और फिर
उस वैल्यू को प्रिंट करवा देगा तो इस
फंक्शन का रिटर्न टाइप वॉइड रख देते हैं
नाम हम इसको देते हैं कैलकुलेट प्राइस और
इसके अंदर कोई वैल्यू आ रही होगी इंट
वैल्यू अब इस फंक्शन की डेफिनेशन लिखते
हैं वॉइड कैलकुलेट प्राइस इसके अंदर आएगी
कोई वैल्यू इंट वैल्यू अब यह वैल्यू में
ही क्या कर देगा वैल्यू प्लस इन फैक्ट इस
इंटी जर वैल्यू को फ्लोट बना देते हैं
फ्लोट क्यों क्योंकि 18 पर एक डेसीमल
वैल्यू होगी मोस्ट प्रोबेबली तो हमारे लिए
आसान रहेगा वैल्यू को बना देगा वैल्यू
प्लस
0.18 मल्टीप्ला बाय वैल्यू इसने क्या किया
18 पर यहां पर जीएसटी ऐड कर दिया इस
वैल्यू के अंदर और अब इस सेम वैल्यू को ये
करा देगा प्रिंट फाइनल प्राइस परसेंटेज ए
वैल्यू तो यहां पर हम अपनी जो वैल्यू है
उसको शुरुआत में कोई भी मान लीजिए 100
हमने इसको असाइन किया है अब 100 के हिसाब
से कैलकुलेट प्राइस को हम कॉल लगा देंगे
जिसमें अपनी वैल्यू को पास कर देंगे इसको
कर लेते हैं सेव और इसको करते हैं एक बार
रन रन करते ही क्या हुआ इसने हमारा प्राइस
हमें बता दिया कि ₹1 था उसमें इसने %
जीएसटी लगाया तो 11118 हो गया और वो इसने
हमें फाइनली प्रिंट करवा के दे दिया इतना
बिल्कुल क्लियर है अगर हमने फंक्शंस काफी
अच्छे से समझ ली हैं अच्छे से हमने देखे
हैं क्वेश्चंस क्वेश्चंस को खुद से भी
थोड़ा बहुत करने की कोशिश करिए अभी तक पॉज
करके वीडियो को बीच-बीच में तो अभी तक के
कोड में हमें कोई इशू नहीं होना चाहिए कोई
प्रॉब्लम नहीं होनी चाहिए बहुत आराम से
समझ में आना चाहिए क्योंकि सबसे बेसिक
चीजें करी हैं अपना फंक्शन डिक्लेयर करा
है फंक्शन डिफाइन किया है और फंक्शन को
कॉल लगाई है अब एक डिफरेंट चीज कर लेते
हैं यहां पे ना वैल्यू को प्रिंट करवाते
हैं पहले फंक्शन को कॉल लगा दी अब वैल्यू
को प्रिंट करवाते हैं तो वैल्यू इज
परसेंटेज f वैल्यू अब इसको सेव करते हैं
हमारे लॉजिक के हिसाब से क्या होना चाहिए
सबसे पहले हमने वैल्यू लिखी है 100 फिर
हुआ कैलकुलेट प्राइस को कॉल कैलकुलेट
प्राइस ने क्या किया वैल्यू में 100 मेंड
कर दिया 18 पर जीएसटी तो प्राइस हो गया
118 तो वैल्यू को उसने यहां पर प्रिंट
करवा दिया 118 अब वापस से मेन फंक्शन के
अंदर आएंगे अब दोबारा से वैल्यू को प्रिंट
करवा रहे हैं तो अब हमारे कंसोल में
प्रिंट होगा 118 और फिर रिटर्न होके हमारा
फंक्शन हो जाएगा खत्म यह हमारा लॉजिक हमें
बता रहा है अब इस फंक्शन को अगर सेव करके
रन करें तो इस बार प्रिंट हुआ है सबसे
पहले फाइनल प्राइस इ 118 बट वैल्यू इज 100
ऐसा क्यों प्रिंट हुआ यहां पर कैलकुलेट
प्राइस के अंदर तो हमारी वैल्यू 118 है पर
मेन फंक्शन के अंदर जैसे ही हम वापस जा
रहे हैं वैल्यू दोबारा से 100 हो जा रही
है ऐसा इसलिए हुआ क्योंकि जो भी चेंज जो
भी काम हम अपने दूसरे फंक्शंस के अंदर
करते हैं जैसे कैलकुलेट प्राइस जैसे
फंक्शन के अंदर करते हैं अपने पैरामीटर
में हम कोई भी चेंज करें वो आर्गुमेंट में
रिफ्लेक्ट नहीं करेगा यानी इस वैल्यू को
चाहे आप जीरो बना दीजिए कैलकुलेट प्राइस
में वो हमारी इस वैल्यू वाले आर्गुमेंट को
चेंज नहीं कर पाएगा तो ये एक प्रॉपर्टी
होती है कि फंक्शंस के अंदर उसी वेरिएबल
में आप कितनी भी चेंजेज करते रहिए पर
ओरिजिनल जो कॉलिंग के टाइम पर आर्गुमेंट
था उसकी वैल्यू में कोई चेंज नहीं आएगा तो
अगर आपके फंक्शन में कोई गलत कोड लिखा हुआ
है जिसकी वजह से मान लीजिए कोई इश्यूज हो
गए हैं और वहां पे अ आपके वेरिएबल की
वैल्यू ज़ीरो हो गई नेगेटिव हो गई गलत हो
गई तो आपके मेन फंक्शन को फर्क नहीं
पड़ेगा क्योंकि उसके अंदर सारा कोड सही है
और वैल्यूज ठीक होंगी तो यहीं से ये
प्रॉपर्टी आती है कि चेंजेज टू पैरामीटर्स
इन फंक्शन पैरामीटर में जो चेंजेज होते
हैं दे डोंट चेंज द वैल्यूज कॉलिंग फंक्शन
कॉलिंग फंक्शन के अंदर वो आर्गुमेंट की
वैल्यू को चेंज नहीं करते और ऐसा क्यों
होता है ऐसा होने के पीछे रीजन है बिकॉज़
अ कॉपी ऑफ आर्गुमेंट इज पास्ड टू द फंक्शन
जब भी ये मेन फंक्शन कैलकुलेट प्राइस
से अपना प्राइस कैलकुलेट कराएगा उसको यह
वैल्यू भेजता है पर यह जो वैल्यू है ना यह
कॉपी होती है यह ओरिजिनल वैल्यू वेरिएबल
यहां पर नहीं आता कैलकुलेट प्राइस के पास
उसका जो वैल्यू वेरिएबल है उसके अंदर इस
आर्गुमेंट की वैल्यू कॉपी हो जाती है उसके
अंदर जो डाटा था वैल्यू के अंदर
100.0 वह सारा का सारा आर्गुमेंट की
वैल्यू पैरामीटर के अंदर कॉपी होती है यही
रीज़न है कि उस कॉपी में कुछ भी चेंज आप
करते रहो वह ओरिजिनल में आपको चेंज वापस
लाकर नहीं देगा नेक्स्ट एक सवाल सॉल्व
करते हैं सवाल यूज़ करता है हमारे
लाइब्रेरी फंक्शन को यूज़ लाइब्रेरी
फंक्शंस टू कैलकुलेट द स्क्वायर ऑफ़ अ
नंबर गिवन बाय द यूज़र अब हमें पता है
स्क्वायर ऑफ़ अ नंबर क्या होता है
स्क्वायर ऑफ़ अ नंबर होता है नंबर
मल्टीप्ला ड बाय नंबर पर हमें यहां यूज
करना है लाइब्रेरी फंक्शन तो एक लाइब्रेरी
होती है मैथड ए जिसके अंदर मैथ के सारे
फंक्शंस होते हैं इस लाइब्रेरी के अंदर एक
फंक्शन होता है जिसका नाम है पावर इसके
बारे में हम थोड़ा सा पहले भी डिस्कस कर
चुके हैं अब पावर फंक्शन का नाम होता है
पीओ डब् जिसके अंदर सबसे पहले हम डालते
हैं अपना नंबर यानी जिस भी नंबर का हमें
पावर लेना है उसके बाद डालते हैं पावर तो
हम डालेंगे टू तो ये क्या रिटर्न करेगा
रिटर्न कर देगा नंबर टू द पावर 2 यहीं पर
अगर हम डालते पाव n4 तो ये क्या रिटर्न
करता हमें n की पावर 4 पर हमें क्योंकि
स्क्वायर लेना है तो हम नंबर और टू को डाल
रहे होंगे तो इसको यूज करते हैं एक बार
ऊपर सबसे पहले इंक्लूड कर लेंगे अपनी
लाइब्रेरी को अगर इसको इंक्लूड नहीं
करेंगे तो फंक्शन को यूज नहीं कर पाएंगे
इसलिए ऊपर हमें ये मैथड ए को इंक्लूड करना
ही पड़ेगा उसके बाद क्या करेंगे अपने मेन
फंक्शन के अंदर इसको कर लेते हैं कॉमेंट
आउट एक नंबर लेते हैं इंट n इंट n की
वैल्यू को हम रख लेते हैं फोर अब प्रिंट
करवाते हैं परसेंटेज d यहां लिखेंगे हम
पावर सबसे पहले डालेंगे नंबर n और फिर टू
तो इस स्टेटमेंट को अगर ध्यान से देखें तो
हमने क्या किया पावर फंक्शन को कॉल लगाई
है फिर पैरेंस में पहला पैरामीटर है उसका
नंबर n और दूसरा पैरामीटर है उसका जो भी
पावर आपको नंबर के ऊपर डालनी है यानी दो
तो ये फंक्शन हमें n टू द पावर 2 कैलकुलेट
करके वापस दे देगा जिसको हमारा प्रिंट एफ
यानी हमारा दूसरा लाइब्रेरी फंक्शन प्रिंट
करवा देगा स्क्रीन के ऊपर अब इस कोड को एक
बार सेव करते हैं और रन करते हैं यहां पे
हमारे पास एक वार्निंग जनरेट हुई है
वार्निंग कहती है इंट बट द आर्गुमेंट टाइप
इज डबल यानी यह जो नंबर है हमारा यह पावर
फंक्शन क्या करता है हमें डबल वैल्यू
रिटर्न करके देगा इसमें अगर देखें तो पावर
फंक्शन का जो डिक्लेरेशन स्टेटमेंट है वो
आ गया हमारे पास डबल इसका रिटर्न टाइप है
पावर इसका नाम है और ये दो वैल्यूज लेता
है डबल और डबल अब यहां पे ऑटोमेटिक इंटी
जर जो है हमने इंटी जर n पास करा है और
इंटी जर 2 पास किया है यह दोनों वैल्यूज
अपने आप इंप्लीड डबल में कन्वर्ट हो सकती
हैं क्योंकि डबल बड़ा डाटा टाइप है छोटे
से बड़े कंटेनर में डाल सकते हैं बड़े कम
कंटेनर से छोटे में डालने में परेशानी
होती है तो कंपाइलर ऑटोमेटिक छोटे से बड़े
में डाल सकता है तो इनको कन्वर्ट कर देगा
पर वह अपने डबल को इंटी जर में कन्वर्ट
नहीं करेगा इसीलिए यहां पर f लिख देते हैं
फ्लोटिंग वैल्यू प्रिंट करवाने के लिए तो
हमारे जो जो परसेंटेज f होता है वो डबल के
लिए ही होता है पर फ्लोटिंग वैल्यूज भी
परसेंटेज f से ही प्रिंट हो जाती है
इसीलिए जब भी डबल प्रिंट करवाना हो जब भी
डबल को स्कैन करना हो तो परसेंटेज एफ का
यूज करेंगे फ्लोट ऑटोमेटिक उसी से हमारे
पास इनपुट होके आता है अब नेक्स्ट सवाल
जिसकी हम बात कर रहे होंगे उसका नाम है
राइट फंक्शंस टू कैलकुलेट एरिया ऑफ अ
स्क्वायर अ सर्कल एंड अ रेक्टेंगल तो तीन
फंक्शंस हमें बनाने हैं एक फंक्शन एरिया
ऑफ अ स्क्वायर कैलकुलेट करेगा एक सर्कल का
एरिया कैलकुलेट करेगा और एक रेक्टेंगल का
एरिया कैलकुलेट करेगा तीनों फंक्शन को
सबसे पहले अपने प्रोग्राम में ऊपर हम कर
लेंगे डिक्लेयर सबसे पहले एरिया ऑफ
स्क्वायर की बात करते हैं एरिया ऑफ
स्क्वायर क्या करेगा इसको मान लीजिए इंटी
जर ही साइड आएगी और इंटी जर ही स्क्वायर
आएगा तो इंटी जर इसका रिटर्न टाइप होगा या
फ्लोट कर लेते हैं फ्लोट इसका रिटर्न टाइप
होगा और इसका नाम है स्क्वेयर एरिया इसके
अंदर पास कर रहे होंगे हम साइड ऑफ द
स्क्वेयर इसकी डेफिनेशन लिख लेते हैं
फ्लोट ये इंटी जर साइड नहीं ये फ्लोटिंग
वैल्यू हो स्क्वायर एरिया अंदर आएगा हमारे
पास पैरामीटर फ्लोट साइड एरिया ऑफ़ अ
स्क्वायर होता है साइड मल्टीप्ला बाय साइड
तो यहां से डायरेक्टली हम रिटर्न कर देंगे
साइड मल्टीप्ला बाय साइड अब लिखेंगे एरिया
ऑफ़ अ सर्कल तो सबसे पहले फ्लोट सर्कल
एरिया अंदर आएगी हमारे पास फ्लोटिंग
वैल्यू उसकी रेडियस तो इसकी भी डेफिनेशन
लिख लेते हैं फ्लोट सर्कल एरिया अंदर आएगी
फ्लोट रेडियस क्या रिटर्न करेंगे क्या
होता है सर्कल का एरिया हमारे पास p r स्
तो 3.1 4 मल्टीप बाय रेडियस इन रेडियस अब
एक और फंक्शन बना लेते हैं जो रेक्टेंगल
का एरिया कैलकुलेट करेगा फ्लोट रेक्टेंगल
एरिया इसमें आएंगी दो वैल्यूज फ्लोट साइड
ए और
फ्लोट इसका भी रिटर्न टाइप हो गया फ्लोट
नाम इसको हमने दिया रेक्टेंगल एरिया दो
वैल्यूज आएंगे इसके अंदर हमारी सबसे
पहले साइड ए और उसके बाद साइड बी
रेक्टेंगल का एरिया क्या होता है a * बी
तो रिटर्न कर देंगे a मल्टी बा b तो
फ्लोटिंग वैल्यू फ्लोटिंग वैल्यू से
मल्टीप्लाई होगी तो आउटपुट में भी एक
फ्लोटिंग वैल्यू आएगी जो रिटर्न होकर
जाएगी मेन फंक्शन के अंदर क्या करते हैं
एग्जांपल के लिए रेक्टेंगल को कॉल लगा
लेते हैं फ्लोट a इज इ
5.0 फ्लोट b =
10.0 अब वैल्यू को प्रिंट करवा लेते हैं
अपने एरिया को एरिया इज परसेंटेज f
यहां कॉल लगा लेंगे रेक्टेंगल एरिया
जिसमें पास कर देंगे सबसे पहली वैल्यू a
फिर दूसरी वैल्यू हमारी बी इस कोड को कर
लेते हैं सेव तीनों फंक्शंस को डिक्लेयर
किया तीनों फंक्शंस को हमने डिफाइन किया
मेन फंक्शन के अंदर हम ए और बी को टेस्ट
करते हुए रेक्टेंगल का एरिया कैलकुलेट
करेंगे टर्मिनल खोल लेते हैं कंपाइल एंड
रन तो आउटपुट हमारे पास आ गया है 5 * 10 =
50 इस तरीके से बहुत सारे फंक्शंस आप बना
सकते हैं कोड के अंदर और स्वाद अनुसार जिस
भी फंक्शन की हमें जरूरत पड़े उसी फंक्शन
को कॉल करा के उससे वैसा सा ही हम काम
करवा सकते हैं नेक्स्ट जिस टॉपिक की हम
बात करने वाले हैं सी के अंदर उसका नाम है
रिकर्स अब रिकर्स जो स्टूडेंट्स पहली बार
प्रोग्रामिंग सीख रहे हैं उनको जादूई
टॉपिक लग सकता है जादू अगर आपको दिखने लगे
तो बिल्कुल परेशान की बात नहीं है आप
प्रोग्रामिंग सीख रहे हैं रिकर्स का मतलब
होता है कि जब भी एक फंक्शन खुद ही को कॉल
लगाता है तो उस प्रोसेस को हम रिकॉर्न
कहते हैं अब जैसे मेन फंक्शन दूसरे
फंक्शंस को कॉल लगा रहा था एक फंक्शन
दूसरे फंक्शन को कॉल लगा रहा था नमस्ते
फंक्शन ने बंजू फंक्शन को कॉल लगाई थी या
कोई और फंक्शन दूसरे फंक्शन को कॉल लगा
सकता है यह बिल्कुल नॉर्मली प्रोग्रामिंग
के अंदर चलता है पर जब कोई फंक्शन खुद ही
को कॉल लगा दे फिर दोबारा से खुद ही को
कॉल लगा दे इस तरीके के प्रोसेस को हम
रिकर्स कहते हैं जब एक फंक्शन बार-बार
बार-बार खुद ही को कॉल लगाता रहता है जैसे
इसको सबसे पहले एक एग्जांपल की हेल्प से
देखते हैं हमें एक सवाल करना है जिसका नाम
है प्रिंट हेलो वर्ल्ड पांच टाइम्स हमें
हेलो वर्ल्ड प्रिंट करना है पर पांच बार
प्रिंट करना है अब इसको हम आइट मेशन की
हेल्प से कर सकते थे यानी लूप्स की हेल्प
से कर सकते थे पर यहां पर हम यूज करेंगे
रिकर्स का अच्छा एक छोटी सी चीज जो काफी
इंटरेस्टिंग लग सकती है प्रोग्रामिंग के
अंदर कोई भी काम अगर लूप से हो सकता है तो
वो काम रिकर्स से भी हो सकता है और जो काम
रिकर्स से हो सकता है वो काम लूप से भी हो
सकता है पर डिफरेंस इतना है कि जिस काम को
लूप से करने में कभी-कभी हमें बहुत सारी
लाइनें लिखनी पड़ती है हैं वो रिकजन से
दो-तीन लाइनों में हो सकता है और जिस काम
को रिकजन से कभी-कभी करने में बहुत सारी
लाइनें लिखनी पड़ती हैं वो लूप से थोड़ी
सी लाइनों में हो जाता है तो हमें देखना
पड़ता है कि कहां आइट यानी लूप्स यूज
होंगे और कहां रिकॉर्न यूज होगा तो सबसे
पहले रिकर्ट का एग्जांपल देखने के लिए हम
हेलो वर्ल्ड प्रिंट करवाते हैं पांच बार
एक हमारा फंक्शन है जो हमें हेलो वर्ल्ड
प्रिंट करके देता है इसका नाम है वॉइड
प्रिंट हेलो वर्ल्ड और इसके अंदर हम पास
करते हैं एक पैरामीटर जो बताएगा कितनी बार
प्रिंट कर इसको हम काउंट भी कह सकते हैं
इंट काउंट इस फंक्शन की डेफिनेशन लिख लेते
हैं वाइंट प्रिंट हेलो वर्ल्ड और यहां पर
आ रहा होगा काउंट कि कितनी बार प्रिंट
करना है पर अंदर लूप नहीं लगाएंगे अंदर
क्या करेंगे फंक्शन एक ही बार प्रिंट
करवाएगा हेलो वर्ड ये फंक्शन क्या है
थोड़ा सा आलसी है थोड़ा सा काम खुद करेगा
और बाकी काम खुद ही से करवाएगा अगली कॉल
में तो अभी यह क्या करेगा हेलो वर्ल्ड को
प्रिंट करेगा हेलो वर्ल्ड पर उसको काउंट
टाइम्स प्रिंट नहीं करेगा काउंट टाइम्स
प्रिंट करवाने के लिए खुद ही को कॉल
लगाएगा तो प्रिंट हेलो वर्ल्ड अब एक बार
तो इसने प्रिंट करवा दिया एक बार हेलो
वर्ल्ड प्रिंट हो चुका है अब काउंट टाइम्स
प्रिंट करवाना था n टाइम्स यहां पर पांच
बार भी हो सकता है यहां पर 10 बार भी हो
सकता है अब एक बार प्रिंट करवा दिया तो
काउंट माइव टाइम्स प्रिंट करवाना बचा हुआ
है और अगर कभी भी ये काउंट -1 -1 -1 होते
होते इस काउंट की वैल्यू अगर जीरो हो जाए
उसके बाद तो कुछ प्रिंट कराने की जरूरत है
ही नहीं तो यहां पे सिर्फ लिख देंगे
रिटर्न नोटिस करेंगे यहां सिर्फ रिटर्न
लिखा है यहां रिटर्न ज़ीरो से ज़ीरो
रिटर्न हो रहा है रिटर्न के बाद अगर कुछ
नहीं लिखते तो कुछ नहीं रिटर्न होता
इसीलिए रिटर्न टाइप वॉइड तो ये हो गया
हमारा एक एग्जांपल रिकर्स का इसको हम र
कर्सिव फंक्शन भी कहते हैं अगर यह अभी
बिल्कुल समझ में नहीं आ रहा तो बिल्कुल
परेशानी की बात नहीं है इसको बस कंफ्यूज
करने के लिए रिकजन को इस तरीके से पहले
बताया जा रहा है ताकि मैजिक मैजिक सा लगाए
थोड़ा सा यहां पर क्या करेंगे प्रिंट हेलो
वर्ल्ड को कॉल लगाएंगे और काउंट अपना पास
करेंगे पांच क्योंकि हमें पांच बार प्रिंट
करना है इस कोड को कर लेते हैं सेव और
टर्मिनल में रन तो हमारे लिए हेलो वर्ल्ड
हेलो वर्ल्ड हेलो वर्ल्ड पांच बार प्रिंट
हो गया एक बार इसको फॉर्मेट कर लेते हैं
नेक्स्ट लाइन में तो पांच बार हेलो वर्ल्ड
प्रिंट हो गया अब अगर हम यहां पर 10 भी
लिखते 10 लिख के अगर सेव करते तो 10 बार
भी हेलो वर्ल्ड प्रिंट हो जाता अब इस
फंक्शन ने क्या किया प्रिंट हेलो वर्ल्ड
जो फंक्शन है यह अपने अंदर खुद ही को कॉल
लगा रहा है यानी प्रिंट हेलो वर्ल्ड को ई
कॉल लगा रहा है और बार-बार इस कॉल की वजह
से बार-बार बार-बार एक फंक्शन तो सिर्फ एक
बार हेलो वर्ल्ड प्रिंट करा रहा है तो ये
फंक्शन पांच बार खुद ही को कॉल लगाता है
और हेलो वर्ल्ड को बार-बार प्रिंट करवाता
है तो ये एक रिकर्स फंक्शन है और हमने अभी
रिकर्स का एग्जांपल देखा रिकर्स को हल्का
सा मैथ की हेल्प से समझते हैं अब मैथ जिन
बच्चों को स्कूल में पसंद नहीं थी उन्हें
हल्की सी बोरिंग लग सकती है पर बोरिंग मैथ
नहीं पढ़ाएंगे यहां पर बहुत छोटा सा
डिस्कशन करेंगे जैसे हमारे पास मैथ के
अंदर फंक्शन होते थे
fx1 निकालना होता था तो होता था व का
स्क्वायर यानी 1 अगर f2 निकालना होता था
तो वो होता था 2 का स्क्वायर यानी 4 अगर
f3 निकालना होता था तो वो होता था 3 का
स्क्वायर यानी 9 वैसे ही कुछ कुछ ऐसे ऐसे
टीचर्स थे जो परेशानी के लिए हमें थोड़े
तो इसको कैसे करेंगे पहले तो fxxx.pro
अपनी वैल्यू निकाल के हमें दे दी तो इसको
कह सकते हैं हमारा रिकर्स फंक्शन यह हमने
रिकर्स को मैथ में होते हुए देखा सबसे
पहले बाहर वाले f ने अंदर वाली वैल्यू
निकाली अंदर कॉल लगवाई फिर अंदर वाले ने
कुछ-कुछ काम किया बाहर वाले को दे दिया वो
काम फिर बाहर वाले ने कुछ-कुछ काम किया और
वो उसने हमें दे दिया तो लेवल्स हुए यहां
पर कॉलिंग के इसी तरीके से हो सकता है कोई
टीचर हमें क्या कहे f ऑफ f ऑफ f ऑफ x
निकालने के लिए जैसे f ऑफ f ऑफ f ऑफ एक्
अगर हमें निकालना हो तो इस केस में क्या
होगा सबसे पहले हम f एक की वैल्यू
निकालेंगे यहां पर इस फंक्शन ने खुद को
कॉल लगाई फिर इस फंक्शन ने दोबारा से खुद
को कॉल लगाई तो तीन कॉल्स हो गई है एक जो
हमने इसको लगाई एक जो इसने खुद को लगाई एक
जो दोबारा से इसने खुद को लगाई तो सबसे
पहले अंदर वाली कॉल काम करेगी अंदर वाली
कॉल क्या काम करेगी हमें x = 2 के लिए 4
दे देगी फिर बाहर वाली कॉल काम करेगी बाहर
वाली यानी इतना फंक्शन इतना फंक्शन क्या
काम करेगा f4 देगा f4 यानी 16 अब सबसे
बाहर वाला फंक्शन काम करेगा यानी यह वाला
फंक्शन यह वाला फंक्शन हमें 16 का
स्क्वायर रिटर्न करके देगा यानी हमारे पास
रिटर्न होकर आएगा
256 तो क्या हुआ लेवल वाइज काम हुआ और
इसको हम कह सकते हैं रिकजन का
एग्जांपल वैसे ही जो नॉर्मल फंक्शन कॉल
होती है यानी जब एक फंक्शन दूसरे फंक्शन
को कॉल लगाता है तो उसमें क्या होता है
हमारा एक मेन फंक्शन होता है मेन फंक्शन
क्या करता है एक नॉर्मल फंक्शन f को कॉल
लगाता है यह नॉर्मल फंक्शन कुछ कुछ कुछ
कुछ काम हमें करके देता है और वापस एक
वैल्यू मेन फंक्शन को रिटर्न करके दे देता
है हो सकता है यह नॉर्मल फंक्शन किसी और
फंक्शन y एक को कॉल लगा रहा हो वो y एक्
कोई काम रिटर्न करके f एक को दे और f एक
वापस से अपना जो कंट्रोल है वो मेन फंक्शन
को दे इस तरीके का हमारा नॉर्मल फंक्शन
कॉल रहता है पर जब भी हम रिकजन की बात
करते हैं ना रिकर्स के अंदर कुछ स्पेशल
होता है रिकर्स के अंदर हमारा मेन फंक्शन
अगर एक फंक्शन fxxx.pro
फंक्शन को दे रहा है तो हर बार जो कॉल लग
रही है वो लग तो खुद ही को रही है तो
बार-बार बार बार बार-बार खुद ही को कॉल
लगाने वाले फंक्शंस को रिकर्स फंक्शन कहते
हैं और इस प्रोसेस को हम रिकर्स कहते हैं
अब रिकर्स को करने का बहुत लॉजिकल तरीका
होता है और इस लॉजिकल तरीके को समझेंगे
सवाल की हेल्प से सवाल हमारा है सम ऑफ
फर्स्ट एंड नेचुरल नंबर्स हमें निकालना है
अब इसको थोड़ा सा एनालाइज करते हैं कि
फर्स्ट एंड नेचुरल नंबर्स का सम क्या हो
सकता है सम होता है 1 + 2 + 3 + 4 से लेकर
n - 1 + n तक जैसे 5 अगर n = 5 के लिए
हमें वैल्यू निकालनी हो तो वो होगा 1 + 2
+ 3 + 4+ 5 अगर n = 4 के लिए निकालना हो
वो होगा 1 + 2+ 3+ 4 n = 3 के लिए निकालना
हो 1+ 2+ 3 n = 2 के लिए निकालना हो 1+ 2
n = 1 के लिए निकालना हो 1 अब n = 0 हो
नहीं सकता क्योंकि रो होल नंबर है नेचुरल
नंबर है है नहीं यहां पे हम एक पैटर्न
ऑब्जर्व करेंगे पैटर्न यह है कि n
में सारे नेचुरल नंबर्स में यह वैल्यू
कॉमन है इसके बाद यह वैल्यू कॉमन है इसके
बाद यह वैल्यू कॉमन है फिर यह वैल्यू कॉमन
है इस तरीके से रहता है तो नेचुरल नंबर्स
के सम को हम क्या लिख सकते हैं n = 2 को
हम क्या लिख सकते हैं इसको लिख सकते हैं
सम ऑफ n - 1 + 2 मतलब आप n - 1 तक का सम
कैलकुलेट कर लो उस में बस दो को ऐड कर दो
तो हमारे पास क्या होगा सम ऑफ n नेचुरल
नंबर्स आ जाएगा या इसको और प्रेसा इजली
लिखें तो सम ऑफ वन तक का सम निकाल लो
उसमें टू ऐड कर दो यहां पे क्या है टू तक
का सम निकाल लो उसमें थ्री ऐड कर दो इसका
क्या मतलब है थ्री तक का सम निकाल लो और
उसमें फोर ऐड कर दो ये हमारा हो गया थ्री
तक का सम और इसमें हमने फोर को ऐड कर दिया
इसका क्या मतलब है फोर तक का सम निकाल लो
और उसमें फाइव ऐड कर दो तो ये हो गया
हमारा फोर तक का सम और उसमें हमने ऐड कर
दिया फाइव को इसका क्या मतलब है सम निकाल
लो n - 1 तक का और उसमें n को ऐड कर दो तो
ये सारे जो नंबर्स हैं ये हमें n - 1 तक
का सम दे रहे हैं और उसमें हमने ऐड कर
दिया अपने n को इसी तरीके से यहां पर टू
तक का सम है जिसमें ऐड कर दिया थ्री को
यहां पर वन तक का सम है जिसमें ऐड कर दिया
टू को तो एक तरीके से हम देख पा रहे हैं
कि सम हमें निकालना है n का तो हमें क्या
कह रहा है सम n का निकालने से पहले n - 1
का सम निकाल लो और उसमें n को को ऐड कर दो
तो सम फंक्शन तो सेम ही है मतलब यहां पर
जो हम काम करने की कोशिश कर रहे हैं और
यहां पर जो काम करने की कोशिश कर रहे हैं
वो सेम है बस उसमें हल्का सा डिफरेंस क्या
है बस एक वैल्यू को प्लस करना है तो ये
फंक्शन सम फंक्शन क्या करता है खुद ही को
कॉल लगा रहा है खुद ही को कॉल लगा रहा है
हम ये देख पा रहे हैं पहले n के लिए कॉल
लगा रहा है फिर n - 1 के लिए कॉल लगा रहा
है फिर n - 2 के लिए कॉल लगाएगा फिर n - 3
के लिए कॉल लगाएगा जब तक हम यहां तक नहीं
पहुंच जाते n = 1 तक नहीं पहुंच जाते ये
हमारी लास्ट वैल्यू है अब रिकजन को भी तो
कहीं ना कहीं खुद को कॉल तो लगाएगा पर एक
लिमिट तक कॉल लगा सकते हैं ना कि कितनी
बार खुद को कॉल लगानी है अगर n नंबर्स का
सम निकालना है तो n बार कॉल लगानी है और
ये कॉल कौन ट्रैक करेगा ये कॉल ट्रैक
करेंगे हमारे पैरामीटर्स क्योंकि पैरामीटर
में जैसे हमने काउंट की वैल्यू डिक्रीज
करते-करते ज़ीरो कर दी थी वैसे ही यहां पर
हम n की वैल्यू डिक्रीज करते-करते पहले
फाइव फिर फोर फिर थ्री फिर टू फिर वन वन
तक ले जाएंगे वन के बाद कोई और वैल्यू है
ही नहीं क्योंकि और नेचुरल नंबर्स है नहीं
तो यहां पर हमारी लास्ट वैल्यू होगी यहां
हमारी रिकजन खत्म हो जाएगी और इस कंडीशन
को हम बेस केस कहते हैं अब इस पूरे कोड को
हम एक बार लिख के देख लेते हैं और सारी
चीजों को समझते हैं सबसे पहले क्या करेंगे
अपने फंक्शन को ऊपर डिक्लेयर कर देंगे
फंक्शन का नाम है सम इसके अंदर हम पास
करेंगे अपना n तो अपने n की वैल्यू कुछ भी
हो सकती है सबसे पहले अपना रिकर्स फंक्शन
लिखते हैं अब ये जो फंक्शन है ना ये वॉइड
टाइप का नहीं है ये एक इंटी जर वैल्यू को
रिटर्न करेगा और ये इंटी जर वैल्यू क्या
इंजर वैल्यू होगी हमारा सम तो इंट सम इंट
ए एव से लेकर ए तक का हमें सम निकालना है
तो सम फंक्शन क्या कह रहा था न से लेकर n
तक सम निकालना है तो पहले न से लेकर n
माइव तक निकाल लो और उसम ए को ऐड कर दो तो
हम क्या करेंगे न से लेकर n माइनस तक का
सम निकाल लेंगे तो यहां लिख देंगे टू ए
माइव यह थोड़ा सा कॉम्लेक्स नाम हो गया तो
यहां बना लेंगे एक वेरिएबल इंटी
जर सम ऑफ
n माइन
1 इसको हम कहना चाह रहे हैं कि यह वैल्यू
इंडिकेट करती है सम
ऑफ टू ए व इस वेरिएबल के अंदर स्टोर कर
लेंगे व आएगा कहां से व आएगा इसी सम
फंक्शन से क्योंकि अगर यह सम फंक्शन ए
वैल्यूज का सम निकाल सकता है तो n माइव का
तो निकाल ही सकता है क्योंकि अभी हम लॉजिक
लिखेंगे यहां से हम निकाल लेंगे n माइव का
सम रिकजन के अंदर ना ट्रस्ट एक बहुत बड़ा
फैक्टर होता है हमें विश्वास रखना होता है
कि हमारा रिकर्स फंक्शन जो काम है वो हमें
करके दे देगा तो यहां पर हमें विश्वास
रखना है कि n-1 वैल्यूज का वो सम हमें
लाके दे देगा रिकजन जो है हल्का सा ट्रिकी
टॉपिक हो सकता है पर जितने ज्यादा इसके
सवाल सॉल्व करेंगे ना उतना ही हमें समझ
में आ जाएगा कि क्या मतलब होता है रिकजन
का खुद को कॉल करने का क्या लॉजिक होता है
तो सम माइव इसने निकाल लिया सम ऑफ n-1
उसके बाद क्या करेंगे जो हमारा सम होगा
टोटल सम ए तक का जो सम होगा वो होगा सम ऑफ
n - 1 + n
राइट और यह फंक्शन हमें पास रिटर्न करके
दे देगा सम ऑफ n तो एक बार दोबारा थोड़ा
सा समझते हैं इस फंक्शन का काम है कि ये
वन से लेकर n तक सारे नेचुरल नंबर्स का सम
हमें दे देगा तो सबसे पहले हम क्या करते
हैं n - 1 तक नेचुरल नंबर्स का सम ले लेते
हैं तो वो हमने लिया और इस वेरिएबल में
स्टोर करा दिया फिर सम ऑफ n क्या होता है
n - 1 तक का सम प्लस उसमें n तो उन दोनों
को सम ऑफ n में स्टोर करा दिया और रिटर्न
करवा दिया सम ऑफ n अब यहां पर बेस कंडीशन
क्या होगी हर बार हमारे n की वैल्यू जो है
वो -1 माइव होते जाएगी तो बेस कंडीशन होगी
अगर ए की वैल्यू वन हो जाए उस केस में
हमें पता है कि सम ऑफ वन क्या होता है न
तो य हम डायरेक्टली आंसर रिटर्न कर देंगे
च इज वन इसको कर लेते हैं सेव और अपने मेन
फंक्शन में कॉल लगाते हैं प्रिंट ए सम इज
परसेंटेज डी पास करते हैं सबसे पहले फ सम
ऑफ 1 टू 5 हमें कैलकुलेट करके प्रिंट
करवाना है इसको कर लेते हैं सेव एंड रन तो
पांच तक 1 + 2 + 3 + 4 + 5 का सम हमारे
पास 15 आया है और ये कैसे आया होगा उसको
एक बार हल्का सा एनालाइज कर लेते हैं तो
हमने सबसे पहले क्या किया हमने कॉल लगाई
सम ऑफ फाइव को सम ऑफ फाइव ने सोचा सबसे
पहले मैं सम ऑफ फोर कैलकुलेट कर लेता हूं
उसमें मैं क्या करूंगा पांच को ऐड कर
दूंगा सम ऑफ फोर ने सोचा सबसे पहले ना मैं
एक से तीन तक का सम निकाल लेता हूं उसमें
मैं चार को ऐड कर दूंगा फिर सम ऑफ़ तीन ने
यही चीज सोची कि मैं भी स्मार्ट बनता हूं
एक से दो तक का सम कैलकुलेट करता हूं
उसमें सिंपली तीन को ऐड कर दूंगा मैं
क्यों ज्यादा काम करूं सम ऑफ दो ने सोचा
दिस इज टू माय हैंडराइटिंग इज वेरी बैड कि
मैं सम ऑफ वन कैलकुलेट कर लेता हूं उसमें
मैं दो को ऐड कर दूंगा और सम ऑफ वन को तो
पता ही है कि उसकी वैल्यू वन होती है तो
इस तरीके का हमारा प्रोसेस रहा तो
एक्चुअली हुआ क्या वन हमारा बेस केस था वन
ने यहां पर वन रिटर्न कर दिया तो यहां पे
हुआ 1 + 2 यानी 3 यह वैल्यू 3 यहां पे
वापस रिटर्न होकर आई तो यहां हुआ 3 + 3
यानी 6 ये वैल्यू 6 यहां पर रिटर्न होकर
आई यहां हुआ 6 + 4 यानी 10 तो ये 10
वैल्यू यहां पर रिटर्न हो करर आई यहां हुआ
10 + 5 यानी 15 तो यह वैल्यू यहां से
रिटर्न होकर वापस हमारे मेन फंक्शन पे
हमारे पास आंसर आया 15 तो हर लेवल पर हमें
काम जो है वो अगले वाले लेवल को देते चले
गए पर कहीं ना कहीं तो उस काम को एक्चुअली
लिखना होगा और वो एक्चुअली लिखने का काम
हमने किया यहां पर हमारे बेस केस में बेस
केस क्या करेगा रिकर्स को रोक देगा प्लस
हम विश्वास कर रहे हैं कि अगले वाला लेवल
हमें कुछ काम करके दे देगा अगले वाला लेवल
हमें कुछ काम करके दे देगा पर वो एक्चुअली
काम कहीं तो करना पड़ेगा किसी ना किसी
लेवल पर तो वो काम होता है हमारे बेस केस
पर हमारे लास्ट लेवल पर तो ये n टाइम्स
हमारे लेवल्स जो है कॉल हुए यह पहला लेवल
था यह दूसरा लेवल था यह तीसरा लेवल था यह
चौथा लेवल था यह पांचवा लेवल था इसको
प्रोग्रामिंग की भाषा में कहते हैं रिकर्स
ट्री पर इतना डिटेल में हमें जाने की
जरूरत है नहीं रिकर्स ट्री शब्द भी मुझे
नहीं लगता कि सी प्रोग्रामिंग में हमें
याद रखने की जरूरत है क्या होता है पर अगर
डायग्राम से रिकजन को समझना है हमने क्या
किया हमने डब्बो से रिकजन को समझ लिया
हमने कोड से रिकर्स को समझ लिया हमने
मैथ्स से रिकजन को समझ लिया और अब हमने
डायग्राम से रिकर्स को समझ लिया तो रिकजन
को समझने के जो चारों दिशाओं वाले तरीके
होते हैं वो सारे के सारे हम डिस्कस कर
चुके हैं और बहुत सबसे ज्यादा प्यारे
तरीके से सबसे ज्यादा अच्छे तरीके से
मैंने बहुत कोशिश करी है कि रिकर्स को मैं
काफी अच्छे से जहन में बिठा पाऊं तो वो
चीज हम काफी अच्छे से कर चुके हैं अब अगले
सवाल को करते हैं अगला सवाल हमारा कहता है
फैक्टोरियल ऑफ n हमें करना है तो जैसे
हमने सम ऑफ n निकाला था वैसे ही
फैक्टोरियल ऑफ n कहता है अब रिकजन करने से
पहले ना पेपर पेन का हमें थोड़ा सा
इस्तेमाल करना होता है और थोड़ा सा दिमाग
पे हमें लॉजिकली सोच के फाइंड आउट करना
होता है कि रिकर्ट होगा कैसे ये बहुत ही
स्टैंडर्ड क्वेश्चंस हम कर रहे हैं सी के
अंदर मोस्टली यही क्वेश्चन पूछे जाते हैं
एग्जाम के अंदर तो इतनी टेंशन भी लेने की
जरूरत नहीं है एक बार आप ये क्वेश्चंस
प्रैक्टिस कर लेंगे साथ में एक दो होमवर्क
प्रॉब्लम होंगे वो कर लेंगे कोई परेशानी
नहीं आएगी आपको एग्जाम के अंदर फैक्टोरियल
ऑफ n हमें निकालना है तो जैसे सम क्या
कहता था सम कहता था कि सम ऑफ n निकालना है
तो सम ऑफ n - 1 निकाल लो उसमें n को ऐड कर
दो वैसा ही कुछ हमारा केस होता है
फैक्टोरियल का ध्यान से अगर फॉर्मूले को
देखें तो 5 फैक्टोरियल क्या कहता है 5
फैक्टोरियल होता है 1 * 2 * 3 * 4 * 5 4
फैक्टोरियल क्या होता है 1 * 2 * 3 * 4 3
फ्टो क्या होता है 1 * 2 * 3 2 फ्टो क्या
होता है 1 * 2 और 1 फ्टो क्या होता है
हमारा 1 तो इसको 5 फैक्टोरियल को हम क्या
लिख सकते हैं इसको लिखा जा सकता है 4 * 5
इसको क्या लिख सकते हैं 4 फ्टो को 3 फट *
4 इसको लिख सकते हैं 2 फ्टो * 3 इसको लिख
सकते हैं 1 फ्टो * 2 और ये तो हमारा वन ही
रहेगा हमेशा ओबवियसली इससे नीचे कैसे
कैलकुलेट करेंगे या तो 0 फैक्टोरियल
लिखेंगे दैट इज आल्सो रो पर इसको रो से
मल्टीप्लाई नहीं कर सकते तो बेस केस हम 1
फैक्टोरियल पे लगा सकते हैं जहां पे
वैल्यू ऑलरेडी डिफाइंड होगी तो यहां पे भी
हमारे पास एक रिकर्व फंक्शन बन गया रिकर्व
फंक्शन क्या बना कि फैक्टोरियल ऑफ n अगर
हमें निकालना हो तो उसकी वैल्यू क्या होगी
आप जी फैक्टोरियल ऑफ n - 1 मुझे बता दो
उसमें बस मुझे क्या करना है अपने n को
मल्टीप्लाई कर देना है यह हमारा रिकर्स
फंक्शन है बिल्कुल सम के जैसा है सम ऑफ n
निकालना है तो क्या करो सम ऑफ n - 1 मुझे
बता दो उसमें मैं n को ऐड कर दूंगा वैसे
ही फैक्टोरियल में फैक्टोरियल ऑफ n बता दो
उसमें n - 1 को मैं मल्टीप्लाई कर दूंगा
तो मेरा फैक्टोरियल ऑफ n मेरे पास आ जाएगा
तो इस सेम तरीके को हम कोड में कन्वर्ट
करते हैं सबसे ऊपर अपना फंक्शन लिखेंगे
फैक्टोरियल जिसमें हमें किसी भी नंबर n का
फैक्टोरियल निकालना है अब फंक्शन की
डेफिनेशन इंट फैक्टोरियल जिसके अंदर पास
करेंगे पैरामीटर n फैक्टोरियल ऑफ n
निकालने से पहले फैक्टोरियल ऑफ n - 1
निकाल लेते हैं विश्वास करते हैं ये
फंक्शन कैलकुलेट करके दे देगा फैक्टोरियल
ऑफ n-1 तो लिखेंगे इंट फैक्टोरियल ऑफ n -
1
= फैक्टोरियल
n-1 अब इंट फैक्टोरियल ऑफ n होगा
फैक्टोरियल ऑफ n - 1 मल्टीप्ला बाय n और
रिटर्न कर देंगे फैक्टोरियल ऑफ n और बेस
केस यहां पर क्या होगा कब हम रुक जाएंगे
हम तब रुक जाएंगे जब हमारे n की वैल्यू वन
हो जाएगी जैसे ही n की वैल्यू वन हो गई
वैसे ही हम रिटर्न कर देंगे वन या इनफैक्ट
यहां पर रो पे भी रुक सकते हैं जीरो
रिटर्न हुई तो उस केस में हम रिटर्न कर
देंगे वन को तो कर लेते हैं सेव अब यहां
पर हम लिखेंगे फैक्टोरियल इज़ फाइव का
फैक्टोरियल निकाल लेते हैं न्यू टर्मिनल
कंपाइल एंड रन तो पांच का फैक्टोरियल
हमारे पास 120 प्रिंट होकर आ गया ऐसे ही
हम चार का भी फैक्टोरियल निकाल सकते हैं 4
का फैक्टोरियल 24 प्रिंट होके आ जाएगा अब
एनालाइज करते हैं किया क्या हमने यहां पर
फैक्टोरियल में हमारे फैक्टोरियल फंक्शन
में हमें n का फैक्टोरियल निकालना था उसको
निकालने का सिंपलेस्ट तरीका क्या है
फैक्टोरियल ऑफ n - 1 निकाल लो वो कौन
निकालेगा सेम फंक्शन निकालेगा बस उसमें
पैरामीटर चेंज हो जाएगा उसके बाद
फैक्टोरियल n - 1 को मल्टीप्लाई कर देते
हैं n के साथ तो फैक्टोरियल n निकल गया
उसको हम कर देंगे फाइनली रिटर्न और यहां
पे भी एक ट्री स्ट्रक्चर बना के हम पूरा
का पूरा समझ सकते हैं कैसे चीजें काम
करेगी यहां पे भी वही सेम चीज होने वाली
है जो हमने पहले करी फैक्टोरियल पा को
हमने कॉल लगाया उसने सोचा पहले फैक्टोरियल
च निकाल लेता हूं उसमें मल्टीप्लाई कर
दूंगा पांच को फिर उसने कॉल लगाया
फैक्टोरियल 3 को उसमें मल्टीप्लाई कर
देंगे चार को फिर उसने कॉल लगाया
फैक्टोरियल दो को उसमें मल्टीप्लाई कर
देंगे तीन को फिर उसने कॉल लगाया
फैक्टोरियल वन को उसमें मल्टीप्लाई कर
देंगे टू को फैक्टोरियल व ने कॉल लगाया
फैक्टोरियल 0 को उसमें मल्टीप्लाई कर
देंगे वन को फैक्टोरियल ़ क्या कहता है वन
दे देता है क्योंकि यह है हमारा बेस
केस अब इसने यहां पे वैल्यू रिटर्न कर दी
1 1 * 2 हमें दे देगा 2 यहां पे टू रिटर्न
हुआ इसने दे दिया 2 * 3 6 यहां पे 6
रिटर्न हुआ इसने दे दिया 6 * 4 24 इसने 24
रिटर्न किया तो इसने दे दिया 24 * 5 = 120
तो फाइनल आंसर हमारे पास 120 प्रिंट हुआ
था फैक्टोरियल फव के लिए नेक्स्ट चीज
जिसकी हम बात करेंगे वो है कुछ प्रॉपर्टीज
ऑफ रिकजन तो रिकर्स की अपनी कुछ
प्रॉपर्टीज होती हैं सबसे पहला एनीथिंग
दैट कैन बी डन विद आइट मेशन कैन बी डन विद
रिकर्ट एंड वाइस वर्सा आइट मेशन से लूप से
हमने जो भी काम किए थे वो सारे काम रिकर्ट
से हो सकते हैं और रिकर्स से जो भी काम
करते हैं वो सारे आइट एशन से हो सकते हैं
बस कभी-कभी रिकर्ट हेल्प कर देता है बहुत
सिंपल कोड लिखने में कभी-कभी लूप हेल्प कर
देते हैं सेकंड प्रॉपर्टी है रिकजन कैन सम
टाइम्स गिव द मोस्ट सिंपल सॉल्यूशन ऐसे
ऐसे आगे जाकर डाटा स्ट्रक्चर हम पढ़ेंगे
ट्रीज के ट्री डाटा स्ट्रक्चर होता है वो
सी प् प्स में हम पढ़ सकते हैं जावा में
पढ़ सकते हैं उसको करते टाइम हम ट्री की
वैल्यूज लिखते हैं कुछ अभी हम इमेजिन नहीं
कर पा रहे होंगे पर वहां पर आइट का कोड
बहुत लंबा और कॉम्प्लेक्शन का कोड यूं तीन
लाइनों का कोड होता है सारी वैल्यूज को
प्रिंट कराने के लिए तो वहां पे रिकजन ऐसे
केसेस में बहुत ज्यादा सिंपल कोड लिखने
में हेल्प करता है बेस केस होता है रिकजन
के अंदर वो कंडीशन जो रिकजन को रोक देती
है तो रिकॉर्न बार-बार बार-बार चल रहा है
कहीं ना कहीं जाकर रुकेगा और जिस कंडीशन
में जाकर रुकेगा उसको हम कहते हैं अपना
बेस केस और चौथी प्रॉपर्टी होती है रिकजन
की कि आइट में जैसे हमारे पास
इनफाइनों पूरी भर जाएगी और उसके बाद हमारा
प्रोग्राम जो है क्रैश कर जाएगा वैसे ही
रिकजन अगर बार-बार बार-बार चलती रहे और
उसमें कोई बेस केस ना हो तो वहां पे उस
कंडीशन को हम कहते हैं स्टैक ओवरफ्लो
स्टैक ओवरफ्लो का बेसिक मतलब यही है कि
मेमोरी हमारी भर गई और अब हमारा प्रोग्राम
क्रैश कर जाएगा इसीलिए बेस केस बहुत
इंपॉर्टेंट होता है जब भी हम रिकजन की बात
करते हैं और जब भी रिकजन का प्रोग्राम लिख
रहे हैं बेस केस को हमें कभी नहीं भूलना
है जैसे एग्जांपल ले फैक्टोरियल केस कोड
में अगर मैं ये बेस केस हटा दूं
और य मान लो मैं हर बार प्रिंट करवा रही
हूं न दिस आई एम कैलकुलेटिंग कैलकुलेट
फैक्टोरियल ऑफ ए में कैलकुलेट कर रही
हूं जहां पर मुझे हर बार ए की वैल्यू को
प्रिंट करवाना है इसको कर लेती हूं सेव और
एक बार रन करती
हूं यहां पर मेरा प्रोग्राम एंड में क्रैश
हो गया है और प्रिंट हुआ सेगमेंटेशन फॉल्ट
सेगमेंटेशन फॉल्ट इसलिए हुआ है क्योंकि
रिकजन में कंडीशन जो
है बेस के मैंने नहीं लिखा एक बार दोबारा
से इसे रन कर लेते
हैं यह हुआ सेगमेंटेशन फॉल्ट प्रोग्राम
क्रैश यह क्यों हुआ ऊपर से जहां पर कॉल
लगाई थी वहां से अगर एनालाइज करें तो हर
बार हम देख रहे हैं कि ये नंबर जो है n था
पहले फिर n - 1 हुआ फिर n - 2 हुआ फाइव था
फोर्थ हुआ थ्री हुआ टू हुआ वन हुआ हर बार
फिर ज़ीरो हुआ हर बार हम क्या करते थे बेस
केस में रो पे रोक देते थे इस बार हमने वो
कंडीशन ही हटा दी कि ज़ीरो पे रुक जाओ तो
इस बार वो नेगेटिव में वैल्यूज उसकी शुरू
हो गई -1 हो गया -2 हो गया -3 हो गया -4
हो गया -5 हो गया और यहां पे हुआ -1 7338
फिर और नेगेटिव में और नेगेटिव में और
नेगेटिव में और नेगेटिव में और नेगेटिव
होता होता चला गया जब तक हमारा प्रोग्राम
जो है कंप्लीट भर नहीं गया और प्रोग्राम
क्रैश नहीं कर गया इसीलिए बेस केस को कभी
भी रिकॉर्न के टाइम में मिस नहीं करना है
क्योंकि बहुत सारे इश्यूज रेज हो जाते हैं
फिर आपका प्रोग्राम क्रैश कर जाएगा अब कुछ
सवाल करते हैं फंक्शंस के और रिकर्स के
सबसे पहला सवाल जिसको हम करने वाले हैं वो
है राइट अ फंक्शन टू कन्वर्ट सेल्सियस टू
फारेनहाइट हमने देखा था फिजिक्स पढ़ा करते
थे 11 12th में तो उसमें क्या सबसे पहले
बेसिक चीज कराते थे थर्मोडायनेमिक्स में
या पता नहीं कौन से चैप्टर में सेल्सियस
से फारेनहाइट में कन्वर्ट कर दो फारेनहाइट
से सेल्सियस में कन्वर्ट कर दो तो इसका
फार्मूला याद करने की जरूरत नहीं है
इंपॉर्टेंट ये नहीं है कि फॉर्मूला कौन सा
यूज़ होगा फॉर्मूला तो आप टीचर से भी पूछ
सकते हैं आपको यूजुअली एग्जाम्स में दिया
भी होगा या कोडिंग टेस्ट में अगर ये सवाल
दिया हो तो उसमें फॉर्मूला दिया होगा
फार्मूला होता है कि सेल्सियस की जो भी
वैल्यू है उससे मल्टीप्लाई कर दो 9/5 और
उसमें ऐड कर दो 32 तो जैसे 0 अगर हम ले 0
सेल्सियस क्या होता है मल्टीप्ला बा 0.18
+ 32 तो 0 डिग्री सेल्सियस होता है हमारा
32 डिग्री फट तो इस तरीके का कैलकुलेशन
हमारे पास रहता है इस फॉर्मूले का हम
इस्तेमाल कर रहे होंगे एक फंक्शन बनाता है
जो सेल्सियस वैल्यू को लेगा और फारेनहाइट
में कन्वर्ट कर देगा तो इस फंक्शन को हम
लिखते हैं सबसे पह फंशन को डिक्लेयर
करेंगे फंक्शन हमारा एक फ्लोटिंग वैल्यू
हमें रिटर्न करके दे देगा इस फंक्शन का
नाम है कन्वर्ट टेंपरेचर कन्वर्ट टेंपरेचर
में हमने कोई फ्लोटिंग वैल्यू इससे ले ली
जो
है सेल्सियस
अब इसको डिफाइन कर लेते हैं फ्लोट कन्वर्ट
टेंपरेचर और इसके अंदर वैल्यू हमारे पास
आई है
फ्लोट सेल्सियस हमें
सेल्सियस से फारेनहाइट में कन्वर्ट करना
है तो
इंट फारेनहाइट क्या होगा सेल्सियस वाली
हमारी वैल्यू मल्टीप्ला बाय
9/5 प्लस
32 तो अगर प्रेसीडें भी देखे तो सबसे पहले
मल्टीप्लाई होगा उसके बाद वैल्यू हमारी ऐड
हो रही होगी और इसको इंटी जर नहीं इसको
फ्लोट लिखते हैं और रिटर्न होकर
जाएगी हमारा फारेनहाइट वाली
वैल्यू मेन फंक्शन के अंदर क्या करेंगे
मेन फंक्शन के अंदर कॉल लगाएंगे कन्वर्ट
टेंपरेचर को उसमें पास कर देंगे मान लीजिए
रो डिग्री हमने पास
किया और यहां से हमारी फारेनहाइट वाली
वैल्यू हमारे पास रिटर्न होकर आ
जाएगी अब प्रिंट करवा देंगे अपने
फारेनहाइट वाले टेंपरेचर
को
परसेंटेज
ए इसको कर लेते हैं सेव तो कन्वर्ट
टेंपरेचर फंक्शन हमने बनाया जिसमें
सेल्सियस में वैल्यू आती है टेंपरेचर की
और रिटर्न हम करते हैं फारेनहाइट वाली
वैल्यू को इसको कर लेते हैं
रन तो हमारे पास 32 डिग्री फारेनहाइट
हमारे पास प्रिंट हो गया है ऐसे ही अगर
मान लीजिए सेल्सियस में कोई हम टेंपरेचर
भेज रहे हैं जैसे हम 32 अगर सेल्सियस भेज
रहे
हैं तो वो फारेनहाइट में कन्वर्ट हो जाएगा
64 डिग्री फट यहां पे एक छोटी सी मिस्टेक
हमसे हुई कि हमने यहां पे इंटी जर वैल्यूज
लिख दी 9/5 तो ये भी इंटी जजर है ये भी
इंटी जर है 9/5 अगर डिवाइड करेगा तो वन
देगा पर कायदे से इसको मल्टीप्लाई करना
चाहिए 1.8 के साथ तो यहां पे हम इसको 99.0
कर देते हैं इसको 5.0 कर देते हैं अब ये
फ्लोटिंग वैल्यूज हैं अब अपने कोड को रन
करते
हैं अब हमने पास किया था 32 डिग्री तो
हमारे लिए आया 89.5 1999 डिग्री फट अगर हम
नॉर्मल बॉडी टेंपरेचर पास करें व्हिच 37
डिग्री सेल्सियस तो 37 डिग्री सेल्सियस पर
आपको बुखार नहीं होता तो आपका बॉडी
टेंपरेचर यानी 98.5 फट तो जब भी हम बात
करते हैं ना कि बुखार हो गया है तो 98
डिग्री 99 डिग्री 100 डिग्री बुखार हो गया
103 बुखार हो गया है वो एक्चुअली
फारेनहाइट में होता है सेल्सियस में हमारे
पास यह टेंपरेचर होते हैं तो यह हमने
कन्वर्जन का एक फंक्शन लिख लिया है इस
तरीके से हमारे पास फारेनहाइट टू सेल्सियस
कन्वर्जन फंक्शन हम खुद से बना सकते हैं
और भी डिफरेंट डिफरेंट फंक्शन हो सकते हैं
फिजिक्स के जितने फॉर्मूले हैं उनको सबको
आप एक फंक्शन के अंदर कन्वर्ट कर सकते हैं
कोड में इनफैक्ट वो किया जाता है जब गेम
डेवलपमेंट होती है और c+ प् से कोड लिखे
जाते हैं तो हमारा जो मेन कैरेक्टर है वो
कितनी स्पीड से रन करेगा उसकी एक्सीलरेशन
क्या होगी वो जो बुलेट फायर कर रहा है उस
बुलेट की क्या डायरेक्शन डिसाइड होगी उसके
कोऑर्डिनेट्स क्या रहेंगे एक्वा प्लेन में
2d प्लेन में या 3d प्लेन में क्या
कोऑर्डिनेट्स रहेंगे ये सारा का सारे
फॉर्मूले जो होते हैं वो फंक्शंस की फॉर्म
में लिखे जाते हैं कोड में तो फंक्शंस
काफी इंपोर्टेंट है इनफैक्ट फिजिक्स काफी
इंपॉर्टेंट है अगर आप गेम डेवलपमेंट में
जाना चाहते हैं तो नेक्स्ट क्वेश्चन जो
हमें दिया हुआ है वो ये है राइट फंक्शन टू
कैलकुलेट परसेंटेज ऑफ अ स्टूडेंट एक
स्टूडेंट है जिसके हमें तीन सब्जेक्ट के
मार्क्स दिए हुए हैं साइंस के मार्क्स दिए
हैं मैथ के मार्क्स दिए हैं संस्कृत के
मार्क्स दिए हैं अब मैं इंग्लिश हिंदी में
डिफरेंशिएबल
है इसके लिए हम फंक्शन लिख लेते हैं
फंक्शन का नाम होगा
फ्लोट फ्लोटिंग वैल्यू यह परसेंटेज हमें
दे देगा इन फैक्ट क्या करते इंटी जर
वैल्यू ही कर लेते हैं फॉर सिंपलीसिटी
इंटी जर
कैलकुलेट परसेंटेज कैलकुलेट परसेंटेज तीन
सब्जेक्ट के मार्क्स लेता है सबसे पहले
मार्क्स लेगा साइंस के फिर मैथ के और
फिर संस्कृत के और यह इंटी जर में
परसेंटेज कैलकुलेट करके हमें वापस मिलेगा
अब इस फंक्शन को डिफाइन कर लेते हैं
कैलकुलेट परसेंटेज जिसके अंदर पास करेंगे
अपनी साइंस के मार्क्स इंटी जर साइंस इंट
मैथ एंड
इंट
संस्कृत परसेंटेज कैसे कैलकुलेट होगी
तीनों मार्क्सस को ऐड कर लेते हैं
डिवाइडेड बाय 3 कर लेते हैं मल्टीप्ला बाय
100 कर लेते हैं तो रिटर्न कर
देंगे साइंस के मार्क्स प्लस मैथ के
मार्क्स प्लस संस्कृत के मार्क्स डिवाइडेड
बाय 3 और इस पूरी वैल्यू
को मल्टीप्लाई कर देंगे
बाय
100 तो इस तरीके से हमें परसेंटेज मिल
जाएगी अब यहां पे साइंस के मार्क्स बना
लेते हैं मान लीजिए साइंस में हमारे 100
में से आए हैं
98 मैथ में हमारे आए
हैं सम 95 और संस्कृत
में मैं अपने 99 मार्क्स लिखना चाहूंगी
यहां पर जो मेरे काफी मेहनत के बाद एथ
क्लास में आए थे संस्कृत के अंदर अब
फाइनली प्रिंट कर लेते हैं अपनी
परसेंटेज परसेंटेज इ परसेंटेज डी एंड कॉल
कर देंगे अपने कैलकुलेट परसेंटेज फंक्शन
को जिसमें पास करेंगे साइंस के मार्क्स
मैथ्स के मार्क्स और संस्कृत के
मार्क्स इसको कर लेते हैं सेव हमने
कैलकुलेट परसेंटेज फंक्शन बनाया जिसमें
तीनों सब्जेक्ट के मार्क्स ले लिए और
रिटर्न कर ली परसेंटेज इसी फंक्शन को हमने
यहां पर डिफाइन कर लिया तीनों सब्जेक्ट के
मार्क्स हमने मेन फंक्शन के अंदर डिक्लेयर
कर दिए और अपने फंक्शन को हमने कॉल लगा
दिया इसको अब नई टर्मिनल विंडो खोल के
सबसे पहले कंपाइल एंड रन तो परसेंटेज आया
है
970 इसको एक्चुअली हमें 100 से मल्टीप्लाई
नहीं करना था क्योंकि ऑलरेडी अगर 100 से
निकाल रहे हैं मार्क्स तो परसेंटेज आएगा
97 पर तो इस तरीके से मार्क्स अगर
कैलकुलेट करने है आपको भी अपने कॉलेज के
तो आप एक फंक्शन बना सकते हैं उसमें जितने
भी आपके मार्क्स आ रहे हैं उनको आप ऐड
करके अपनी परसेंटेज निकाल सकते हैं
नेक्स्ट सवाल जिसको हम सॉल्व कर रहे होंगे
राइट अ फंक्शन टू प्रिंट एन टर्म्स ऑफ द
फिना सीक्वेंस यह फिना इटालियन वर्ड है
इसको फिना की नहीं कहते इसको कहते हैं
फिना अब फिना सीक्वेंस एक बहुत फेमस
सीक्वेंस है मैथ्स का जो काफी जगह हमारे
नेचर में भी फिना सीक्वेंस एक्जिस्ट करता
है एक बार इसको सर्च कर लेते फिना
सीक्वेंस को फबो
नाची
सीक्वेंस ये काफी फेमस सीक्वेंस है इस
तरीके से कुछ टाइल्स को आप स्क्वेयर की
फॉर्म में अरेंज करेंगे तो आपको फिना
सीक्वेंस दिख जाएगा या ऐसा सा अगर आपने
स्पाइरल देखा होगा कहीं पे तो वह भी फिना
स्पाइरल के नाम से जाना जाता है आपको किसी
भी प्रोग्रामिंग लैंग्वेज आप सीखने जाए
वहां पर आपको फबन सीक्वेंस मिल जाएगा
नेचुरल नंबर्स का क्या सीक्वेंस रहता है
नटू 3 4 5 6 होल नंबर्स का क्या सीक्वेंस
रहता है 0 1 2 3 4 5 6 हमारे ऑड नंबर्स का
क्या सीक्वेंस रहता है 1 3 5 7 इवन नंबर्स
का 2 4 6 8 10 वैसे ही एक सीक्वेंस होता
है नेचर में जिसको फिना सीक्वेंस कहते हैं
ये सीक्वेंस कुछ ऐसा दिखता
है 0 1 1 2 3 5 8 13 अब जब इसको पहली बार
देखते हैं ना ऐसा लगता है रैंडम नंबर लिखे
हुए हैं मतलब जो मन किया है वो नंबर
इन्होंने स्क्रीन पे लिख दिया है पर पर
ऐसा एक्चुअली है नहीं इसको इंडियन
मैथमेटिशियंस ने बनाया था और बहुत सोच समझ
के सीक्वेंस को बनाया था सीक्वेंस में
सबसे पहले आता है रो फिर आता है वन फिर
आता है वन फिर टू फिर 3 5 8 13 21 एंड सो
ऑन इस सीक्वेंस को थोड़ा सा गौर से देखने
के बाद पता चलता है कि हर नंबर अपने पिछले
दो नंबर्स का सम है जैसे ये नंबर तो
फर्स्ट नंबर तो हमेशा जीरो रहता है सेकंड
नंबर हमेशा वन रहता है थर्ड नंबर रो और टू
का सम है यानी 0 + 1 = 1 ये फोर्थ नंबर वन
और वन का सम है ये थ्री इस वन और 2 का सम
है ये फाइव इज टू और थ्री का सम है ये 8
इज थी और फव का सम है 13 5 और ए का सम है
21 8 और 13 का सम है और इस तरीके से पूरा
सीक्वेंस चलता रहता है तो यहां पर हर एक
नंबर पिछले अपने दो नंबर्स का सम है तो एक
तरीके से हम कह सकते हैं कि
फिना अगर हमें निकालना हो किसी भी नंबर को
मान लो फिना ऑफ टू निकालना है ये है फिना
ऑफ़ ज़ीरो ये है फिना ऑफ़ वन ये है फिना
ऑफ़ टू ये है फिना ऑफ़ थ्री ये है फबो ऑफ़
फोर एंड सो ऑन तो फबो ऑफ़ टू निकालना है
वो हम कह सकते हैं फिना ऑफ़ ़ प्लस फबो
ऑफ़ व फिना ऑफ थ्री अगर हमें निकालना है
तो उसको हम कह सकते हैं इट इज़ फबो ऑफ़ व
प्लस फबो ऑफ़ टू फबो ऑफ़ फर अगर हमें
निकालना है तो उसको भी हम कह सकते हैं
फिना ऑफ 2 प्स फिना ऑफ 3 तो इससे हमें
कॉमन फंक्शन निकलता है अगर किसी भी नंबर
का फिना निकालना है तो वह है उससे दो नंबर
पहले का एक नंबर पहले का नंबर प्लस उससे
दो नंबर पहले का यानी फिना ऑफ़ n - 1 +
फोनची ऑफ़ n - 2 एक तरीके से य हमने
रिकर्स इव फॉर्मूला निकाल लिया अपने
रिकर्स फंक्शन को लिखने का कि फिना एक
फंक्शन बना लो जो n के लिए फिना कैलकुलेट
करता है अब n वाला तो हमें पता नहीं है पर
शायद वह n - 1 और n - 2 वाला उसको पता हो
इतना विश्वास कर लेते हैं कि यह दोनों तो
निकाल ही देगा तो इन दोनों को कॉल लगा लो
इन दोनों को कॉल लगाने के बाद इन दोनों को
ऐड करके फिना ऑफ n में स्टोर कर लो तो इस
तरीके से हम अपने डिफरेंट फिनाज नंबर्स को
करते हैं प्रि इसके लिए कोड लिख लेते हैं
कोड लिखकर बेटर हमें समझ में आएगा इस
फंक्शन का रिटर्न टाइप है इंटी जर हर लेवल
पर यह अपना फिना निकालेगा एनत नंबर का और
उसको ऊपर वाले लेवल्स को कर देगा रिटर्न
इसको नाम दे देते हैं फि और यह निकालेगा
इंट n के लिए फिना सीक्वेंस
अब इस कर लेते हैं इस फंक्शन को डिफाइन
इंट फिना ऑफ नंबर ए तो फिना का क्या रूल
है फि बनाची का यह रूल है पिछले दो नंबर्स
का फिना सीक्वेंस में क्या नंबर थे वो
निकाल लो और दोनों को ऐड कर दो तो इंट
फिना ऑफ n इ टू फिना ऑफ n
माइव प्लस फिना ऑफ
n-2 अब ये फिना ऑफ n-1 और n-2 पहले कर
लेते हैं तो इंट फिना ऑफ n माइव इ फि को
कॉल लगा लेते हैं n माइव के लिए तो यह
फंक्शन खुद ही को कॉल लगा रहा है यानी
रिकजन हो रहा है यहां पर n के लिए
कैलकुलेट करना था तो पहले n माइव के लिए
कॉल लगा ली और उसको इस वेरिएबल में स्टोर
कर लिया अब एक और कॉल लगाएंगे फिना ऑफ n-2
को फि ऑफ
n-2 तो अब n माइट के लिए कॉल लगाई और उसको
इस वेबल में स्टोर कर लिया और फाइनली
दोनों को ऐड करके फिना ऑफ n हमने निकाल
लिया अब इस फिना ऑफ n को हम कर लेते हैं
प्रिंट फिना ऑफ n यहां पर लिख देंगे पहले
परसेंटेज
डी
इज दोबारा से परसेंटेज डी सबसे पहले
लिखेंगे n की वैल्यू यानी n उसके बाद
लिखेंगे अपने फिना ऑफ n की वैल्यू
को और रिटर्न कर देंगे अपने फिना ऑफ n की
वैल्यू को इस फंक्शन से तो ये हो गया
हमारा रिकर्स फंक्शन और हर रिकर्स फंक्शन
बेस केस के बिना अधूरा होता है यानी गलत
होता है अब इसमें बेस केस क्या होगा फबो
ऑफ रो और फिना ऑफ वन हमारे पास डिफाइंड
होता है तो
अगर n की वैल्यू कभी जीरो हो जाती है या
फिर n की वैल्यू किसी केस में वन हो जाती
है तो वहां पर हमें पता होगा कि n n = 0
के लिए क्या होगा इफ n = 0 उस केस में तो
हमें रिटर्न करना
है जीरो और अगर हमारे n की वैल्यू वन है
तो उस केस में हमें रिटर्न करना है
न अब यह हमारा पूरा कोड हो गया फिना को
कैलकुलेट करने का रिकसिव कोड यह हमारी बेस
कंडीशन होगी बेस केस में क्या करते हैं इन
दोनों को अलग-अलग कंडीशन की तरह ही लिख
देते हैं इंस्टेड ऑफ राइटिंग वन कंडीशन
अगर n हमारा जीरो हो गया है कहीं भी n
जीरो हो गया यानी फिना ऑफ जीरो हमें
रिटर्न करना है तो वो रो ही होता है अगर
कहीं भी n = 1 के लिए देना है तो फबो ऑफ़
वन हमेशा वन होता है अब यहां पे फिना ऑफ
वन के लिए हम फबो ऑफ़ ़ और फिना ऑफ़ -1
कैलकुलेट नहीं करेंगे क्योंकि -1 के लिए
तो एजिस्ट ही नहीं करता सीक्वेंस ये हमारा
बेस केस है यानी वो कंडीशन जो पहले से पता
होनी चाहिए फिना में हमें पता होता है
जीरो टर्म जरो होता है फर्स्ट टर्म वन
होता है ये हमें पहले से पता है ये हमने
कैलकुलेट किया है अब मेन फंक्शन के अंदर
क्या करेंगे इसको प्रिंट करवा
लेंगे यहां पर
कॉल लगा लेते हैं अपने फिना ऑफ मान लीजिए
हम सिक्स टर्म्स प्रिंट करवाना चाहते हैं
इसको कर लेते हैं सेव और इसको करते हैं
रन तो य हमारे पास छ टर्म्स की जगह काफी
सारी टर्म्स प्रिंट हो गई फिनाज की ऐसा
इसलिए हुआ इसका रीजन थोड़ा सा हम डायग्राम
से समझते हैं ऐसा क्यों हुआ य इतनी सारी
टर्म्स इसलिए प्रिंट हुई क्योंकि जब हम
फिना ऑफ पांच मान लीजिए कैलकुलेट करने
निकलते हैं तो ये कैलकुलेट करता है पहले
फिना ऑफ चार फिर फिना ऑफ तीन और फिना ऑफ
चार क्या करता है पहले कैलकुलेट करता है
फिना ऑफ तीन फिर फिना ऑफ दो फिना ऑफ तीन
पहले कैलकुलेट करता है फिना ऑफ दो और फिर
फिना ऑफ वन तो यहां पर ये वाला दो और ये
वाला दो दो बार कैलकुलेट हुए हैं तो दो
बार प्रिंट हुए हैं अगर तीन की भी बात
करें तो एक बार यहां पे तीन का प्रिंट
होगा यहां पे तीन का प्रिंट होगा इसीलिए
जितनी बार भी कॉल जा रहा है उतनी बार फिना
प्रिंट होगा तो दो सेकंड टर्म हमारी वन
होती है थर्ड टर्म हमारी टू होती है सेकंड
टर्म दोबारा से कॉल हुई वन तो ये हल्का सा
कॉम्प्लेक्टेड
इसको एक बार दोबारा करते हैं
रन और इसको करते हैं सॉल्व तो फिना ऑफ
सिक्स जो है वो आठ होता है एक बार फि
बनाची सीक्वेंस को लिखते हैं सीक्वेंस कुछ
इस तरीके का होता है 0 1 1 2 3 5 8 ये
जरूरत टर्म है ये फर्स्ट है ये सेकंड है
ये थर्ड है ये फोर्थ है ये फिफ्थ है ये
सिक्स्थ है तो सिक्स्थ टर्म सही है हमारी
आठ ही होती है फिनाज सीक्वेंस में तो ये
हमारा कोड है अपनी सीक्वेंस को लिखने का
और काफी सिंपल तरीके से हमने इस कोड को को
लिखा है बिल्कुल परेशानी नहीं होनी चाहिए
बहुत अच्छे से हमने एक कॉम्प्लेक्शन फिना
को समझ लिया है अब ये याद रखना क्योंकि
फिना के काफी सारे सवाल आपके आगे पूछ लिए
जाते हैं अगला सवाल हम ऑलरेडी सॉल्व कर
चुके हैं जो था कि राइट अ फंक्शन टू
प्रिंट द एथ टर्म ऑफ द फिना सीक्वेंस वो
सवाल हम कर चुके हैं अब एंड टर्म्स को
वैसे का वैसा करना हो फिना को अभी हमने
रिकर्स से किया है इस सेम चीज को हम लूप
से भी कर सकते हैं तो लूप से करना और आसान
होगा पर उसको मैं एज अ होमवर्क प्रॉब्लम
देना चाहूंगी क्योंकि मैं चाहती हूं इस
सवाल को आप खुद से करके देखें कि लूप से
हम कैसे इस क्वेश्चन को कर सकते हैं कैसे
इस सीरीज को हम लिख सकते हैं तो यह सारे
हमने काफी सारे सवाल कर लिए काफी सारे
कांसेप्ट पढ़ लिए हैं यहां पर मैं
रिक्वेस्ट करूंगी कि एक छोटा सा हल्का सा
ब्रेक लेना है थोड़ा सा पानी पी के आना है
थोड़ा सा रिफ्रेश करना है और उसके बाद
अपनी होमवर्क प्रॉब्लम्स करनी है बैठ के
नोट्स को हल्का सा रिवाइज करना है तो अब
हम शुरुआत करने वाले हैं अपने चैप्टर
सिक्स की जिसका नाम है पॉइंट्स अब पॉइंट्स
एक बहुत इंपॉर्टेंट टॉपिक है जब भी हम सी
या c+ प् की बात करते हैं बिकॉज़ कोर ऑफ
प्रोग्रामिंग हमें सिखा बा है कि मेमोरी
में एक्चुअली चीजें चल कैसे रही है हमें
हमारे प्रोग्राम के थ्रू इसके साथ-साथ
पॉइंट में थोड़ा सा टेढ़ा मेढा टॉपिक है
कुछ लोगों को बहुत इंटरेस्टिंग लगता है
कुछ लोगों को थोड़ा सा मुश्किल लगता है पर
इस वीडियो के अंदर हम पूरी कोशिश कर रहे
हैं मतलब मैं पूरी कोशिश कर रही हूं कि
मैं पॉइंट्स को बहुत अच्छे से समझा पाऊं
जिसके बाद सारे क्वेश्चंस आराम आराम से
निकल जाए सारे बेसिक कांसेप्ट हम कवर कर
रहे होंगे कुछ सवाल लेंगे जो बिल्कुल कोर
ऑफ प्रोग्रामिंग फॉर्म करते हैं तो अच्छे
से सवालों को भी सॉल्व करेंगे एंड उसके
साथ-साथ कुछ प्रैक्टिस को क्वेश्चंस भी
करेंगे जैसे पॉइंट्स का टॉपिक ना दिमाग
में बैठ जाएगा हमारे तो शुरुआत करते हैं
पॉइंट्स के साथ पॉइंट्स का मतलब होता है अ
वेरिएबल दैट स्टोर्स द मेमोरी एड्रेस ऑफ
अनदर वेरिएबल यूजुअली क्या होता था हम
मेमोरी के अंदर कोई भी एक वेरिएबल बना
लेते थे मान लीजिए हमने एक वेरिएबल बनाया
इंट ए = 22 ये वेरिएबल एक वैल्यू स्टोर कर
रहा है और वो वैल्यू क्या है वो वैल्यू है
एक नंबर और यह एक कोई भी नंबर हो सकता है
यह एक डाटा वैल्यू है यानी कोई डटा स्टोर
कर रहा है पर अगर हमारे दिमाग में किसी
दिन आए अब यह सारा का सारा काम मेमोरी के
अंदर किस तरीके से हो रहा है यह हमने
ऑलरेडी बात की थी कि मेमोरी के अंदर
ब्लॉक्स होते हैं ब्लॉक्स के अंदर कुछ
डाटा स्टोर होता है उस डाटा जहां भी स्टोर
हुआ है उस जगह को हम कुछ नाम दे देते हैं
जिस नाम को हम वेरिएबल कहते हैं अब जो भी
वो ब्लॉक ऑफ मेमोरी है उसका कुछ एड्रेस
होता होगा मेमोरी के अंदर जैसे इस मेमोरी
का एड्रेस है 2010 इस मेमोरी का एड्रेस है
2013 हम यहां पर इन ब्लॉक्स के एड्रेस की
बात कर रहे हैं इसको कैसे समझ सकते हैं
मान लीजिए हमारे पास पूरी की पूरी अर्थ है
वो अर्थ हमारी मेमरी है उसके ऊपर डिफरेंट
डिफरेंट प्लॉट्स हैं जो अलग-अलग लोगों के
पास हैं अब ये हर एक ब्लॉक विजुलाइज कराता
है हमें एक प्लॉट ये एक प्लॉट है जिसके
ऊपर हमने घर बना लिया है उस घ घर का नाम
हमने एज रख दिया है और घर के अंदर रह रहा
है नंबर 22 और यह रहा उस घर का एड्रेस
20110 अब कल को इस घर में हम 22 को निकाल
कर 21 को भी रख सकते थे या 22 को हटाकर हम
20 को रख सकते हैं घर में कोई भी रह सकता
है यानी कोई भी डाटा स्टोर हो सकता है
किसी भी मेमोरी लोकेशन के अंदर और इसका
नाम भी बदल सकते हैं अब शाहरुख खान के घर
का नाम मन्नत है तो अंबानी के घर का नाम
कुछ और है तो यहां पर हम एज को हटा के कुछ
भी वेरिएबल का नाम रख सकते हैं लेकिन अर्थ
के ऊपर जो प्लॉट है जो वो लैंड है कहीं पर
अगर कोई खेत है तो वो तो वहीं रहेगा ना वो
लैंड वहीं पर रहेगी इसीलिए ये मेमोरी
ब्लॉक वहीं का वहीं रहेगा और उसका एड्रेस
हमेशा फिक्स्ड होता है जब हमारे मदर ब आते
हैं ना कंप्यूटर के तो उसके ऊपर ऑलरेडी
फिक्स्ड होता है कि क्या एड्रेस होने वाला
है अब ये जो एड्रेस है जरूरी नहीं है
20110 हो या 2000 हो ये कुछ भी हो सकता है
हो सकता है आपकी मशीन में अलग तरीके से
एड्रेस लिखे जाते हो और मेरी मशीन में अलग
तरीके से एड्रेस लिखे जाते हो ये कंप्लीट
डिपेंड करता है कि आप कौन सी मशीन यूज कर
रहे हैं वो 32 बिट की है 64 बिट की है किस
तरीके का आपका सिस्टम है किस तरीके का
मेरा सिस्टम है तो उसकी टेंशन नहीं लेनी
एड्रेस कुछ भी हो सकता है तो वो कोई फिक्स
नंबर नहीं है जब भी आपसे क्वेश्चन पेपर
में पूछा जाएगा किसी कॉलेज के टेस्ट के
अंदर तो उसमें कुछ भी एड्रेस हो सकता है
अगर आपसे इंटरव्यूअर पूछ रहा है तो उसको
भी आपको बताना पड़ेगा कि एड्रेस क्या है
क्योंकि कोई फिक्स्ड फॉर्मेट नहीं होता पर
आई होप कि यहां पर ये चीज हमारे पास
क्लियर हो गई होगी कि जब भी कोई वेरिएबल
क्रिएट होता है तो उसके अंदर एक डेटा
वैल्यू स्टोर होती है उस वेरिएबल का नाम
मेमोरी लोकेशन के पास जाता है और मेमोरी
लोकेशन का एक एड्रेस होता है पर आज हमारा
मन किया कि हम एक वेरिएबल में डेटा वैल्यू
यानी ये 22 हमें स्टोर नहीं कराना हमें
स्टोर कराना है एक मेमोरी लोकेशन एक
मेमोरी एड्रेस तो जिस भी वेरिएबल में हम
वो मेमोरी एड्रेस को स्टोर कराएंगे उस
वेरिएबल को हम नाम देते हैं पॉइंटर जैसे
अगर हमें इस एज वेरिएबल का मेमोरी एड्रेस
कहीं पर स्टोर कराना होगा तो उसके लिए हम
एक नया वेरिएबल बनाएंगे मान लीजिए इस
वेरिएबल का नाम हमने दिया है पीटीआर व्हिच
इज शॉर्ट फॉर पॉइंटर अब इसके अंदर स्टोर
होगा मेमोरी एड्रेस यानी
2010 जो एज का मेमोरी एड्रेस है पर इसका
अपना खुद का भी तो एक मेमोरी एड्रेस होगा
क्योंकि ये लोकेशन भी तो कहीं ना कहीं
एजिस्ट करेगी ये ये भी तो एक वेरिएबल ही
है बस ये एक ऐसा वेरिएबल है जो दूसरे
वेरिएबल का मेमोरी एड्रेस स्टोर करा रहा
है तो आई होप कि बेसिक चीज हमें समझ में
आई होगी अब वेरिएबल दैट स्टोर्स द मेमोरी
एड्रेस ऑफ अनदर वेरिएबल इज अ पॉइंटर अब
पॉइंट्स लिखने का एक सिंटेक्स होता है
पॉइंट्स को हम नॉर्मल वेरिएबल की तरह नहीं
लिख सकते क्योंकि हमें कंपाइलर को पहले से
बताना पड़ता है कि ये जो वेरिएबल हम लिख
रहे हैं ये नॉर्मल वैल्यू स्टोर नहीं करता
ये एक मेमोरी एड्रेस की वैल्यू स्टोर करता
है व्हिच इज अ स्पेशल वैल्यू तो उसको
लिखने का सिंटेक्स ऐसा रहता है कि नॉर्मल
वेरिएबल को हम लिखते हैं इंट ए इ इक्वल 22
पर पॉइंटर के लिए हम जब भी एक पॉइंटर
बनाते हैं तो इंट के साथ हम एक एस्टरिस
लगाते हैं एक स्टार लगाते हैं फिर हम अपने
पॉइंटर वेरिएबल का नाम लिखते हैं फिर
लिखते हैं इज इक्वल टू एंड का सिंबल और एज
यानी यह पॉइंटर एक वेरिएबल है जो इस एज का
एड्रेस स्टोर कर रहा है यहां पर हमने दो
नई चीजें सीखी एक तो ये स्टार ये स्टार जो
होता है इसको हम कहते हैं वैल्यू एट
एड्रेस ऑपरेटर वैल्यू एट एड्रेस ऑपरेटर और
ये जो एम परसेंट होता है इसको हम कहते हैं
एड्रेस ऑफ ऑपरेटर जिसके भी सामने हम ये
एंड लगा देते हैं हमें उसका एड्रेस मिल
जाता है जिसके भी सामने स्टार लगा देते
हैं हमें उसकी वैल्यू मिल जाती है इसका
क्या मतलब हुआ यहां पर हमने पॉइंटर एक
वेरिएबल बनाया एक पॉइंटर वेरिएबल बनाया
कैसे पता चला पॉइंटर वेरिएबल है क्योंकि
एस्ट रिस्क लगता है पॉइंटर वेरिएबल के
सिंटेक्स में और उसको क्या कर दिया एड्रेस
ऑफ एज यानी एज का जो भी एड्रेस था वो अब
इस पॉइंटर के अंदर जाकर स्टोर हो गया यानी
मेमोरी के अंदर यह लोकेशन आ गई जहां पर
पॉइंटर वेरिएबल आ गया और उसके अंदर स्टोर
हो गया एज का एड्रेस दैट इज 2010 और अब
अगर हम देखना चाहे कि पॉइंटर जिस एड्रेस
को स्टोर करा रहा है वहां पर क्या वैल्यू
स्टोर्ड है तो उसके लिए हम यूज कर सकते
हैं यह वाला ऑपरेटर यानी यहां पर हम एक
नया वेरिएबल बना रहे हैं अंडरस्कोर एज
जिसके अंदर हम स्टोर करवा रहे हैं वैल्यू
ट एड्रेस पीटीआर यानी पॉइंटर के अंदर जो
भी एड्रेस है उसकी वैल्यू निकाल लो और उस
नए वेरिएबल में स्टोर कर लो तो क्या होगा
सबसे पहले तो ये नया वेरिएबल बनेगा नया
वेरिएबल का नाम होगा अंडर एज इसका कुछ और
एड्रेस हो सकता है मान लीजिए दिस इज 2011
अब इसके अंदर पॉइंटर पर जो भी एड्रेस
स्टोर है उसकी वैल्यू वैल्यू एट एड्रेस
व्हिच इज स्टोर्ड एट पॉइंटर पॉइंटर में
एड्रेस स्टोर्ड है 210 तो हम 210 पे
जाएंगे देखेंगे वहां कौन सी वैल्यू है तो
पॉइंटर के के पास स्टोर्ड है वैल्यू 210
और 20110 पर कौन सी वैल्यू स्टोर्ड है तो
210 पे हम चले जाएंगे वहां पे वैल्यू
स्टोर्ड है हमारी 22 तो उस 22 वैल्यू को
उठा के ले आएंगे और उसको नए वाले
अंडरस्कोर रेज में डाल देंगे एक बार हल्का
सा रीकैप कर लेते हैं हमने एक ओरिजिनल
वेरिएबल बनाया इंट ए = 22 हम अपने पॉइंटर
को कैसे डिक्लेयर करते हैं लिखते हैं इंट
स्टार इंट स्टार लिखेंगे तो इंटी जर की
वैल्यू स्टोर करवाने वाला पॉइंटर आ जाएगा
हमारे पास उसका हमने नाम दे दिया पीटीआर
उसमें स्टोर करवा या एज का एड्रेस अब अगर
यहां पर पॉइंटर पर जो एड्रेस है उस पर रखी
हुई वैल्यू को एक्सेस करना है तो उसके लिए
यूज करेंगे स्टार ऑपरेटर जिसको हम कहते
हैं वैल्यू एट एड्रेस ऑपरेटर यानी ये उस
पॉइंटर में स्टोर्ड जो भी एड्रेस होगा
उसकी वैल्यू को निकाल कर ले आएगा तो इसने
2 10 की वैल्यू यानी 22 को निकाल कर ये ले
आया और 22 को हमने असाइन कर दिया अपने नए
वेरिएबल एज को तो वो यहां पर जाकर स्टोर
हो गया तो इस तरीके से हमारे पॉइंट्स वर्क
करते हैं एक बार हल्का सा इसका छोटा सा
कोड लिखकर देख लेते हैं सबसे पहले
डिक्लेयर करेंगे एक वेरिएबल एज जिसमें
स्टोर करवा रहे हैं 22 अब उसके बाद हम
क्रिएट करने वाले हैं एक इंटी जर पॉइंटर
इंट स्टार पटी इ m पर एज अब यहां पर इस
स्टार को हम इंटी जर के साथ भी लगा सकते
हैं या फिर अपने वेरिएबल के साथ भी लगा
सकते हैं दोनों सिंटेक्स ठीक है एंड उसके
बाद हम क्या करेंगे एक नया वेरिएबल
बनाएंगे अंडरस्कोर एज और इसमें लिख देंगे
स्टार पीटीआर एक बार क्या करेंगे इसकी
वैल्यू प्रिंट करवाते हैं परसेंटेज डी अ ए
सेव एंड
रन तो यहां पर हमारे पास 22 प्रिंट होकर
आया है हल्का सा समझते हैं क्या हुआ हमारे
पास हमने एक वेरिएबल बनाया था एज 22 उसके
लिए हमने एक पॉइंटर बनाया पॉइंटर क्या
होता है उस मेमोरी लोकेशन को पॉइंट करता
है एज की जो मेमोरी है लोकेशन है उसका
एड्रेस उसने अपने अंदर स्टोर करवा लिया अब
अगर उस एड्रेस पर जो वैल्यू स्टोर्ड है
उसको हमें एक्सेस करना है पॉइंटर पर जो
एड्रेस है उसकी वैल्यू हम इससे निकाल
लेंगे और वो वैल्यू हमने एज में डाल दी नए
वाले एज में तो नए वाले एज को जब प्रिंट
करवाया तो पुराने वाली वैल्यू हमारे पास
वापस आ गई क्योंकि वही हमने यहां पर स्टोर
करा दी थी तो 22 हमारे पास प्रिंट होकर आ
गया तो कुछ इस तरीके से हमारे पॉइंटर का
सिंटेक्स वर्क करता है अब एक बार क्या
करते हैं हल्का सा डिटेल में बात करते हैं
कि पॉइंट्स को हम डिक्लेयर किस तरीके से
करते हैं हम बिल्कुल बेसिक से और बहुत ही
आराम से पढ़ रहे हैं हर चीज को मैं एमफसा
इज कर रही हूं एक-एक दो-दो बार बताने का
क्योंकि उससे चीजें जो है ना दिमाग में
बैठ जाएंगी तो फिर आपको बार-बार बार-बार
रिवीजन की जरूरत नहीं पड़ेगी दो-तीन बार
सेम चीज हम सुन लेते हैं ना तो वो दिमाग
में बैठ जाती है अब सबसे पहले जब पॉइंट्स
को डिक्लेयर करते हैं तो पॉइंटर को
डिक्लेयर करने का उसका जो टाइप होता है वो
डिपेंड करता है कि आप किस वेरिएबल की तरफ
पॉइंट करवाना चाह रहे हैं मतलब आप इंटी जर
वेरिएबल का एड्रेस स्टोर कराएंगे तो आपको
लिखना पड़ेगा इंट स्टार पीटीआर अगर आप
कैरेक्टर वेरिएबल का एड्रेस स्टोर कराएंगे
तो लिखना पड़ेगा कैरेक्टर स्टार पीटीआर
अगर आप फ्लोटिंग वेरिएबल का एड्रेस स्टोर
करवाएंगे पॉइंटर के अंदर तो लिखना पड़ेगा
फ्लोट स्टार पीटीआर यानी इंट एज इ इक्व ट
22 अगर इसका एड्रेस स्टोर कराना है एज का
तो हम ये यूज करेंगे अगर हमने लिखा है
कैरेक्टर स्टार इ इक्वल टू एस्ट रिस्क
इसका एड्रेस स्टोर करवाना है वेरिएबल का
तो हम ये लिखेंगे और अगर हमने लिखा है
फ्लोट प्राइस इ इक्वल टू
₹1 तो इसका अगर हमें एड्रेस स्टोर कराना
है प्राइस का तो हम यह लिख रहे होंगे जो
पॉइंटर का टाइप होता है वह डिपेंड करता है
कि किस टाइप का आपने उसके अंदर एड्रेस
स्टोर कराया है अगर आपने इंटी जर टाइप का
एड्रेस स्टोर कराया तो आपको इंट लिखना
पड़ेगा कैरेक्टर टाइप का स्टोर कराया तो
कैरेक्टर स्टार लिखना पड़ेगा फ्लोटिंग
टाइप का स्टोर कराया तो आपको फ्लोट स्टार
लिखना पड़ेगा नेक्स्ट चीज जिसकी हम बात
करेंगे वो है फॉर्मेट
अब पॉइंट्स को जब भी हम प्रिंट करवाते हैं
ना पॉइंटर नॉर्मल वेरिएबल नहीं होते अगर
आपने इंट स्टार पीटीआर लिख दिया तो ऐसा
नहीं है कि आप जब भी उसको प्रिंट करवाएंगे
तो आप परसेंटेज d लिख पाएंगे क्योंकि उसके
अंदर एक इंटी जर वैल्यू स्टोर्ड नहीं है
उसके अंदर एक एड्रेस स्टोर्ड है और एड्रेस
का अपना एक टाइप होता है एड्रेस के टाइप
के लिए हमें लिखना पड़ता है परसेंटेज p
परसेंटेज p का मतलब होता है c के अंदर
पॉइंटर एड्रेस अब यह वाला स्पेसिफीज यूज
करते हैं पर जब भी आप परसेंटेज p लिखेंगे
ना एक अजीब सी वैल्यू प्रिंट होगी वो हम
लिखकर देखेंगे कैसे प्रिंट होगी पर वो जो
अजीब सी वैल्यू प्रिंट होती है ना उसको
कभी-कभी हम परसेंटेज य की हेल्प से भी लिख
देते हैं यानी यहां पर हमारे पास यूजुअली
हेक्साडेसिमल वैल्यू आ जाएगी अगर सिस्टम
में हेक्साडेसिमल फॉर्म में पॉइंटर का
एड्रेस स्टोर्ड है तो पर अगर हमें नॉर्मल
नंबर्स की फॉर्म में चाहिए तो उसको हम
टाइप कास्ट कर देते हैं ये परसेंटेज य
होता है अनसाइंड इंट के
लिए और परसेंटेज प होता है हमारे पॉइंटर
एड्रेस के लिए तो कभी-कभी पॉइंटर एड्रेस
अजीब सा ना दिखे इसलिए उसको परसेंटेज यू
करके भी हम प्रिंट करवाते हैं हम दोनों
सीख रहे होंगे दोनों को करके देखेंगे
दोनों में डिफरेंसेस भी समझेंगे कोड की
हेल्प से सबसे पहले क्या करते हैं अपने
थोड़े से सिंटेक्स को हम देखते हैं सबसे
पहले देखेंगे इस लाइन को इसमें लिखा है
प्रिंट ए परसेंटेज p मतलब हम एक पॉइंटर की
वैल्यू को प्रिंट करवाने वाले हैं एक
मेमोरी एड्रेस को प्रिंट करवाने वाले हैं
उसके बाद लिखा है एंड एज जब भी हम एंड
लिखते हैं और उसके बाद एक वेरि का नाम
लिखते हैं मतलब एंड इज एड्रेस ऑफ तो हमें
उस वेरिएबल का एड्रेस मिल जाता है अब
एड्रेस का टाइप क्या होता है परसेंटेज p
तो हम एड्रेस प्रिंट करवा देंगे नेक्स्ट
लाइन में हमने लिखा है पीटीआर अब पॉइंटर
भी तो वही करेगा ना अगर एम परसेंट एज हमें
एड्रेस देता है तो पॉइंटर भी हमें एड्रेस
देता है तो उसमें भी परसेंटेज p और अगर हम
लिखना चाहें एड्रेस ऑफ पॉइंटर यानी पॉइंटर
का भी तो कोई एड्रेस होगा जैसे एज का कोई
एड्रेस था तो एज का एड्रेस हमने पॉइंटर
में स्टोर करा दिया पर पॉइंटर भी तो किसी
लैंड पर खड़ा है ना पॉइंटर के पास भी अपना
खुद का प्लॉट है तो उसका भी कोई एड्रेस
होगा उस एड्रेस को भी अगर हमें प्रिंट
करवाना है तो उसके लिए भी परसेंटेज प हम
यूज करेंगे इसीलिए यहां पे
स्पेसिफाइड करके देखते हैं तो हमने क्या
किया है एक वेरिएबल बना रखा है जिसके अंदर
22 है और एक पॉइंटर के अंदर उस वेरिएबल का
एड्रेस स्टोर करा रखा है अब एक एक करके
चीजों को प्रिंट करवाएंगे
सबसे पहले हम प्रिंटिंग सीख रहे हैं
एड्रेस की कि एड्रेस को कैसे प्रिंट
करवाते हैं तो लिखेंगे परसेंटेज प उसके
बाद लिखेंगे एम परसेंट एज इसको कर लेते
हैं सेव और इसको करते हैं एक बार
रन तो यह कुछ वैल्यू हमारे पास आई है यहां
पर एक बै स्ल ए भी लगा लेते
हैं यह जो वैल्यू है यह एज के एड्रेस की
वैल्यू है ये जो फॉर्मेट है इसको
हेक्साडेसिमल फॉर्मेट कहते हैं अब हो सकता
है आप अप मशीन में जब प्रिंट करें तो आपको
कोई दूसरी अलग वैल्यू आए तो उसमें परेशानी
की बात नहीं है अलग-अलग सिस्टम्स के हिसाब
से अलग-अलग मेमोरी एड्रेस होते हैं तो
आपका एड्रेस और मेरा एड्रेस बिल्कुल अलग
हो सकता है सेम वेरिएबल के लिए उसमें
परेशानी की बात नहीं है पर ये जो फॉर्मेट
है ना इसको पढ़ने में थोड़ी सी तकलीफ आती
है तो हम क्या कर सकते हैं अपने पूरे के
पूरे एड्रेस को हेक्साडेसिमल से कन्वर्ट
करके अनसाइंड इंट में कन्वर्ट कर सकते हैं
अगर अनसाइंड इन में कन्वर्ट करेंगे वैसे
तो वार्निंग थ्रो करेगा कि ये सही तरीका
नहीं है इन चीजों को करने का पर पढ़ने में
आसानी हो इसीलिए इस एड्रेस को इसने क्या
किया इस नंबर में कन्वर्ट कर दिया तो हम
यहां पर देखें तो इसको हम अजूम कर सकते
हैं कि यह हमारा मेमोरी एड्रेस है अब चाहे
हम परसेंटेज प प्रिंट करें परसेंटेज य
हमारे लिए एड्रेस सेंस नहीं बनाएगा पर एक
चीज पता चल गई कि एड्रेस यह है अब क्या
करेंगे सेम चीज करके देखेंगे पीटीआर के
लिए इस परसेंटेज प को कर देते
हैं कॉमेंट आउट प्रिंट एफ परसेंटेज यू
ए एंड
पीटीआर इसको कर लेते हैं
सेव ये कुछ वार्निंग्स थ्रो हो रही है पर
इनको हम इग्नोर करेंगे यहां पे हमें एक
चीज दिख गई कि जब हमने एड्रेस एज का
प्रिंट करवाया तब जो वैल्यू प्रिंट हुई और
जब हमने पीटीआर को प्रिंट करवाया पीटीआर
यानी इस वेरिएबल की वैल्यू को प्रिंट
करवाया तो ये दोनों सेम है सेम इसलिए है
क्योंकि एज का जो भी एड्रेस था वो अब
अल्टीमेटली पीटीआर के अंदर ही जाके स्टोर
हो गया है तो इसी वजह से दोनों वैल्यूज
सेम है और इसके बाद अगर हम प्रिंट करवाना
चाहे अपने पीटीआर के एड्रेस को तो उसके
लिए क्या लिखेंगे एम पर यानी एड्रेस ऑफ
पीटीआर इसको भी कर लेते हैं सेव अब इसको
रन करते हैं ये फर्स्ट और सेकंड जो वैल्यू
है ये दोनों सेम है क्योंकि एज और पीटीआर
दोनों सेम वैल्यू होल्ड करते हैं पर जब भी
पीटीआर का एड्रेस प्रिंट करवाएंगे ये
वैल्यू अलग है इसमें आप नोटिस करेंगे
लास्ट के जो दो डिजिट्स हैं ये अलग हैं इन
दोनों में सेम है तो इन दोनों में सेम सेम
एड्रेस वैल्यू है और इसकी जो एड्रेस
वैल्यू है यानी पीटीआर का जो एड्रेस है वो
अलग है तो कुछ इस तरीके से हम अपना एड्रेस
जो है उसको प्रिंट करवाते हैं नेक्स्ट बात
करते हैं कि पॉइंटर पर जो एड्रेस स्टोर्ड
है उसकी वैल्यू कैसे प्रिंट करवाते हैं तो
इसमें हम सीख रहे होंगे वैल्यू एट एड्रेस
ऑपरेटर के बारे में अब सबसे पहले अगर हमें
एज की वैल्यू प्रिंट करवानी है तो हमें
ऑलरेडी पता है कि हमें परसेंटेज डी करने
की जरूरत है क्योंकि एज इंटी जर टाइप की
वैल्यू होल्ड करता है तो हम लिख देंगे
परसेंटेज डी ये सबसे नॉर्मल है पर अगर
हमें पॉइंट वैल्यू एट पॉइंटर प्रिंट
करवानी है तो हम उसके आगे लगा देंगे स्टार
ये एस्टरिस का मतलब है वैल्यू एट एड्रेस
तो पॉइंटर के अंदर जो भी एड्रेस होगा उस
एड्रेस के ऊपर जो भी वैल्यू होगी उसको वो
प्रिंट करवा देगा तो हमें पता है कि
पॉइंटर के अंदर हमारा एड्रेस है
1020 और 1020 के ऊपर स्टोर्ड है हमारा एज
वेरिएबल जिसमें है हमारी एज 22 तो क्या
करेगा पहले इस एड्रेस पे जाएगा फिर इस
एड्रेस पे वैल्यू पे जाएगा फिर इस वैल्यू
को वो प्रिंट करवा देगा तो यहां पे भी 22
प्रिंट होगा यहां पे भी 22 प्रिंट होगा अब
एक और हल्का सा दोनों का कॉमिनेशन देख
लेते हैं यहां पे सबसे पहले हमने लिखा
एड्रेस ऑफ एज तो यहां से हमारे पास एज का
एड्रेस आ गया फिर हमने लिखा स्टार एरिक्स
वैल्यू एट दैट एड्रेस तो एज का एड्रेस आया
है 210 ये बोलेगा उस पर जो वैल्यू है वो
मुझे दे दो तो 2 10 पर क्या वैल्यू है तो
यहां पर आ जाएगा सबसे पहले एज का एड्रेस
एज का एड्रेस है 1020 और ये कह देगा
वैल्यू एट 1020 मुझे दे दो आई वैल्यू एट
1020 क्या है ये 22 तो यहां पे भी हमारे
पास 22 ही प्रिंट होगा इसको कोड से
वेरीफाई करके देख लेते हैं सबसे पहले हमने
एड्रेस कैसे प्रिंट करता है वो सीखा था अब
हम सीखेंगे वैल्यू कैसे प्रिंट करते हैं
तो वैल्यू प्रिंट करने के लिए सबसे पहले
लिखेंगे प्रिंट एफ परसेंटेज डी क्योंकि हर
बार हम वैल्यू प्रिंट करने वाले हैं तो हर
बार टाइप हमारा परसेंटेज डी रहेगा सबसे
पहले एज प्रिंट करते हैं बैक स्ल ए
कंट्रोल
s एज को प्रिंट किया तो हमारे पास 22
नॉर्मली प्रिंट होकर आ गया पर अब हम क्या
करने वाले हैं अब हम पॉइंटर पर जो एड्रेस
है उसकी वैल्यू को स्टोर करेंगे इनफैक्ट
इसको कर लेते हैं कंट्रोल सी कंट्रोल व
एंड
कंट्रोल यहां पे
लिखेंगे वैल्यू एट एड्रेस पीटीआर और यहां
लिखेंगे वैल्यू एट एड्रेस एड्रेस ऑफ ए
इन दोनों को कर लेते हैं सेव एंड रन तो
हमारे पास हर बार 22 प्रिंट होकर आया
क्योंकि चाहे हम कुछ भी कोई भी सिंटेक्स
लिख रहे हैं इन सब में से हमारे पास
अल्टीमेटली हम पहुंच तो उसी एड्रेस प रहे
हैं उसी प्लॉट पे पहुंच रहे हैं चाहे इस
घर से होके जाए डायरेक्टली उसी के घर पे
पहुंच जाए पहुंच हम फाइनल उसी प्लॉट पे
रहे हैं इसीलिए हर बार उसी प्लॉट में रहने
वाले लोगों की वैल्यू को प्रिंट करा रहे
हैं मतलब 22 को प्रिंट करवा रहे हैं तो आई
होप कि हमें ये वाला सिंटेक्स भी क्लियर
होगा कि एस्ट रिस्क पीटीआर मतलब पॉइंटर
वैल्यू ट एड्रेस अगर हम लगा दें पॉइंटर के
सामने तो कौन सी वैल्यू प्रिंट होती है और
एस्टरिस को अगर एम परसेंट एज के सामने लगा
दें मतलब एड्रेस निकाल ले और फिर एस्ट
रिस्क लगाए तो कौन सी वैल्यू प्रिंट होती
है नेक्स्ट चीज जिसकी हम बात कर रहे होंगे
वो है एक प्रैक्टिस क्वेश्चन जिससे चीजें
और क्लियर हो जाएंगी इस क्वेश्चन में हमें
आउटपुट फाइंड आउट करना है क्वेश्चन हमारा
कुछ ऐसा है कि सबसे पहले हमने क्या किया
है एक पॉइंटर बनाया है पीटीआर नाम से और
एक इंटी जर बनाया है x अब पॉइंटर के अंदर
हमने x का एड्रेस डाल दिया है इसको हल्का
सा मेमोरी से विजुलाइज करते हैं हमारे पास
है एक पॉइंटर और हमारे पास है एक वेरिएबल
x अब x का जो एड्रेस है मान लीजिए एड्रेस
कुछ भी हो सकता है 2000 है ये एड्रेस इसको
हमने पॉइंटर के अंदर ऑलरेडी स्टोर करा
दिया है और एस्ट रिस्क पीटीआर में हमने
स्टोर करा दी है वैल्यू जीरो एस्ट रिस्क
पीटीआर मतलब वैल्यू एट एड्रेस ऑफ पीटीआर
पीटीआर में कौन सा एड्रेस है 2000 तो एस्ट
रिस्क पीटीआर क्या होगा x यानी 2000 2000
के अंदर स्टोर करा दिया है हमने जीरो यहां
पर कुछ ऐसा हुआ है हमारी यह वाली लाइन
बहुत इंपॉर्टेंट है जिसको हमें ध्यान देने
की जरूरत है इस लाइन में क्या हो रहा है
पीटीआर के अंदर जो भी एड्रेस है हम उस
एड्रेस पर जाएंगे और वहां पे जीरो स्टोर
करा देंगे पीटीआर के अंदर 2000 है तो हम
2000 पे जाएंगे और वहां पे जीरो स्टोर करा
देंगे तो इस तरीके का काम हमने किया है
यहां पे अब क्या कर रहे हैं x की वैल्यू
को प्रिंट कर रहे हैं और पीटीआर की वैल्यू
को प्रिंट कर रहे हैं तो यहां पर x की
वैल्यू हमारे पास क्या आएगी x की वैल्यू
आएगी 0 क्योंकि हमने x में इनडायरेक्टली
रो स्टोर करा दिया आप नोटिस करेंगे यहां
पे कोई भी लाइन ऐसी नहीं है जिसमें x इ टू
समथिंग लिखा हो पर हमने फिर भी x में
वैल्यू असाइन कर दी कैसे असाइन कर दी इस
लाइन की हेल्प से क्योंकि यहां पर
इनडायरेक्टली हमने x को एक्सेस कर लिया है
उसके एड्रेस की फॉर्म में तो यहां पे
ज़ीरो प्रिंट होगा और वैल्यू एट पीटीआर
मतलब पीटीआर के अंदर जो एड्रेस है उसपे आप
चले जाओ और वहां पे स्टोर्ड वैल्यू का आप
स्टोर करा दो तो यह भी
जरू नेक्स्ट हमने क्या किया इतने पार्ट को
ना इस पार्ट को हम कोड कर लेते हैं और
इसको कर लेते हैं वेरीफाई सबसे पहले एक
इंटी जर वेरिएबल बना लेते हैं जिसमें
स्टोर करा रहे हैं हम कुछ भी नहीं शुरुआत
में और उसके अलावा एक पॉइंटर बना लेते हैं
पीटीआर नाम
से अब पीटीआर के अंदर हम क्या कर रहे हैं
स्टोर करवा रहे हैं हमारे एक्स का एड्रेस
और फिर इनडायरेक्टली पीटीआर पर जो एड्रेस
है उस एड्रेस के अंदर स्टोर करा रहे हैं
हम जीरो तो सबसे पहले हम प्रिंट करने की
कोशिश करेंगे परसेंटेज डी ब n x की वैल्यू
को एंड उसके बाद हम प्रिंट करने की कोशिश
करेंगे अपने स्टार पीटीआर
को यहां पर लिख देते हैं x इ स्टार पीटीआर
इ तो अब हमने ऑलरेडी डिस्कस कर लिया है कि
इस लाइन की वजह से हमारी जो x की वैल्यू
है वो जीरो आ चुकी है तो यहां पर भी हमारे
पास जीरो प्रिंट होना चाहिए और यहां पर भी
हमारे पास जीरो प्रिंट होना चाहिए तो इसको
सेव करके वेरीफाई कर लेते
हैं तो हमारे पास दोनों केसेस में जीरो
प्रिंट हुआ है क्योंकि दोनों वैल्यू जीरो
है अब नेक्स्ट लाइन की तरफ बढ़ते हैं
नेक्स्ट लाइन इससे भी ज्यादा इंपॉर्टेंट
लगती है मुझे नेक्स्ट लाइन कहती है स्टार
पीटीआर + = 5 इस लाइन को भी कर लेते हैं
इंपॉर्टेंट मार्क थोड़ा सा इसको ब्रेक अप
करें तो ये कहती है स्टार पीटीआर = स्टार
पीटीआर + 5 ये कहने का क्या मतलब हुआ
कि पॉइंटर में जो एड्रेस है मतलब वैल्यूड
एड्रेस एट पॉइंटर मतलब 2000 जो भी एड्रेस
है यहां पर स्टार पीटीआर हम जब भी लिख रहे
हैं उसका मतलब है x स्टार पीटीआर क्या है
एड्रेस ऑफ x तो x पर जो भी वैल्यू है
उसमें आप फ ऐड कर दो और उसको वापस से इसका
मतलब भी x है x में असाइन कर दो तो क्या
होगा इस लाइन का बेसिकली मतलब है x + = 5
तो x के अंदर क्या वैल्यू थी 0 रो में
हमने ऐड किया फ तो यहां पर इस लाइन की मदद
से हमारी x की वैल्यू हो जाएगी 5 अब x की
वैल्यू फ होगी तो यहां पर हमारे लिए
प्रिंट होगा फ और स्टार पीटीआर भी क्या
होगा मतलब वैल्यू एट एड्रेस पीटीआर पे तो
x का एड्रेस है तो x की वैल्यू दोबारा से
प्रिंट होगी च्च इज 5 इसको भी हम वेरीफाई
कर लेते हैं अपने कोड में यहां पर हम
लिखेंगे स्टार पीटीआर प्स इक्ट 5 और अब
लगाएंगे अपनी प्रिंट स्टेटमेंट इस लाइन की
मदद से हमारे जो x की वैल्यू है है वो
फाइव बन गई है तो यहां पे भी प्रिंट होगा
फाइव और यहां पे भी प्रिंट होगा हमारे पास
फाइव इसको भी वेरीफाई कर लेते
हैं अब हमारे पास दोनों वैल्यूज जो हैं
पहले जीरो थी अब फाइव हो गई है नेक्स्ट
चीज जिसकी बात करेंगे नेक्स्ट लाइन थोड़ी
सी और इंपॉर्टेंट है देखते हैं कैसे अब
यहां पर हम कर रहे हैं इंक्रीमेंट ऑपरेटर
का इस्तेमाल ये इंक्रीमेंट ऑपरेटर क्या कर
रहा है इसको ब्रेक डाउन करें तो स्टार
पीटीआर = स्टार पटी + 1 इस तरीके का मतलब
है और हमने डिस्कस किया जब भी स्टार
पीटीआर आए उसका मतलब वेरिएबल ही होता है
स्टार पीटीआर यानी x + 1 = x तो x की
वैल्यू हो जाएगी पहले फव थी तो अब हो
जाएगी 6 तो यहां पर भी x की वैल्यू सिक्स
प्रिंट होगी और यहां पर भी स्टार पीटीआर
यानी x की वैल्यू प्रिंट हो गई 6 इन
लाइनों को भी एक बार लिख लेते हैं दोबारा
स्टार
पीटीआर प्लस प्लस आप नोटिस करेंगे कि
स्टार पीटीआर एक साथ है और प्लस प्लस
ब्रैकेट के बाद यानी स्टार पीटीआर का प्लस
हो रहा है पीटीआर का प्लस नहीं हो रहा तो
पॉइंटर प्लस प्लस नहीं हो रहा स्टार
पीटीआर पॉइंटर पे जो एड्रेस है उस पर जो
वैल्यू है वो वैल्यू प्लस प्लस हो रही है
यहां पे करवा लेते हैं अपनी वैल्यू प्रिंट
हमारे पास सिक्स आना चाहिए और यहां पर भी
प्रिंट होकर आना चाहिए
सिक्स दोबारा से इसको कंपाइल एंड रन तो अब
हमारे पास एंड में आया है सिक्स एंड स्टार
पीटीआर भी सिक्स तो पॉइंटर को लिखते कैसे
हैं पॉइंटर में क्या वैल्यू स्टोर होती है
उसको कैसे प्रिंट करवाना है वेरिएबल का
एड्रेस कैसे निकालना है एड्रेस से वेरिएबल
की वैल्यू कैसे निकालनी है पॉइंटर पर जो
एड्रेस टोड है उससे वैल्यू कैसे निकालनी
है हमने काफी सारी चीजें एक्सप्लोर कर ली
है और ये जो सवाल है ना आपसे पॉइंटर के
सवाल चाहे आपके कॉलेज वाले पूछे जाए
रिक्रूटर पूछे इसी ना इसी फॉर्म में होंगे
इसी का कोई फॉर्म चेंज देके का आपको कहीं
पर एम पर लगा के दे देंगे कहीं एस्ट रिस्क
लगा के दे देंगे कहीं आपको एड्रेस निकालने
को कह देंगे कहीं वैल्युएट एड्रेस निकालने
को कह देंगे और इसी कंफ्यूजन में मोस्टली
बच्चे जाते हैं बेस्ट तरीका यह है हमने जो
बेसिक अभी डिस्कस किए हैं उनको एक बार देख
लें और अगर हल्का सा भी कंफ्यूजन है तो एक
बार और देख लें उसके बाद सवाल ढेर सारे कर
ले पॉइंट्स पे एक बार हम बहुत सारे सवाल
कर लेते हैं ना स्पेशली पेपर से एक दिन
पहले या अपने इंटरव्यू से एक दिन पहले तो
सारी चीजें क्लियर हो जाएंगी पॉइंट्स के
बारे में अब नेक्स्ट चीज जिसकी हम बात
करेंगे वो है पॉइंटर टू पॉइंटर पॉइंटर टू
पॉइंटर एक ऐसा वेरिएबल है जो दूसरे पॉइंटर
का एड्रेस स्टोर करा रहा है तो वेरिएबल
दैट स्टोर्स द मेमोरी एड्रेस ऑफ अनदर
पॉइंट
जैसे एग्जांपल के तौर पर हमारी मेमोरी है
इसके अंदर सबसे पहले हमने एक वेरिएबल
बनाया ए जिसके अंदर स्टोर्ड है 22 इस
वेरिएबल का जो एड्रेस है वो है 210 अब
हमने एक नया पॉइंटर बनाया पीटीआर इसके
अंदर हमने क्या सोचा कि इसको पॉइंट करवा
देते हैं एज की तरफ तो एज का जो एड्रेस है
20110 वो यहां पे आ जाएगा अब इस पॉइंटर का
भी तो कुछ एड्रेस होगा ना 20113 जैसे हमने
प्रिंट करवा के देखा था तो कुछ वैल्यू आई
थी अब हम चाहते हैं इस पॉइंटर के भी
एड्रेस को हम किसी नए वेरिएबल में स्टोर
करा दें उसको कैसे स्टोर कराएंगे हम एक
नया वेरिएबल बनाएंगे पॉइंटर टू पॉइंटर पी
पीटीआर इसके अंदर हम स्टोर करा देंगे
पीटीआर की एड्रेस को तो यहां पे 20113 आकर
स्टोर हो जाएगा और इसका भी अपना कुछ
एड्रेस होगा अब ये चेन जो है कंटिन्यू कर
सकती है हो सकता है हम एक नया पॉइंटर टू
पॉइंटर बनाएं जो इसकी एड्रेस को स्टोर कर
ले फिर एक नया बनाए जो उसके एड्रेस को
स्टोर कर ले तो ये चेन अब चलती रहेगी हम
लास्ट लेवल ऑफ़ चेन पर आ गए हैं यानी
पॉइंटर टू पॉइंटर हम बहुत रेयरली रियल
लाइफ प्रोग्रामिंग में पॉइंटर टू पॉइंट्स
को यूज़ करते हैं पर इनको थोड़ा कांसेप्ट
बिल्ड अप करने के लिए पढ़ना जरूरी है
क्योंकि रिक्रूटर पूछ सकते हैं अगर वो
किसी वेबसाइट से इंटरव्यू से पहले देख के
आए टॉप फाइव पॉइंटर क्वेश्चंस या आपके
कॉलेज वाले प्रोफेसर इसको सिलेबस के अंदर
डाल सकते हैं तो पॉइंटर टू पॉइंटर को किस
तरीके से डिक्लेयर करते हैं यूज करते हैं
उसके सिंटेक्स की बात करते हैं जैसे
पॉइंट्स को हम लिखा करते थे इंट स्टार
पीटीआर की फॉर्म में और पॉइंटर टू पॉइंटर
हो गया है तो यहां एक स्टार की जगह हम बस
डबल स्टार लगा देंगे तो इसका मतलब है
पॉइंटर टू पॉइंटर तो अगर एक इंटी जर
पॉइंटर का एड्रेस स्टोर कराना है तो इंट
डबल स्टार पीपीटी आर अगर एक कैरेक्टर
पॉइंटर का एड्रेस स्टोर कराना है तो
कैरेक्टर डबल स्टार पीपीटी अगर एक
फ्लोटिंग वेरिएबल का फ्लोटिंग पॉइंटर का
एड्रेस स्टोर कराना है तो फ्लोट डबल स्टार
पीपीटी अब ये जो पीपीटी आर है ये एक
वेरिएबल का नाम है मतलब जरूरी नहीं है आप
पीपीटी रखें वो तो मैंने अंडरस्टैंडिंग के
लिए उसको पॉइंटर टू पॉइंटर दिखाने के लिए
आप इसको इस तरीके से भी लिख सकते हैं
कैरेक्टर डबल स्टार डबल स्टार स्टार यह भी
एक पॉइंटर टू पॉइंटर ही है क्योंकि इसका
टाइप कैरेक्टर स्टार स्टार है अब बात करते
हैं एक प्रैक्टिस क्वेश्चन की अब पॉइंटर
टू पॉइंटर को एक्चुअली बनाकर देख लेते हैं
हम क्या करेंगे एक वेरिएबल बनाते हैं सबसे
पहले वेरिएबल है फ्लोटिंग टाइप का इस बार
बनाते हैं प्राइस प्राइस के अंदर वैल्यू
स्टोर्ड है 00 अब एक नया पॉइंटर बनाएंगे
फ्लोट स्टार पीटीआर पीटीआर स्टोर करेगा
एड्रेस ऑफ प्राइस अब एक और नया पॉइंटर
बनाएंगे ये होगा पॉइंटर टू पॉइंटर यानी
पीपीटी आर पीपीटी आर के अंदर स्टोर
कराएंगे हम एड्रेस ऑफ पीटीआर तो पीटीआर का
हमने एड्रेस लिया उसको पी पीटीआर के अंदर
स्टोर करा दिया तो आई होप ये चेन हमें
क्लियर होगी कि नॉर्मल वेरिएबल का एड्रेस
स्टोर करता है हमारा पॉइंटर और पॉइंटर
वेरिएबल का एड्रेस स्टोर कराता है हमारा
पॉइंटर टू पॉइंटर तो ये चेंज चलती रहती है
अब एक सवाल की फॉर्म में इसको और थोड़ा सा
समझते हैं क्वेश्चन हमारा है प्रिंट द
वैल्यू ऑफ आ फ्रॉम इट्स पॉइंटर टू पॉइंट
यहां पर हमें कोई भी एक वेरिएबल दिया होगा
मान लीजिए इंट आ इ 5 य एक वेरिएबल दिया
हुआ है अब हमें इसका पॉइंटर टू पॉइंटर
गिवन है मतलब इसका सबसे पहले हमने कोई
पॉइंटर बनाया होगा इंट पीटीआर जिसमें
वैल्यू हमने स्टोर कराई होगी एड्रेस ऑफ आ
उसके बाद इसका कोई पॉइंटर टू पॉइंटर बनाया
होगा पी पीटीआर उसमें हमने स्टोर करवाया
होगा एड्रेस ऑफ पीटीआर अब हमारे पास यह
दोनों तो नहीं है पर यह है हमें सिर्फ इस
पीपीटी आर की हेल्प से अपने नंबर फाइव को
प्रिंट करवाना है वो कैसे प्रिंट करवाएंगे
थोड़ा सा इसको डायग्राम की हेल्प से समझते
हैं सबसे पहले मान लीजिए कि आपके पास है
एक वेरिएबल आ जो किसी मेमोरी एड्रेस पे
स्टोर्ड है जिसके अंदर स्टोर्ड है वैल्यू
हमारी पांच उसके अलावा आपके पास है पीपीटी
आर पीपीटी आर के अंदर कोई एड्रेस स्टोर है
पीटीआर भी उसके अंदर एड्रेस स्टोर है इसका
एड्रेस था मान लो 2000 पीटीआर के अंदर
2000 स्टोर्ड है इसका एड्रेस था 2010 तो
पीपीटी आर के अंदर 2010 स्टोर्ड है और
इसका एड्रेस 2020 इस तरीके का कुछ चेंज चल
रहा है अब वैल्यू जब भी निकालनी है ना तो
हमारे दिमाग में सबसे पहले एक घंटी बजनी
चाहिए और एक ऑपरेटर हमें याद आना चाहिए
व्हिच इज वैल्यू एट एड्रेस ऑपरेटर यानी
हमारा एस्ट रिस्क जब भी वैल्यू निकालनी हो
एस्ट रिस्क को याद रखना है जब भी एड्रेस
निकालना हो एम परसेंट को याद रखना है एरिस
कैसे काम आएगा हमें पता है कि स्टार
पीटीआर क्या देता है स्टार पीटीआर हमें दे
देता है i = 5 की वैल्यू यानी पांच हमें
दे देता है तो अगर हम स्टार पीपीआर कर दें
तो वह हमें क्या देगा स्टार पीपीआर वह
देगा जो इस एड्रेस के अंदर स्टोर्ड है
मतलब स्टार पीटीआर से हम यहां आएंगे और इस
एड्रेस पर स्टोर्ड वैल्यू पर आ जाएंगे पर
अगर हम स्टार स्टार पीपीआर कर द तो क्या
होगा तो एक चेन चलेगी चेन किस तरीके से
चलेगी सबसे पहले इस पहले स्टार की हेल्प
से हम 2010 से यहां पर आएंगे और इस 2000
पे आएंगे दूसरे स्टार की हेल्प से हम 2000
से यहां पर आएंगे और फिर इस पांच पर आएंगे
तो हमें डबल डबल स्टार मतलब वैल्यू एट
एड्रेस दो बार करना है दो बार वैल्यूज को
जंप करके उसके बाद हम प्रिंट करवा सकते
हैं अपने i = 5 इसको प्रैक्टिकली करके
देखते हैं कोड की हेल्प से अगर अभी इतना
क्लियर नहीं है इस पोर्शन को कर देते हैं
कॉमेंट आउट एक वेरिएबल बनाते हैं इंट आ
जिसके अंदर पांच स्टोर्ड है उसके अलावा एक
पॉइंटर वेरिएबल बनाएंगे इंट स्टार पीटीआर
इट एड्रेस ऑफ आ एंड एक पॉइंट टू पॉइंटर
बनाएंगे पी पीटीआर जिसके अंदर स्टोर
करवाएंगे एड्रेस ऑफ
पीटीआर अब क्या कराना है चीजें बस प्रिंट
करवानी है नॉर्मली एक सिंगल चीज हम प्रिंट
करवाएंगे व्हिच इज स्टार स्टार पी
पीटीआर टर्मिनल कंपाइल एंड रन तो स्टार
स्टार पीपीटी आर हमने प्रिंट करवाया और
हमारे लिए प्रिंट हो गया फाइव आई होप इसका
लॉजिक क्लियर हुआ कि स्टार पीटीआर तो मुझे
वैल्यू देगा एड्रेस ऑफ पीटीआर की और स्टार
स्टार पीटीआर कर दिया तो पीटीआर पे जो
एड्रेस स्टड है उसकी वैल्यू दे देगा यानी
पांच की वैल्यू दे देगा जिसको हमने प्रिंट
करवा लिया तो बहुत सिंपल था समझने में दो
ऑपरेटर्स का हमेशा ध्यान रखना है स्टार
कहां यूज करना है जब वैल्यू चाहिए एम
परसेंट कहां यूज करना है जब एड्रेस चाहिए
इन दोनों का ही इधर-उधर कॉमिनेशन हमें
दिया होगा हर जगह अब नेक्स्ट जिस टॉपिक की
बात करेंगे यह बहुत इंपॉर्टेंट टॉपिक है
जब भी प्रोग्रामिंग को समझने हैं और अभी
तक हमने जितने भी टॉपिक सीखे हैं ना सी के
अंदर सी यूजुअली स्कूल्स के के अंदर
कॉलेजेस के अंदर सबसे पहले इसलिए पढ़ा
देते हैं क्योंकि ये जो कांसेप्ट है ना ये
सिर्फ सी में नहीं होते ये सारी
प्रोग्रामिंग लैंग्वेजेस में आपको कहीं ना
कहीं दिख जाएंगे आप जावा पढ़ने निकलेंगे
आप c+ प् पढ़ने निकलेंगे आप जावास्क्रिप्ट
पढ़ने निकलेंगे आप मान लीजिए कोई और
प्रोग्रामिंग लैंग्वेज जैसे गो पढ़ रहे
हैं सी शप पढ़ रहे हैं उनके अंदर भी ये
कॉन्सेप्ट्स एजिस्ट करते हैं जो हम यहां
पर पढ़ रहे हैं हमारे फंक्शंस के
कॉन्सेप्ट्स हमारे लूप्स के कॉन्सेप्ट्स
हमारे इफ एल्स के कॉन्सेप्ट्स इवन कुछ
लैंग्वेजेस में पॉइंटर के साथ आप खेल
पाएंगे और अभी हम पढ़ने वाले हैं फंक्शन
कॉल के बारे में जो खुद में एक इंपॉर्टेंट
टॉपिक है हमारी जो फंक्शन कॉल होती है ना
जब हम कॉलिंग स्टेटमेंट लिखते हैं जैसे
हमने कोई फंक्शन बनाया सम उसके लिए हमने
लिख दिया सम ऑफ a एंड b फंक्शंस कॉल c के
अंदर दो टाइप की होती हैं सबसे पहली होती
है कॉल बाय वैल्यू और दूसरी होती है कॉल
बाय रेफरेंस सबसे पहले कॉल बाय वैल्यू का
हम एग्जांपल देखते हैं कॉल बाय वैल्यू को
हम ऑलरेडी पढ़ चुके हैं कोई इसमें नई चीज
नहीं है मैं एक ऐसी चीज करके दिखाऊंगी जो
हमने ऑलरेडी पढ़ी हुई है और फिर मैं
बताऊंगी कि इसको कॉल बाय वैल्यू कहते थे
तो एक नॉर्मल सा प्रोग्राम लिखते हैं यहां
पर आप यह सोच रहे होंगे अचानक से पॉइंटर
से फंक्शन में कैसे जंप कर गए पर हम अभी
सीखेंगे कि हाउ फंक्शन आर रिलेटेड टू
पॉइंटर तो सबसे पहले एक फंक्शन डिक्लेयर
करते हैं इसको नाम देंगे हम स्क्वेयर
वॉइड
स्क्वेयर
इंट
ए इसकी डेफिनेशन भी लिख लेते हैं वॉइड
स्क्वेयर
इंट
n यह फंक्शन क्या करेगा n में ही स्टोर
करवा देगा n मल्टीप्ला बाय ए और फिर हम
प्रिंट कर देंगे परसेंटेज डी यहां लिख
देते हैं स्क्वायर इ इक्वल
टू ब ए और
n इस फंक्शन ने क्या किया एक इंटी जर लिया
n अब n को n से मल्टीप्लाई करके उसी
वेरिएबल के अंदर स्क्वायर को स्टोर करा
दिया और फिर स्क्वायर को हमने प्रिंट करवा
दिया अब मेन फंक्शन के अंदर एक नंबर ले
लेते हैं इंट नंबर इ इक्वल टू 4 और उसके
लिए स्क्वेयर कॉल करते हैं स्क्वेयर को
कॉल करेंगे तो उसमें नंबर पास कर देते हैं
एंड फिर एक बार स्क्वेयर प्रिंट करवाने के
बाद दोबारा से उस नंबर को प्रिंट करवाते
हैं परसेंटेज डी नंबर
इज ब स् ए
नंबर हमने नंबर बनाया स्क्वायर प्रिंट
करवाया नंबर का और दोबारा से नंबर को
प्रिंट करवाया इसको एक बार रन करके देखते
हैं और आउटपुट अपना एनालाइज करते हैं तो
स्क्वायर हमारे पास 16 आ गया और नंबर की
वैल्यू फोर रही पर हम ध्यान से देखें तो
स्क्वायर वाले फंक्शन के अंदर हमने एंड को
चेंज कर दिया था ये जो नंबर यहां पर भेजा
गया है इसकी वैल्यू को तो हमने चेंज कर
दिया था इसको 4 मल्ला बा 4 यानी 16 कर
दिया था तो जब हमारा n वापस गया तो इसको
तो 16 हो जाना चाहिए था तो ये फोर क्यों
है अब इसको हम ऑलरेडी डिस्कस कर चुके हैं
ये फोर इसलिए है क्योंकि हमारी जब भी हम
वैल्यू पास करते हैं बाय डिफॉल्ट सी के
अंदर वो पास बाय वैल्यू होती है मतलब
कॉपीज बनती है इस कांसेप्ट को हमने
फंक्शंस में डिस्कस किया था कि ये जो नंबर
है ये एक आर्गुमेंट है जब इसको एक फंक्शन
के अंदर पास करेंगे तो फॉर्मल पैरामीटर
यानी पैरामीटर क्या करेगा इस आर्गुमेंट की
एक कॉपी बनाएगा और इस फंक्शन के अंदर जो
भी चेंजेज होते हैं वो सारे के सारे कॉपी
में चेंजेज होते इट्स सिमिलर टू कि आप
मैसेज वैसे का वैसा है तो दोस्त चाहे
मैसेज रिसीव होने के बाद उसके साथ कुछ भी
करें उसको चाहे फॉरवर्ड कर दे उसको डिलीट
कर ले उसको सेव कर ले पर मेरी तरफ से वो
मैसेज चेंज नहीं होगा मेरे पास मैसेज वैसा
का वैसा होगा तो हम जो है मेन फंक्शन है
और दोस्त हमारा स्क्वायर फंक्शन है
स्क्वायर फंक्शन पैरामीटर्स के साथ कुछ भी
करे वो मेन फंक्शन के पैरामीटर्स को
आर्गुमेंट को अफेक्ट नहीं करता इसीलिए
नंबर की वैल्यू वैसे की वैसी है पर अगर
मैं कहूं कि एक अलग तरीके से हम वेरिएबल
को पास कर सकते हैं जिसमें वैल्यू में
चेंज करना पॉसिबल है है तो वो एक अलग टाइप
की फंक्शन कॉल होगी तो बाय डिफॉल्ट जो
बिहेवियर रहता है कि कॉपी हमारी पास होती
है इसको इस कांसेप्ट को हम कहते हैं कॉल
बाय वैल्यू मतलब हम अपने आर्गुमेंट की
वैल्यू को पास करने अपने वेरिएबल की
वैल्यू को एज आर्गुमेंट पास कर रहे हैं
अपने फंक्शन को तो इसकी डेफिनेशन होती है
कि व्हेन वी पास वैल्यू ऑफ वेरिएबल एज
आर्गुमेंट तो अभी तक हमने जो भी फंक्शंस
लिखे वो सारे कॉल बाय वैल्यू थे पर अगर
हमें वेरिएबल को पास करना है तो हम कॉल
बाय रेफरेंस भी कर सकते हैं कॉल बाय
रेफरेंस कैसे करेंगे जब हम वेरिएबल के
एड्रेस को आर्गुमेंट की तरह पास कर द जैसे
इसका एक एग्जांपल लेते हैं एक और फंक्शन
बनाते हैं जिसको हम नाम देंगे अंडरस्कोर
स्क्वा ये हमारा नया स्क्वेयर फंक्शन है
इसके अंदर भी हमारे पास एक इंटी जर ए आएगा
वॉइड अंडरस्कोर स्क्वा इंट
n अब यहां पर हम क्या करेंगे इंट स्टार एन
लिखते हैं क्योंकि हम एक पॉइंटर यहां पर
लेने वाले हैं एड्रेस भेजेंगे तो एड्रेस
को रिसीव कर के लिए एक पॉइंटर वेरिएबल
होना चाहिए था और यहां सेम चीज लिखेंगे
स्टार n = स्टार n स्टार n और यहां पर भी
लिखेंगे स्टार n तो ये एक स्क्वेयर फंक्शन
है जो पॉइंटर लेता है मतलब एक नंबर का ये
पॉइंटर ले लेगा उसका एड्रेस ले लेगा अब
सारी की सारी जो चीजें होंगी डायरेक्टली
उस एड्रेस के साथ होंगी और यहां पर फंक्शन
के अंदर हम क्या करेंगे सबसे पहले
अंडरस्कोर स्क्वेयर को कॉल लगाएंगे और इस
अंडरस्कोर स्क्वायर के अंदर एड्रेस पास कर
देंगे अपने नंबर का
उसके बाद दोबारा से अपने नंबर को प्रिंट
करवा कर देखते हैं कि अब क्या वैल्यू
प्रिंट होगी हमारे नंबर की एक बार इस कोड
को रन करते हैं फिर उस कोड को एनालाइज
करेंगे तो यहां पर सबसे पहले तो 164
प्रिंट हुआ क्योंकि हमने फर्स्ट वाले
स्क्वायर को कॉल लगाई थी पर सेकंड वाले
स्क्वायर को कॉल लगाई तो सबसे पहले
स्क्वायर 16 प्रिंट हुआ वापस आए तो नंबर
हमारा फोर हो गया था पर अबकी बार स्क्वायर
को कॉल लगाई 16 तो उसने क्या किया हमारे
नंबर को भी चेंज कर दिया यानी चार था उसको
16 बना दिया तो कुछ इस तरीके का काम हमारे
पॉइंट्स करते हैं जब उनको फं फशन के अंदर
पास करते हैं पास कैसे करते हैं पॉइंट्स
को सबसे पहले जो भी फंक्शन बना रहे हैं ना
उसके पैरामीटर में लिखेंगे इ स्टार n मतलब
यहां पर एक पॉइंटर आने वाला है पॉइंटर आने
वाला है यानी किसी वेरिएबल के एड्रेस को
हम यहां पर देने वाले हैं जिसको स्टोर
करने के लिए हमें पॉइंटर वेरिएबल चाहिए तो
अपने जब डेफिनेशन लिखी उसके अंदर लिखा इंट
स्टार n अब ये इंट स्टार n ये जो n है ये
एक पॉइंटर वेरिएबल है पॉइंटर जिस वैल्यू
के एड्रेस को स्टोर करा रहे उसको कैसे
एक्सेस करते हैं एस्ट रिस्क से यानी स्टार
से तो वैल्यू एट एड्रेस ऑफ n हो जाए आएगा
वैल्यू एट एड्रेस ऑफ n मल्टीप्ला बाय
वैल्यू ऑफ एड्रेस ऑफ n तो यहां पर हम एक
तरीके से क्या कर रहे हैं 4 मल्ला बाय 4
कर रहे हैं और उसको वापस से उसी लोकेशन पे
स्टोर करा रहे हैं जो एड्रेस एंड में है
और फिर उस वैल्यू को हमने स्टोर करा दिया
अब क्या किया वापस गए तो वो वैल्यू तो
चेंज ही हो गई क्योंकि हमने डायरेक्टली
एड्रेस के अंदर चेंजेज कर दिए यहां कॉपी
के अंदर चेंजेज किए थे पर इस फंक्शन में
हमने एड्रेस के अंदर ही चेंजेज कर दिए तो
यहां पर जब वापस गए तो नंबर की वैल्यू
चेंज हो गई थी इसको थोड़ा सा ना डायग्राम
की हेल्प से और समझ लेते हैं हमारे पास
क्या हुआ हमारे पास एक वेरिएबल था जिसका
नाम था नंबर नंबर का कुछ एड्रेस होगा मान
लीजिए इसका एड्रेस था 2000 अब नंबर के
अंदर वैल्यू स्टोर थी हमारी चार हमने एक
फंक्शन कॉल लगाई फंक्शन कॉल में एक पॉइंटर
बना पॉइंटर ने क्या किया पॉइंटर ने अपना
नाम तो n रख रखा है पॉइंटर ने एड्रेस
स्टोर करा लिया 2000 का क्योंकि हमने एंड
नंबर पास किया था अपने इस फंक्शन को हम
ध्यान से देखेंगे लाइन के अंदर तो
अंडरस्कोर स्क्वायर को हमने नंबर का
एड्रेस दे दिया तो नंबर का एड्रेस दे दिया
वो उसने n के अंदर स्टोर करा लिया अब जो
भी चेंजेज होंगे वो एड्रेस के ऊपर होंगे
अगर हमने लिखा स्टार n ल्ड बाय स्टार n तो
इसका मतलब है कि हम इस फोर को एक्सेस कर
रहे हैं यानी इसका मतलब है नंबर और इसका
भी मतलब है नंबर तो यहां पे हमने फोर को
मल्टीप्लाई कर दिया फोर के साथ अब इसको
वापस से जब हमने स्टार ए में स्टोर कराया
तो मतलब एड्रेस में ही चेंज कर दिया तो
यहां पर हमने चार को काटकर 16 को स्टोर
करा दिया एड्रेस तो वही का वही है n के
अंदर एड्रेस अभी भी 2000 है क्योंकि प्लॉट
तो चेंज होता नहीं प्लॉट का एड्रेस तो अभी
भी 2000 है पर उसके अंदर जो रहने वाले लोग
हैं ना वो चेंज हो गए मतलब फोर का अब हमने
16 बना दिया अब चाहे हम स्क्वायर फंक्शन
में रहे मेन फंक्शन में रह किसी नए फंक्शन
में रहे अब वो वैल्यू परमानेंटली इस
एड्रेस के अंदर चेंज हो गई अब पुरानी
वैल्यू वापस नहीं आएगी तो कुछ इस तरीके से
जब हम एड्रेस को पास करते हैं और एक
पॉइंटर वेरिएबल उसको स्टोर कर लेता है और
हम चेंजेज कर पाते हैं एड्रेस के अंदर ही
तो उसको हम कहते हैं कॉल बाय रेफरेंस यानी
यहां पर जो फंक्शन कॉल हमने देखी इसको कॉल
बाय रेफरेंस कहते हैं वी पास एड्रेस ऑफ
वेरिएबल एज आर्गुमेंट अपने वेरिएबल के
एड्रेस को एज आर्गुमेंट पास करेंगे वो
पॉइंटर के अंदर स्टोर होगा और ओरिजिनल
वैल्यू के अंदर जब चेंजेज कर पाएंगे दैट
इज कॉल्ड बाय रेफरेंस तो ये दो तरीके की
हमारी फंक्शन कॉल होती है इसको सीखने का
इसको और अच्छे से समझने का बेस्ट एग्जांपल
है हमारे स्वप ंग फंक्शन स्वप टू नंबर्स a
एंड b ये हमारा नेक्स्ट क्वेश्चन है स्वप
का मतलब होता है इंटरचेंज या एक्सचेंज
जैसे a की वैल्यू है ती b की वैल्यू है
पांच तो एंड में स्वप ंग फंक्शन क्या
करेगा a की वैल्यू को पांच बना देगा और b
की वैल्यू को तीन बना देगा इंटरचेंज कर
देगा दोनों की वैल्यूज को अब एक बार देखते
हैं कि इंटरचेंज करने वाला प्रोसेस हम
एक्चुअली करते कैसे हैं हमारी जो मेमोरी
होगी ना उसके अंदर हमारे पास दो वेरिएबल
ऑलरेडी हैं सबसे पहला है हमारा ए वेरिएबल
दूसरा है हमारा ब वेरिएबल a के अंदर
वैल्यू स्टोर्ड है तीन बी के अंदर पाच जब
भी हमें कुछ स्वप करना है ना तो हम एक
थर्ड वेरिएबल का यूज करेंगे इसको समझने के
लिए एक और एग्जांपल लेते हैं जैसे हमारे
पास एक बाल्टी है पानी की जिसमें 3 लीटर
पानी स्टोर्ड है एक दूसरी बाल्टी है जिसके
अंदर हमारे पास पांच लीटर पानी स्टोर्ड है
अब इस बाल्टी को हमने नाम दिया है इसको
नाम दिया है बी हमें क्या करना है ए में
हमें 5 लीटर पानी चाहिए बी में हमें 3
लीटर पानी चाहिए तो कैसे करेंगे एक तीसरी
बाल्टी ले आएंगे यह तीसरी बाल्टी आ गई और
तीसरी बाल्टी खाली है इसके अंदर कुछ नहीं
है तो या तो हम पहले बी का पानी इसमें डाल
दें तो बी खाली हो जाएगा उसके बाद ए का
पानी बी में डाल दें अब ऐसा हमने किया तो
बी के अंदर तो आ गया हमारा 3 लीटर पानी ये
खाली जो बाल्टी थी इसके अंदर बी का 5 लीटर
पानी है और a को हमने बी में खाली किया था
तो अब ए खाली हो गया अब क्या करेंगे इस
बाल्टी का पानी वापस से a के अंदर डाल
देंगे तो फाइनली ए के अंदर 5 लीटर आ जाएगा
बी के अंदर 3 लीटर आ जाएगा और ये बाल्टी
पूरी हो जाएगी हमारी
खाली तो इस तरीके से हमें जब भी दो बाल्ट
का पानी इंटरचेंज करना होता है एक तीसरी
खाली बाल्टी ले आते हैं वैसे ही हम यहां
पर अगर दो वेरिएबल की वैल्यू को इंटरचेंज
करना है तो तीसरा खाली वेरिएबल ले आएंगे
तीसरे खाली वेरिएबल को हम मान लीजिए कह
लेते हैं टेंपररी वेरिएबल टेंपररी यानी
इसको नाम दे दिया हमने t टेंपररी है ये
खाली है अब सबसे पहले क्या करेंगे t की
वैल्यू में हमें a की वैल्यू डाल देंगे या
बी की वैल्यू डाल देंगे कुछ भी कर सकते
हैं मतलब a की वैल्यू t में स्टोर्ड हो गई
अब a के अंदर बी की वैल्यू डाल देंगे और
बी के अंदर t की वैल्यू डाल देंगे तो या
तो हम यह लिख सकते हैं या अगर हम इस तरीके
से भी लिखना चाहे यह दोनों सही है वर्जस
बेसिक पॉइंट यह है या तो a को पहले खाली
कर लो या बी को खाली कर लो तो उस तरीके से
हम दोनों वैल्यूज को स्वप कर पाएंगे तो हम
दो वर्जस लिखने वाले हैं स्पिंग के एक में
कॉल बाय वैल्यू करेंगे एक में कॉल बाय
रेफरेंस देखते हैं कौन सा सही निकलता है
सबसे पहले स्पिंग ट्राई करते हैं कॉल बाय
वैल्यूज एक फंक्शन बनाते हैं वॉइड स्वप
इसके अंदर दो वेरिएबल आएंगे इंट ए और इंट
बी मेन फंक्शन के अंदर ए की वैल्यू है तीन
बी की वैल्यू है पा और अपनी डेफिनेशन लिख
लेते
हैं वॉइड स्वप इंट ए इंट
बी हमें क्या करना है एक टेंपररी वेरिएबल
बनाना है t इसके अंदर ए की वैल्यू डाल
देंगे ए के अंदर बी की वैल्यू डाल देंगे
बी के अंदर ए की वैल्यू डाल देंगे और यहां
पर प्रिंट करवाते हैं कि स्वप करने के बाद
a इ टू
परसेंटेज
d एंड बी इ इक्वल टू परसेंटेज
डी ए एंड
बी इन फैक्ट मेन फंक्शन के जो अंदर
वेरिएबल यूज कर रहे हैं ना इसको एक्स एंड
y रखते हैं ताकि हम डिफरेंस समझ पाए तो
स्वप करवा रहे हैं ए और बी को और एक्स
एंडवा को पास कर ए आर्गुमेंट तो कॉल कर
लेते हैं अपना स्वप फंक्शन इसके अंदर पास
करेंगे एक्स और वा अब हमें ऑलरेडी पता है
यह फंक्शन जो है पास बाय वैल्यू करेगा तो
यहां पर तो स्पिंग हो जाएगी पर हमें यहां
पर स्पिंग नहीं चाहिए हमें स्पिंग चाहिए
कि हमारे मेन फंक्शन में के अंदर आकर
वैल्यूज को करा दे तो यहां पर देखेंगे
एक्स और वा की वैल्यू चेंज हुई है क्या
एक्स
एंडवा मतलब हमें पता है ए और बी तो चेंज
हो जाएंगे पर हमें चाहिए कि एक्स और वा भी
चेंज हो मेन फंक्शन के अंदर अब इसको करते
हैं एक बार रन अब यहां पर ना पॉज करना है
और खुद से सोच के बताना है कि एक्चुअली
स्वप होंगे या नहीं होंगे और अगर सही आंसर
निकलता है ना तो मतलब आपने पॉइंट्स अच्छे
से समझ लिए हैं अगर नहीं निकलना है तो
मतलब पीछे वाले कुछ कांसेप्ट जाकर थोड़ा
सा देखने की जरूरत है तो एक बार आंसर
लिखते
हैं हमने a = 5 और b = 5 कर दिया
है ऐसा इसलिए हुआ क्योंकि यहां पर हमें
टेंपररी वेरिएबल हमें लिखना चाहिए था इसको
कर लेते हैं
क्लियर और दोबारा से एक बार कंपाइल एंड रन
करते
हैं तो a की वैल्यू पांच हो गई है और b की
वैल्यू तीन हो गई है यहां पर शुरुआत में
क्या था x हमारा तीन था y हमारा पांच था
पहले a ती था और b पा था तो यहां पर तो
चेंज हो गया पर वापस से जब मेन फंक्शन के
अंदर गए तो अब भी x हमारा तीन का तीन है
और y हमारा पांच का पांच है मतलब इस कॉल
बाय वैल्यू वाले फंक्शन ने हमारे लिए
स्पिंग करके नहीं दी तो स्पिंग कैसे होगी
स्पिंग होगी कॉल बाय रेफरेंस उसके लिए एक
और नया फंक्शन बना लेते हैं वॉइड
अंडरस्कोर स्प इसके अंदर क्या करेंगे
पॉइंटर ले लेंगे इंट
स्टार ए इंट स्टार बी कॉल बाय
रेफरेंस वॉइड अंडर स्वप इसके अंदर हमारे
पास आ रहे हैं पॉइंट्स ऑफ
एंड पॉइंटर ऑफ बी अब हमारे पास अगर
वेरिएबल पॉइंटर में आए हैं तो जो हम
टेंपररी बनाएंगे उसको भी हम पॉइंटर की
फॉर्म में बना सकते हैं अब यहां पर एक नया
वेरिएबल बना लेंगे टेंपररी टी इस टी के
अंदर सबसे पहले स्टोर करा लेंगे ए पर जो
वैल्यू है व वाली वैल्यू और फिर ए की
वैल्यू में हम डाल देंगे वैल्यू एट एड्रेस
ऑफ बी अब वैल्यू एट एड्रेस ऑफ बी में हम
डाल देंगे t की वैल्यू को तो यहां पर क्या
किया पॉइंटर जो a की तरफ जहां हम पॉइंट कर
रहे थे जहां a का जो पॉइंटर है वो a की
वैल्यू निकाल लेगा उसको t के अंदर डाल
देगा अब वैल्यू एट एड्रेस ऑफ a जो होगी वो
t के अंदर आ जाएगी b के अंदर जो होगी
वैल्यू वो a के अंदर आ जाएगी और वैल्यू एट
एड्रेस जो t के अंदर वैल्यू स्टोर्ड है वो
वैल्यू एट एड्रेस ऑफ b में आ जाएगी तो इस
तरीके से हम एड्रेस बाय एड्रेस स्पिंग कर
रहे हैं अब यहां पर दोबारा देख लेते हैं
इसको अंडरस्कोर कर देते हैं अब प्रिंट
करवा द हैं x और y की वैल्यू को यहां पे
हमें पास करना पड़ेगा एड्रेस ऑफ x एंड
एड्रेस ऑफ y इसको कर लेते हैं सेव एंड
रन तो अब हमारे पास क्या हुआ स्वप फंक्शन
ने हमारे मेन फंक्शन के अंदर चेंज लेकर
हमें दिखा दिया जैसे x की वैल्यू अब पांच
हो गई है और y की वैल्यू अब तीन हो गई है
यह पॉसिबल हो पाया कॉल बाय रेफरेंस की
हेल्प से क्योंकि हमने पॉइंटर पास किए
हमने एड्रेस पास किया और हमने और हमने
पॉइंट्स बनाए अपने फंक्शन के अंदर इसीलिए
वैल्यू जो है एड्रेस पे इंटरचेंज हो गई तो
हमारा जो फंक्शन होता है ना एक ही वैल्यू
रिटर्न कर सकता है पर जब हमें मल्टीपल
वैल्यूज चाहिए तो हम क्या कर सकते हैं
उसके अंदर किसी वेरिएबल का एड्रेस पास कर
दो और वहां पे चेंजेज करवा के उस वेरिएबल
के अंदर स्टोर करवा के वापस ले आओ तो
फंक्शन को कुछ रिटर्न भी नहीं करना पड़ेगा
और आपको आपकी वैल्यू मिल जाएगी तो इस
तरीके से कॉल बाय रेफरेंस हम तब यूज करते
हैं जब हमें एक फंक्शन से मल्टीपल वैल्यूज
रिटर्न करवानी हो उन वैल्यूज को हम रिटर्न
की हेल्प से रिटर्न नहीं करवाते पॉइंट्स
की हेल्प से रिटर्न करवाते हैं तो आई होप
कि ये कांसेप्ट क्लियर होगा अब नेक्स्ट
सवाल जिसकी बात करेंगे नेक्स्ट सवाल कहता
है विल द एड्रेस आउटपुट बी सेम इस सवाल के
अंदर हमारे पास फंक्शन हमने एक बनाया वॉइड
प्रिंट एड्रेस जिसमें हम पास कर रहे हैं
इंट n और हमारा फंक्शन डेफिनेशन क्या कहता
है कि प्रिंट कर दो एड्रेस ऑफ n को हमने
मेन फंक्शन के अंदर एक वेरिएबल लिया है n
n का हमने यहां पर एड्रेस प्रिंट करवाया
है तो एक मेमोरी लोकेशन होगी हमारी मेमोरी
के अंदर जिसको हमने नाम दिया है n n के
अंदर वैल्यू स्टोर्ड है चार का मान लीजिए
एड्रेस है 2000 तो जब भी आपको एनालाइज
करना हो ना कि आउटपुट सेम होगा क्या या इस
सवाल का क्या आउटपुट होना चाहिए तो एक
एग्जांपल ले लो और एग्जांपल में कोई भी
अपना एड्रेस अज्यू कर लो तो यहां पे हमने
2000 एड्रेस अज्यू कर लिया है तो यहां पर
तो प्रिंट होगा हमारे पास 2000 यह हमें
पता है फिर हमने कॉल लगाई है प्रिंट
एड्रेस को उसमें पास कर दिया n अब जब
प्रिंट एड्रेस को कॉल लगाई है हम ध्यान से
देखें तो ये कॉल बाय वैल्यू है जब भी कॉल
बाय वैल्यू होती है ना एक वेरिएबल की कॉपी
बनती है तो ये दूस दूसरी कॉपी बनी इस कॉपी
का नाम भी n होगा पर इसका एड्रेस कुछ और
होगा क्योंकि 2000 पे तो ऑलरेडी एक
वेरिएबल है तो इसका 21 होगा 2010 होगा कुछ
भी हो सकता है एड्रेस इसका 5000 हो सकता
है 10000 हो सकता है तो ये एक कॉपी बनी है
n की हमारी प्रिंट एड्रेस फंक्शन के लिए
और इसके अंदर वैल्यू जो है वो कॉपी हो गई
है तो इसके अंदर भी कॉपी होके हमारा चार
स्टोर हो गया है अब यहां पर हम इस वाले n
का एड्रेस प्रिंट करवा रहे हैं तो इस वाले
n का जो एड्रेस प्रिंट होगा वो हमारे पास
होगा 2000 मंथ तो ओबवियसली हमारा यह वाला
एड्रेस और यह वाला एड्रेस कभी भी सेम नहीं
हो सकते कॉल बाय वैल्यू में हां अगर यह
कॉल बाय रेफरेंस होता जब सेम वेरिएबल की
हम बात कर रहे हैं सेम मेमोरी लोकेशन की
बात करें हैं तब हमारे एड्रेस सेम होते
इसको वेरीफाई भी कर लेते हैं कोड की हेल्प
से सबसे पहले एक फंक्शन बना लेते हैं वॉइड
प्रिंट एड्रेस के नाम से और इसमें ले लेते
हैं एक वेरिएबल n अब क्या करेंगे मेन
फंक्शन के अंदर n के अंदर वैल्यू स्टोर
करा लेते हैं चार और प्रिंट एड्रेस को कॉल
लगाएंगे जिसमें n को हम पास कर
देंगे इसको क्रिएट भी कर लेते हैं प्रिंट
एड्रेस प्रिंट एड्रेस के अंदर हमारे पास
इंटी जर n आ रहा है और यहां पर हम इंटी जर
n की वैल्यू को प्रिंट करवाने वाले हैं तो
एड्रेस ऑफ n
इज परसेंटेज य ब स् ए और यहां पे हम
प्रिंट करवा देंगे एड्रेस ऑफ n और यही सेम
लाइन हम कॉपी करके यहां पर लिखते हैं अब
इस कोड को जब हम रन करेंगे अब अपना
टर्मिनल खोलते हैं
कंपाइल एंड यह जो वार्निंग्स आ रही है
इसलिए आ रही हैं क्योंकि पॉइंटर हमारा
परसेंटेज p से प्रिंट होता है पर हमने
अनसाइंड इंट में उसको टाइपकास्ट कर रखा है
तो वार्निंग का इतना टेंशन नहीं लेना अब
ध्यान से देखेंगे तो सबसे पहले प्रिंट
एड्रेस को कॉल लगाई तो वहां की स्टेटमेंट
रन करेगी तो इस वाले इंटी जर n की जो
वैल्यू है इसका जो एड्रेस है वो यहां पे
प्रिंट हो गया है और फिर हमारे ओरिजिनल n
का जो मेन फंक्शन के अंदर n है उसका
एड्रेस प्रिंट हो गया और दोनों एड्रेस
अलग-अलग हैं यह हो गया हमारा कॉल बाय
वैल्यू पर यहीं पर अगर कॉल बाय रेफरेंस
होता यानी यहां पर स्टार होता यहां पर भी
स्टार होता और यहां पे हम n की वैल्यू को
प्रिंट करवाते मतलब इस पॉइंटर में जो
वैल्यू स्टोर्ड है उसको प्रिंट करवाते और
यहां से प्रिंट एड्रेस में हम पास कर रहे
होते n का एड्रेस तो कॉल बाय रेफरेंस बन
गया अब एनालाइज करते हैं अपना आउटपुट अब
आउटपुट के अंदर जो दोनों एड्रेस आए हैं
इनके वो दोनों सेम है क्योंकि कॉल बाय
रेफरेंस किया है मतलब अब मेमोरी लोकेशन की
बातें चल रही हैं अब डायरेक्टली हम उस
प्लॉट की बात कर रहे हैं जिसका एड्रेस
हमें पता है अब उस वेरिएबल के नाम की बात
नहीं चल रही तो कॉल बाय वैल्यू के अंदर
जहां पर मेमोरी एड्रेस अलग-अलग है हमारी
वैल्यूज कॉपी होती है कॉल बाय रेफरेंस में
वैल्यूज सेम रहती हैं हम मेमोरी एड्रेस को
ही डायरेक्टली एक्सेस करते हैं ये बहुत
इंपॉर्टेंट डिस्टिंक्शन है इसको याद रखना
है लास्ट सवाल पॉइंट्स के अंदर जिसकी हम
बात करेंगे वो यह है राइट अ फंक्शन टू
कैलकुलेट द सम प्रोडक्ट एंड एवरेज ऑफ टू
नंबर्स प्रिंट दैट एवरेज इन द मेन फंक्शन
एवरेज के साथ-साथ प्रोडक्ट और सम को भी
मेन फंक्शन के अंदर प्रिंट करना है तो हम
यहां पर एक फंक्शन बनाएंगे जो दो नंबर्स
लेगा a और b और दोनों का सम कैलकुलेट
करेगा यानी a + b प्रोडक्ट कैलकुलेट करेगा
a * b और एवरेज कैलकुलेट करेगा a + b / 2
मेन फंक्शन को रिटर्न करेगा थ्री वैल्यूज
और हमने क्या सीखा है रिटर्न तो सिर्फ एक
ही वैल्यू होती है फंक्शन से पर जब भी
मल्टीपल वैल्यूज रिटर्न करने वाली सिचुएशन
आ जाए ना तो वहां पर यूज़ कर लो पॉइंट्स
तो यहां पे पॉइंट्स सेव की तरह आते हैं एक
बार इसका सॉल्यूशन लिखकर देखते हैं कि
कैसे पॉइंट्स काम आते हैं ी सिचुएशन में
सबसे पहले मेन फंक्शन के अंदर हम क्रिएट
करेंगे दो
वेरिएबल सबसे पहला वेरिएबल है ए ए को हम
ले लेते हैं ्र दूसरा वेरिएबल है बी बी की
वैल्यू ले लेते हैं फ अब एक फंक्शन बनाते
हैं वॉइड डू वर्क ये हमारे लिए कुछ काम कर
रहा है मतलब कोई कैलकुलेशन कर रहा है
इसमें हम दो वैल्यूज लेंगे इंट ए और इंट
बी एस
पैरामीटर अब क्या करेंगे इसको डिफाइन करते
हैं डू वर्क इंट a इंट बी हम सबसे पहले
कैलकुलेट करते हैं दोनों का सम इंट सम इ a
+ b फिर कैलकुलेट करते हैं दोनों का
प्रॉडक्ट इंट प्रॉड इ a मल्ला बा b फिर
कैलकुलेट करते हैं दोनों का एवरेज एवरेज
कैलकुलेट करने के लिए लिखेंगे a + b
डिवाइड बा 2 तो इस तरीके से तीन वेरिएबल
हमने लिख लिए पर इन तीनों को हम रिटर्न
नहीं कर सकते हैं तो हम क्या करते हैं
इन्हीं तीनों वेरिएबल को अपने मेन फंक्शन
के अंदर डिफाइन कर लेते हैं और पॉइंट्स
पास कर देते हैं तीनों के जैसे यहां पे हम
बना लेंगे सम प्रोडक्ट एंड
एवरेज पर ये तीनों पॉइंट्स की तरह पास
होंगे मतलब यहां पर तीन पॉइंट्स पास होंगे
इंट स्टार सम इंट स्टार प्रोडक्ट एंड इंट
स्टार एवरेज तो यहां प भी सेम वैल्यूज
आएंगी इंट स्टार प्रोडक्ट प्रोडक्ट इंट
स्टार यहां पर आएगा सबसे पहले सम फिर इं
स्टार प्रोडक्ट एंड देन इंट स्टार एवरेज
अब यहां पर हमें डिफाइन करने की जरूरत
नहीं है क्योंकि ये जो वेरिएबल है ये तो
ऑलरेडी मेन फंक्शन के अंदर
क्रिएटेडटेड चेंज करना चाह रहे हैं स्टार
ऑफ प्रॉड की क्योंकि यह जो सम है यह जो
प्रोडक्ट है और ये जो एवरेज है ये तीनों
पॉइंट्स हैं और वैल्यू एट पॉइंटर को
एस्टरिस की हेल्प से एक्सेस करेंगे तो
वहां पे स्टोर करवा देंगे a प् बी इस
प्रोडक्ट में स्टोर करवा देंगे a
मल्टीप्ला बा एवरेज में स्टोर करा देंगे a
प् b डिवाइड बा 2 तो अब कॉल लगाते हैं डू
वर्क को डू वर्क में पास करेंगे ए बी
एड्रेस ऑफ सम एड्रेस ऑफ प्रोडक्ट एंड
एड्रेस ऑफ हमारा
एवरेज उसके बाद मेन फंक्शन में जब आएंगे
ना तो तीनों वैल्यूज को हम प्रिंट करवा
लेंगे सम इज इक्वल टू परसेंटेज
प्रोडक्ट इ इक्वल टू परसेंटेज d एंड एवरेज
इज इक्वल टू परसेंटेज d और यहां पे सबसे
पहले सम फिर प्रोडक्ट फिर एवरेज आई होप कि
यह वाली चीज हमें क्लियर होगी कि इस
फंक्शन के अंदर हमने पास बाय रेफरेंस किया
है इन तीनों वेरिएबल का पास बाय रेफरेंस
किया है इन दोनों वेरिएबल का पास बाय
वैल्यू किया है a और बी की वैल्यू में
हमें कोई चेंजेज चाहिए नहीं मेन के अंदर
तो उनको नॉर्मली पास बाय वैल्यू पर इन
तीनों के अंदर चाहिए थी वैल्यूज तो इनको
पास बाय रेफरेंस कर दिया और इनकी वैल्यूज
को कर लिया कैलकुलेट कैलकुलेट करके मेन
फंक्शन के अंदर वैल्यूज को करा दिया स्टोर
इसको करवा लेते हैं रन तो हमारे थ्री और
फाइव का सम आ गया है एट प्रोडक्ट आ गया है
दोनों का 15 और एवरेज आ गया दोनों का फोर
यानी 5 + 3 = 8 एंड डिवाइडेड बा 2 इज 4 तो
इस तरीके से जब मल्टीपल वैल्यूज हमें
चाहिए हो ना रिटर्न में दूसरे फंक्शन के
अंदर तो क्या करो पास बाय रेफरेंस कर लो
पास बाय रेफरेंस करोगे उस वेरिएबल के वो
खाली भेजोगे उसके अंदर वैल्यू स्टोर करा
के वापस ले आओगे तो इस तरीके से पॉइंट्स
बहुत ज्यादा काम आते हैं हमारी नॉर्मल
प्रोग्रामिंग के अंदर तो आई होप कि
पॉइंट्स का कांसेप्ट हमें काफी हद तक
क्लियर हुआ होगा बहुत आसानी से सारे बेसिक
कॉन्सेप्ट्स को हमने कवर कर लिया है कुछ
एक दो कॉन्सेप्ट्स हैं पर उनको हम नेक्स्ट
चैप्टर में करेंगे जब हम एरे की बात कर
रहे होंगे अब पॉइंट्स का यूज़ हमें
धीरे-धीरे तब समझ में आएगा जब हम डाटा
स्ट्रक्चर करेंगे एरे हमारा एक स्ट्रक्चर
होता है एरे के बारे में अगले चैप्टर के
अंदर सीख रहे होंगे तब तक हम क्या कर सकते
हैं थोड़े से होमवर्क प्रॉब्लम्स कर सकते
हैं और सवाल कर सकते हैं खुद की स्किल्स
को इंप्रूव कर सकते हैं एंड चैप्टर को
रिवाइज जरूर कर सकते हैं ताकि हम चीजों को
भूले ना नोट्स हमने दे रखे हैं आपकी
सहूलियत के लिए एंड बढ़ते हैं हमारे
नेक्स्ट चैप्टर की तरफ अब हम शुरुआत करने
वाले हैं अपने चैप्टर सेवन की जिसमें
पढ़ेंगे हम अरेज के बारे में एरे की अगर
क्लासिकल डेफिनेशन की बात करें तो अरेज
होते हैं कलेक्शन ऑफ सिमिलर डेटा टाइप
स्टोर्ड एट कांटीगुअस मेमोरी लोकेशंस जैसे
अगर हमें किसी मेमोरी लोकेशन में किसी
वैल्यू को स्टोर स्टोर कराना होता है तो
उसको हम स्टोर करवाते हैं एक वेरिएबल की
हेल्प से एक वेरिएबल लेते हैं वो एक
मेमोरी लोकेशन को रिजर्व कर लेता है उसके
अंदर हम कुछ डाटा स्टोर करा देते हैं और
उस मेमोरी लोकेशन को कुछ नाम दे देते हैं
जो होता है हमारा वेरिएबल अगर हमें एक ही
तरह का बहुत सारा डाटा स्टोर करवाना है
मान लीजिए यहां पे हमने एक इंटी जर स्टोर
कराया था पर हमें तीन इंटी जर स्टोर कराने
हैं तो हम चाहते हैं वो तीन इंटी जर एक के
साथ एक के साथ एक स्टोर हो जाए जिसमें हम
मान लीजिए अलग-अलग डेट्स जो हैं वो स्टोर
कर पा रहे हैं और इन तीनों को हम कलेक्टिव
कोई एक नाम दे दें तो इस तरीके का जो
स्ट्रक्चर होता है इसको हम कहते हैं एरे
स्ट्रक्चर या एरस अगर इसकी डेफिनेशन देखें
तो इट इज अ कलेक्शन ऑफ सिमिलर डेटा टाइप
सिमिलर डेटा टाइप्स यानी आप तीन इंट या
पांच इंट ही एक साथ स्टोर करा सकते हैं दो
इंट और एक फ्लोट नहीं साथ में पांच फ्लोट
करवा सकते हैं साथ में पांच कैरेक्टर करवा
सकते हैं पर अलग-अलग डेटा टाइप्स को साथ
में कलेक्शन की फॉर्म में नहीं स्टोर करा
सकते स्टोर्ड एट कांटीगुअस मेमोरी लोके
कंटस का मतलब होता है कंटीन्यूअस तो
मेमोरी के अंदर जो ये डाटा स्टोर होता है
कंटीन्यूअस फैशन में यानी एक के बाद एक के
बाद एक स्टोर होता है तो इसको एक्सेस करना
आसान हो जाता है तो जब भी हमें मल्टीपल
वेरिएबल स्टोर कराने होते हैं ना तो उनको
अलग-अलग नाम देने की जगह हम एक एरे बना
लेते हैं जैसे इसका अगर एक एग्जांपल देखें
कोड में लिखकर तो मान लीजिए हमें तीन
स्टूडेंट्स के मार्क्स स्टोर कराने हैं तो
अगर हमारे पास एरे जैसा कोई स्ट्रक्चर
नहीं है तो हम नॉर्मली तीन वेरिएबल को बना
रहे होंगे इंट मार्क्स वन इसमें स्टोर
करवा देंगे फिजिक्स के मार्क्स फिर इंट
मार्क्स टू इसमें स्टोर करा देंगे
केमिस्ट्री के मार्क्स एंड देन
इंट मार्क्स थ इसमें स्टोर करवा लेंगे
अपने मैथ के
मार्क्स अब इन तीनों को एक्सेस करने के
लिए हमें अलग-अलग वेरिएबल की जरूरत है पर
अगर मैं कहूं कि मैं एक सिंगल वेरिएबल से
तीनों वैल्यूज को एक्सेस कर पाऊं तो उस
तरीके के स्ट्रक्चर को हम अरेज कहेंगे
अरेज को कैसे लिखते हैं उसे लिखते हैं कि
हम वो टाइप लिखेंगे जिसका हम एरे बनाने
वाले हैं फिर लिखेंगे मार्क्सस फिर
लगाएंगे स्क्वेयर ब्रैकेट्स जो दिखाते हैं
कि जो स्ट्रक्चर हम बना रहे हैं वो एक एरे
है एंड उसके बाद अपने मार्क्स को हम लिख
देंगे 97 98 89 कुछ इस तरीके से तो ये एरे
को लिखने का सिंटेक्स होता है जिसमें हमने
सिंगल वेरिएबल के अंदर तीन वैल्यूज को
स्टोर करवा दिया है तो मेमोरी के अंदर ये
वैल्यूज एक के बाद एक के बाद स्टोर होंगी
और सारा का सारा डाटा उन तीनों ब्लॉक्स के
अंदर चला जाएगा अब एरे को लिखने के अगर
सिंटेक्स की बात करें अगर हम एक इंटी जर
टाइप का एरे बनाना है तो सबसे पहले टाइप
लिखेंगे इंट उसके बाद लिखेंगे अपने एरे का
नाम उसके बाद लिखेंगे स्क्वायर ब्रैकेट्स
तो स्क्वायर ब्रैकेट्स के अंदर हम एक नंबर
लिखते हैं वो नंबर होता है साइज यानी किस
साइज की हमें लोकेशन चाहिए अगर हमें तीन
इंटी जर वैल्यूज चाहिए तो तीन लिखेंगे
पांच चाहिए तो इसकी जगह पांच लिख सकते हैं
10 चाहिए तो 10 100 चाहिए तो 100 भी लिख
सकते हैं तो इस तरीके से हम एक इंटी जर
एरे बनाएंगे जिसका साइज है तीन अगर हमें
कैरेक्टर एरे बनाना है तो हम लिखेंगे
कैरेक्टर अपने एरे का नाम फिर स्क्वायर
ब्रैकेट्स और अंदर लिखेंगे हमें कितने
कैरेक्टर्स उसमें स्टोर कराने हैं फ्लोट
बनाना है तो फ्लोट फिर उसका नाम स्क्वेयर
ब्रैकेट्स और अंदर लिखेंगे साइज क्या होना
चाहिए कितने फ्लोट स्टोर कराने हैं तो
जैसे ही हम ये वाली स्टेटमेंट लिखते हैं
इंट मार्क्स इज थ्री तो एक मार्क्स नाम से
मेमोरी लोकेशन आ जाती है हमारे मेमोरी के
अंदर जहां पर ये वन 2 3 तीन ब्लॉक्स हमारे
लिए रिजर्व हो जाते हैं और इन तीनों
ब्लॉक्स का साइज एक इंटी जर के बराबर है
इंटी जर हमने पढ़ा था डेटा टाइप्स के अंदर
कि चार बाइट्स लेता है मेमोरी के अंदर तो
हर एक ब्लॉक का साइज यहां पर चार बाइट्स
के इक्वल है ये भी चार बाइट्स है यह भी
चार बाइट्स है और यह लोकेशन भी चार बाइट्स
है तो चार-चार बाइट्स के तीन ब्लॉक्स आ
जाते हैं हमारे पास अब बाय कन्वेंशन हम इस
पहले ब्लॉक को जीरो एथ ब्लॉक कहते हैं
फर्स्ट ब्लॉक को सेकंड ब्लॉक को वन कहते
हैं और थर्ड ब्लॉक को टू कहते हैं ये बाय
कन्वेंशन होता है इसको कहा जाता है जरो
बेस्ड इंडेक्सिंग कुछ लैंग्वेजेस होते हैं
जिनमें वन बेस्ड इंडेक्सिंग होती है पर सी
c+ प जावा ऐसी लैंग्वेजेस हैं जिनमें जीरो
बेस्ड इंडेक्सिंग होती है जीरो बेस्ड यानी
फर्स्ट पोजीशन को हम वन नहीं कहेंगे जरो
कहेंगे तो ये चीज हमें हमेशा ध्यान रखनी
है अब बात करें कि एरे को इनपुट या आउटपुट
कैसे लेना होता है तो इनपुट लेने के लिए
हमें सबसे पहले लिखना पड़ता है परसेंटेज
डी जिस भी टाइप का हम वैल्यू इनपुट लेने
वाले हैं और इस मार्क्स ऑफ स्क्वायर
ब्रैकेट्स को हम एक वेरिएबल की तरह ट्रीट
करते हैं यानी जैसे नॉर्मल वेरिएबल की
वैल्यूज हम लिखते एज या मार्क्स वन
मार्क्स
टू उसी तरीके से हम एरे के वेरिएबल की जब
बात करते हैं तो उसको हम लिख सकते हैं
मार्क्स 0 मार्क्स वन मार्क्स टू ये भी एक
नॉर्मल वेरिएबल की तरह ट्रीट हो रहे होंगे
और इस नॉर्मल वेरिएबल के अंदर अगर हमें
कोई वैल्यू इनपुट लेनी है तो इसके सामने
लगा देंगे एड्रेस ऑफ ऑपरेटर अगर इसकी
वैल्यू को आउटपुट कराना है तो फिर हम
नॉर्मली उस वेरिएबल का नाम लिख देंगे अब
आप ध्यान देंगे कि हमने एरे का नाम लिखा
उसके बाद हमने ये लगाए स्क्वायर ब्रैकेट्स
पर अंदर हमने एक नंबर लिखा हुआ है इनपुट
में भी और आउटपुट में भी इसका यह मतलब है
कि जब भी हम मेमोरी की बात कर रहे हैं
हमारे पास मान लीजिए हमने एक मार्क्सस नाम
का एरे बनाया है जिके अंदर तीन मेमोरी
लोकेशन है तो उसके अंदर कोई कोई वैल्यू
हमने स्टोर करवाई होगी अब जब भी हम रो
लिखते हैं मार्क्स स्क्वायर ब्रैकेट 0 तो
उसका मतलब यह है कि हम इस नंबर को जानना
चाह रहे हैं या इनपुट कराना चाह रहे हैं
अगर हम मार्क्स ऑफ वन लिखते हैं तो उसका
मतलब है हम इस नंबर को या तो जानना चाह
रहे हैं या इनपुट कराना चाह रहे हैं और
मार्क्स ऑफ टू लिखते हैं तो उसका मतलब हम
इस नंबर को जानना चाह रहे हैं या इनपुट
करा रहे हैं तो जो भी आप नंबर लिखते हैं
वो उस लाइन के अंदर हमें बताता है कि एरे
की कौन सी पोजीशन वाले नंबर की हम बात
करें तो स्क्वायर ब्रैकेट्स के अंदर जो भी
हम नंबर लिखते हैं वो बताता है हमें कि
एरे में कौन सी पोजीशन वाले नंबर की हम
बात कर रहे हैं एक बार क्या करते हैं
एग्जांपल के लिए एक एरे को इनपुट और
आउटपुट करा के देखते हैं जैसे मार्क्सस
एरे था यह वाले सिंटेक्स की भी हम अभी बात
करेंगे पर इसको हम थोड़ी देर के लिए यहां
से हटा देते हैं और इसको कर लेते हैं
कॉमेंट आउट सबसे पहले एक एरे बनाते हैं
मार्क्स नाम से इस एरे का साइज है तीन अब
तीनों सब्जेक्ट के मार्क्स को हम एकएक
करके इनपुट करेंगे तो सबसे पहले लिखते हैं
प्रिंट स्टेटमेंट
एंटर
फिजिक्स स्कैनफ कर लेंगे सबसे पहले
लगाएंगे परसेंटेज डी क्योंकि एक इंटी जर
स्कैन कर रहे हैं फिर लगाएंगे एड्रेस ऑफ
ऑपरेटर एंड मार्क्स ऑफ
जीरो उसके बाद दोबारा से सेम प्रोसेस
रिपीट होगा
हमारा तीन बार अब केमिस्ट्री के मार्क्स
और यहां पर मैथ के मार्क्स और सेकंड टाइम
जब मार्क्सस इनपुट लेंगे तो जीरो पोजीशन प
तो ऑलरेडी हम फिजिक्स के मार्क्स लेके
इनपुट डाल चुके हैं अब केमिस्ट्री वाले
हमें फर्स्ट पोजीशन पर स्टोर करने हैं और
मैथ वाले सेकंड पर और अब प्रिंट करवाना है
तो प्रिंट करवाएंगे इस तरीके से फिजिक्स इ
इक्वल टू परसेंटेज डी केमिस्ट्री इ इक्वल
टू परसेंटेज डी मैथ इ इक्वल टू परसेंटेज
डी और यहां पर मार्क्स ऑफ जीरो मार्क्स ऑफ
वन तो आई होप ये अंडरस्टूड होगा कि
मार्क्स ऑफ जीरो यानी एक सिंगल वेरिएबल
सिर्फ जीरो पोजीशन वाली वैल्यू चाहिए
सिर्फ फर्स्ट पोजीशन वाली वैल्यू चाहिए और
सिर्फ सेकंड पोजीशन वाली वैल्यू चाहिए
इसको कर लेते हैं सेव एंड रन तो सबसे पहले
फिजिक्स के मार्क्स एंटर करेंगे फिर
केमिस्ट्री के मार्क्स एंटर करेंगे फिर
मैथ के मार्क्स एंटर करेंगे तो इस तरीके
से तीनों सब्जेक्ट के मार्क्स हमारे
पोजीशन वाइज स्टोर होकर आ गए हैं फिजिक्स
में हमने 97 स्टोर कराया है जीरो पोजीशन
पे केमिस्ट्री में 98 स्टोर कराया है
फर्स्ट पोजीशन पे और मैथ में 89 स्टोर
कराया है हमने सेकंड पोजीशन पे अगर यहां
पे हम जाए कि कि हमने एरे तो जी तीन का
डिक्लेयर करा है और एक्सेस हम कर रहे हैं
0 व और टू को और हम एक्सेस करने निकले अगर
थ्री को मान लीजिए थ्री को एक्सेस करते
हैं या यहीं पर हम थ्री लिख देते हैं कि
मैथ के मार्क्स थ्री में स्टोर कराएंगे तो
इसको एक बार देखते हैं कंपाइल करके रन तो
फिजिक्स के मार्क्स हमने स्टोर करवा लिए
97 केमिस्ट्री के 98 और अब मैथ के जैसे ही
हम स्टोर कराएंगे ना मान लीजिए 89 हम
स्टोर करा रहे हैं वैसे ही हमारा
प्रोग्राम अबोर्ड कर गया मतलब एंड कर गया
क्यों क्योंकि एरर आ गया और ये एक ऐसा एरर
है जो रन टाइम एरर है मतलब कंपाइलर नहीं
चेक कर पाएगा अगर आप ऐसी मिस्टेक कर देते
हैं जब आप एरे के साइज से बड़ी चीज एक्सेस
कर रहे हैं तो वो कंपाइलर आपको नहीं
बताएगा कि आप मिस्टेक कर रहे हैं वो आपका
प्रोग्राम रन टाइम में आपको बताएगा कि
आपने गलती कर दिया और वहीं पे रुक जाएगा
जैसे यहां पर हमने थ्री लिखा जबकि एरे के
अंदर तीन का ही साइज है जो 0 वन और टू को
जा चुका है अब तीन के लिए हमें इस एरे का
साइज चार करने की जरूरत थी तो इसको हम
नहीं लिख सकते क्योंकि ये हमें दे देगा
एरर इसीलिए जब भी एरे हम बना रहे होते हैं
हमें ध्यान देना होता है कि अपना जो
मैक्सिमम इंडेक्स जहां तक हम जा सकते हैं
उससे आगे हम ना जा रहे हो नेक्स्ट हम बात
करने वाले हैं प्रैक्टिस क्वेश्चन की बहुत
आसानी से इस सवाल को हम सॉल्व करेंगे सवाल
कहता है राइट अ प्रोग्राम टू एंटर प्राइस
ऑफ थ्री आइटम्स एंड प्रिंट देयर फाइनल
कॉस्ट विद जीएसटी यानी हमें तीन आइटम्स का
प्राइस लेना है अब ये प्राइस हम फ्लोटिंग
वैल्यू रख सकते हैं और फाइनल कॉस्ट देनी
है विद जीएसटी हर वैल्यू के साथ हमें ऐड
कर देना उसका 18 पर जीएसटी और फिर जो
फाइनल वैल्यू आएगी उसको हमें प्रिंट
करवाना है तो उसको देखते हैं किस तरीके से
करेंगे सबसे पहले तीन आइटम्स को हमें एंटर
करवाना है तो मतलब हम एक एरे बना सकते हैं
क्योंकि तीनों आइटम्स का सेम टाइप है जब
भी मल्टीपल वैल्यूज रखनी हो और ज्यादा
वैल्यूज हो और सेम टाइप हो तो वहां पर
हमें एरे बनाना होता है तो सबसे पहले बना
लेंगे एक एरे ऑफ फ्लोट जिसको नाम देंगे
प्राइस ऑफ साइज थ्री अब प्रिंट स्टेटमेंट
लिख लेते हैं
एंटर थ्री प्राइसेस सबसे पहले स्कैन कर
लेंगे परसेंटेज एफ से अपना फर्स्ट प्राइस
यानी एम परसेंट प्राइस ऑफ जीरो एंड उसी
तरीके से एम परसेंट प्राइस ऑफ वन एंड देन
टू उसके बाद हर बार प्रिंट करवा देंगे इन
फैक्ट टोटल प्राइस
वन इ इक्वल टू यहां पर लिखेंगे प्राइस ऑफ
0 प्लस
0.18 मल्टीप्ला बाय प्राइस ऑफ
जी एक तरीके से हमने 18 पर जीएसटी यहां पर
इस तरीके से ऐड कर दिया प्राइस के अंदर
सेम चीज को तीन बार रिपीट करेंगे यहां पर
प्राइस टू यहां पर प्राइस ्र 1 मल्टीप्ला
बा 0.18 ऑफव 2 मल्टीप्ला बा
0.18 इसको कर लेंगे सेव तो यह हमारे फाइनल
या टोटल प्राइसेस है विद जीएसटी और एक बार
इसको करते हैं रन तो यहां पर फॉर्मेट
परसेंटेज एफ परसेंटेज ए अब सबसे पहले तीन
प्राइसेस ऐड करने हैं तो 100 200 एंड 300
तो ये जीएसटी वैल्यूज हमारे पास आ गई सबसे
पहले 118 फिर 236 फिर 354 ये तीनों
प्राइसेस आ गए हैं थोड़ी सी स्पेस के लिए
हम बैक स् ए भी डाल सकते थे इसको कर लेते
हैं सेव एंड दोबारा से एक बार रन करें तो
ये तीनों प्राइसेस आ गए हैं विद एडेड
जीएसटी तो टोटल प्राइस हम इस तरीके से कर
सकते हैं तो यहां पर सबसे बड़ा बेनिफिट जो
हमें देखने को मिला एरस को यूज करके वो ये
था कि हमें तीन अलग-अलग वेरिए बल्स नहीं
मेंटेन करने पड़े एक सिंगल वेरिएबल हमने
बना लिया और उसी से हमारे सारे के सारे
काम चल रहे हैं जब हम सिमिलर डेटा टाइप्स
की बात कर रहे हैं अब बढ़ते हैं अपने
नेक्स्ट टॉपिक की तरफ जिसका नाम है इनिश
इजेशन ऑफ एरे अभी हमने देखा कि एरे को हम
डिक्लेयर कर सकते हैं उसके बाद उसमें
एलिमेंट्स डाल सकते हैं पर एरे को
डिक्लेरेशन के साथ भी इनिश इज किया जा
सकता है जैसे अगर एक इंट बनाते हैं तो
उसको हम लिख सकते हैं इंट x और फिर x = 10
या फिर उसको लिख सकते हैं इंट x = 10 ये
दोनों उनके इनिश के प्रोसेस हैं तो उसी
तरीके से एरे को भी हम डिक्लेयर करने के
साथ-साथ इनिश इज करा सकते हैं कैसे करा
सकते हैं इस सिंटेक्स की हेल्प से हम सबसे
पहले लिखते हैं डेटा टाइप उसके बाद अपने
एरे का नाम फिर स्क्वेयर ब्रैकेट्स अब
ध्यान देंगे स्क्वेयर ब्रैकेट्स के अंदर
हमें साइज को लिखने की जरूरत नहीं है
क्योंकि राइट साइड में हम जितने भी
एलिमेंट्स लिखेंगे वो ऑटोमेटिक हमें साइज
दे देंगे एरे उसके बाद राइट में लिखते हैं
कर्ली ब्रेसेज और उसके अंदर जितने भी
एलिमेंट्स यानी अगर हमने तीन एलिमेंट्स
लिखे हैं तो मतलब हम तीन साइज का एरे बना
रहे हैं अब या तो हम ये सिंटेक्स फॉलो कर
सकते हैं या फिर हम साइज को भी लिख सकते
हैं तो ये दोनों ही सिंटेक्स बिल्कुल सही
हैं जब हम डिक्लेयर करने के साथ-साथ अपने
एरे को
इनिशियलिज्म
कर लेते हैं कि एक मार्क्स नाम का एरे बन
जाएगा उसके अंदर क्या होगा सबसे पहली जो
वैल्यू है वो यहां पे आ जाएगी दूसरी
वैल्यू यहां आ जाएगी तीसरी वैल्यू यहां आ
जाएगी ये होगी हमारी जीरो एथ पोजीशन ये
फर्स्ट पोजीशन और ये सेकंड पोजीशन इस
फर्स्ट पोजीशन का साइज चार बाइट्स का होगा
सेकंड का भी चार बाइट्स का होगा और थर्ड
का भी चार बाइट्स का होगा क्योंकि इंटी जर
चार बाइट्स लेता है अब अगर आपकी 32 बिट
मशीन है या फिर आप किसी और सिस्टम पर काम
कर रहे हैं तो हो सकता है आपकी मशीन के
हिसाब से इंट का जो साइज हो वो दो बाइट्स
हो या कुछ और हो पर मेरी मशीन के हिसाब से
इंटी जर का साइज चार बाइट्स होता है तो जब
भी आपसे कोई कैलकुलेशन करवाए कि आप साइज
बताओ एरे कितना लेता है तो या तो आप इंट
को चार बाइट अज्यू कर सकते हो या फिर
क्वेश्चन के अंदर दिया होगा या इंटरव्यूअर
से या टीचर से पूछ भी सकते हैं कि इंटी जर
का मुझे साइज बता दो मशीन के हिसाब से तो
उसमें कोई परेशानी नहीं है क्योंकि साइज
अलग-अलग भी हो सकते हैं पर इस क्लास के
अंदर हम चार बाइट्स लेके चलेंगे तो अगर
हमें टोटल मेमोरी रिजर्व निकालनी हो कि इस
एरे ने कितनी मेमोरी जो है रिजर्व की तो
वो होगी हमारी 12 बाइट्स क्योंकि तीन इंटी
जर को स्टोर कराने में मेमोरी के अंदर
टोटल 12 बाइट्स कंज्यूम हो रहे होंगे तो
इस तरीके से अगर हमें कभी पता करना हो कि
कैरेक्टर अगर हमें स्टोर कराना है कोई
कैरेक्टर एरे जिसके अंदर हम 10 स्टोर करा
रहे हैं तो हमें पता है कि कैरेक्टर कितनी
मेमोरी लेता है एक बाइट और हम कितने
कैरेक्टर स्टोर करा रहे हैं 10 तो हम
कितनी मेमोरी ले रहे हैं टोटल 10 * 1 यानी
10 बाइट्स उसी तरीके से अगर हम मान लीजिए
एक और इंटी जर एरे स्टोर कराने हैं जिसमें
स्टोर करा रहे हैं रोल नंबर्स और हमने 30
बच्चों के रोल नंबर स्टोर करा दिए तो हमें
पता है इंटी जर लेता है चार बाइट्स और हम
स्टोर करा रहे हैं 30 बच्चों के लिए तो हम
30 इंटी जर स्टोर करा रहे हैं मेमोरी के
अंदर तो टोटल कितनी मेमोरी कंज्यूम होगी
30 * 4 दैट इज 120 बाइट्स तो ऐसे स सल
बहुत बार आ जाते हैं हमारे कॉलेज के
एग्जाम्स के अंदर जिसमें पूछते हैं कि एरे
कितनी मेमोरी रिजर्व करेगा वो हमें बताना
होता है तो उसकी कैलकुलेशन कुछ इस तरीके
से होती है कि जो भी हमारा डटा टाइप सिंगल
मेमोरी रिजर्व करेगा मेमोरी के अंदर जितनी
स्पेस रिजर्व करेगा उसको मल्टीप्लाई कर दो
कि कितने हमें स्टोर कराने हैं वैसे तो
उससे हमारी टोटल मेमोरी कंज्यूम टोटल
मेमोरी रिजर्व्ड आ जाएगी एक बार एक एरे को
मेमोरी के अंदर इनिश इज भी कराकर देख लेते
हैं तो जैसे यहां पर हमने प्राइस बनाया इस
प्राइस की वैल्यू को हम एंटर करने की जगह
इसको डायरेक्टली
इनिशियलिज्म
साइज हटा दें तो ये वाला सिंटेक्स भी
बिल्कुल सही रहता तो जो भी आपके यूज केस
में फिट कर रहा है आपको वो वाला सिंटेक्स
यूज़ करना है किसी भी एरे को इनिश इज करने
के लिए अब नेक्स्ट टॉपिक जिसकी हम बात
करेंगे वो है पॉइंटर एरिथ मेे िक एरिथ मेे
िक से मतलब हमने समझा था कि जिसमें प्लस
माइनस मल्टीप्लाई डिवाइड मॉड्यूल के साथ
खेलते हैं यहां पे पॉइंट्स की इसलिए बात
कर रहे हैं क्योंकि अरेज किसी ना किसी तरह
पॉइंटर से रिलेटेड होते हैं वो एक बार
पॉइंटर एरिथ मेे िक समझ लेंगे उसके बाद
समझेंगे कैसे रिलेटेड होते हैं तो पॉइंट्स
के अंदर हम मल्टीप्लाई डिवाइड मॉड्यूल ये
सब तो नहीं कर सकते हैं पर कुछ एरिथ मेे
िक ऑपरेशंस है जो परफॉर्म कर सकते हैं
इनमें आते हैं हमारे इंक्रीमेंट ऑपरेटर और
डिक्रिमेंट ऑपरेटर यानी पॉइंटर की वैल्यू
को हम प्लस या माइनस कर सकते हैं जैसे
सबसे पहला अगर केस देखें तो इसमें हमने एक
इंटी जर वेरिएबल बनाया है एज जिसके अंदर
स्टोर कराया 22 मान लीजिए ये एज वेरिएबल
हमारी मेमोरी में कुछ इस तरीके से है जहां
पे 22 स्टोर्ड है और ये है 2000 यहां
मेमोरी लोकेशन अब हम क्या कर रहे हैं एक
पॉइंटर बना रहे हैं जो एज को पॉइंट करता
है तो ये पॉइंटर कहीं पर बना होगा मतलब
मेमोरी में कोई और लोकेशन बनी होगी जिसका
नाम होगा पॉइंटर जहां पे स्टोर कराया होगा
हमने 2000 और इसका भी अपना कोई लोकेशन
होगा 4010 अब हमने कर दिया पॉइंटर को प्लस
प्लस तो अब हमें बताना है पॉइंटर कहां पे
पॉइंट कर रहा है पॉइंटर को प्लस प्लस करने
का मतलब हमने कर दिया पॉइंटर इज इक्वल टू
पॉइंटर + 1 पर जब भी हम पॉइंट्स को
इंक्रीमेंट या डिक्रिमेंट करते हैं तो एक
स्पेशल चीज होती है व उनकी वैल्यू + 1 या
-1 नहीं होती जब भी + व लिखा होता है इसका
मतलब है एक डेटा टाइप बढ़ा दो यानी अगर
पॉइंटर इंटी जर टाइप का है तो वो इंटी जर
के साइज से बढ़ जाएगा अगर पॉइंटर कैरेक्टर
टाइप का है तो वो कैरेक्टर के साइज से बढ़
जाएगा अगर पॉइंटर फ्लोट टाइप का है डबल
टाइप का है तो वो उस साइज से बढ़ जाएगा
यहां पे हमारा जो पॉइंटर है वो एक इंटी जर
का एड्रेस स्टोर करा रहा है तो मतलब उसमें
चार बाइट्स ऐड हो जाएंगी जैसे अगर पॉइंटर
की वैल्यू अभी 2000 थी और अब हमने कर दिया
पॉइंटर प्लस प्लस तो इसकी वैल्यू बढ़कर हो
जाएगी
2004 तो ये पॉइंटर जो है अब यहां पर पॉइंट
करवाने लग जाएगा यहां पर नहीं क्योंकि ये
मेमोरी अल्टीमेटली चार बाइट्स ले रही है
और इस मेमोरी लोकेशन का भी एड्रेस है 2004
और इस मेमोरी लोकेशन का है 1996 तो यहां
से इंटूटिव हम समझ सकते हैं कि अगर पॉइंटर
प्लस प्लस किया तो वो एक इंटी जर आगे
बढ़ेगा यानी चार बाइट्स आगे बढ़ेगा और अगर
पीटीआर माइनस माइनस हमने किया तो वो चार
बाइट्स पीछे जाएगा यानी 2004 को हमने उसके
बाद दोबारा से पॉइंटर माइनस माइनस कर दिया
तो वो वापस से अपनी ओरिजिनल लोकेशन में आ
जाएगा दैट इज 2000 अब एक बार इसको कोड
करके भी वेरीफाई कर लेते हैं अपने
प्रोग्राम के अंदर एक वेरिएबल बनाते हैं
इंट एज 22 और फिर बनाते हैं पॉइंटर पीटीआर
पीटीआर के अंदर स्टोर कर एड्रेस ऑफ एज अब
हमने कर दिया सबसे पहले पीटीआर को प्लस
प्लस करा लेते
हैं प्लस प्लस यहां पर करवा दिया और उससे
पहले पीटीआर की वैल्यू को करते हैं प्रिंट
पीटीआर इ इक्वल टू परसेंटेज अनसाइंड इंट
में इसको दिखाएंगे कंट्रोल सी एंड दोबारा
से पीटीआर की वैल्यू को तो इसको कर लेते
हैं रन तो सबसे पहले पीटीआर की वैल्यू जो
प्रिंट हुई दैट इज 18
22802 और उसके बाद जो प्रिंट हुई उसके
लास्ट में आया 156 अब ध्यान से देखेंगे तो
152 और 156 के अंदर डिफरेंस कितना है चार
का डिफरेंस है तो हम समझ सकते हैं जैसे ही
प्लस प्लस किया वैसे वैल्यू क्या है इंटी
जर के साइज से बढ़ गई यानी चार बाइट से
बढ़ गई अब यहां पर अगर हम दोबारा से माइनस
माइनस करें पीटीआर माइनस माइनस और उसके
बाद दोबारा से पीटीआर की वैल्यू को प्रिंट
करवाएंगे तो सबसे पहले पॉइंटर की वैल्यू
ये थी जिसमें लास्ट में आ रहा था 112 उसके
बाद पीटीआर प्लस प्लस किया तो आ गया 116
चार से बढ़ गई उसके बाद माइनस माइनस किया
तो वापस से 112 आ गया यानी ओरिजिनल मेमोरी
लोकेशन पे आ गया क्योंकि दोबारा से माइनस
माइनस किया तो उसको एक इंटी जर साइज से कम
होना है यानी चार बाइट्स कम हो गया तो इस
तरीके से हमारे डिक्रिमेंट और इंक्रीमेंट
ऑपरेटर काम करते हैं पॉइंट्स के अंदर
सेकंड केस लेते हैं सेकंड केस में क्या हो
रहा है हमने एक फ्लोटिंग वेरिएबल बनाया है
प्राइस जिसके अंदर स्टोर कराया है 20.00
अब हमने क्या किया पीटीआर को पॉइंट करवा
दिया प्राइस की तरफ और फिर कर दिया पीटीआर
प्लस प्लस तो इस बार जब पॉइंटर इ इक्व टू
पॉइंटर प्व हम करेंगे तो ये प्लव वाला जो
साइज होगा ये हमारे फ्लोट की बाइट्स होंगी
तो ये फ्लोट के साइज के हिसाब से
इंक्रीमेंट और डिक्रिमेंट होगा एक बार
इसको भी कोड करके देख लेते हैं यहां पे
लिखेंगे फ्लोट प्राइस इ इक्वल टू
100 अब ये पॉइंटर जो है प्राइस को पॉइंट
करा रहा है पहले हम पॉइंटर की ओरिजिनल
वैल्यू प्रिंट कराएंगे फिर प्लस प्लस वाली
और फिर माइनस माइनस वाली तो रन करते हैं
कोड को तो ओरिजिनल वैल्यू थी 904 जैसे ही
प्लस प्लस किया चार बाइट से बढ़ गई फ्लोट
की चार बाइट्स उसमें ऐड हो गई और जैसे ही
माइनस माइनस किया वापस से फ्लोट की चार
बाइट्स उसमें से कम हो गई तो इस तरीके से
फ्लोट के साइज के हिसाब से भी पॉइंटर चेंज
होता है और केस थ्री अगर लें तो ये हमारा
कैरेक्टर का केस है सबसे पहले हमने
कैरेक्टर बनाया स्टार उसके अंदर एस्टरिस
स्टोर कराया उसके बाद एक पॉइंटर बनाया जो
स्टार को पॉइंट कर रहा है और फिर कराया
पीटीआर तो कैरेक्टर में क्या होता है एक
बाइट होती है कैरेक्टर सिर्फ एक बाइट का
होता है तो जब भी इंक्रीमेंट होगा वो
एक्चुअली बाय वन होगा क्योंकि एक बाइट
इंक्रीमेंट हो रही है जैसे यहां पर है
2000 यहां पे 2001 और यहां पे है
2002 यहां पे अगर हमने स्टार नाम का
वेरिएबल बनाया जिसमें स्टार स्टोर है यानी
एस्टरिस स्टोर्ड है और पॉइंटर इसको पॉइंट
कर रहा है तो जैसे ही प्लस प्लस करेंगे
पॉइंटर पॉइंट करने लग जाएगा इसको अगर
माइनस माइनस कर दिया तो पॉइंटर पॉइंट करने
लग जाएगा इसको इसको भी कोड करके वेरीफाई
कर लेते हैं यहां पे बनाते हैं कैर स्टार
इ इक्वल टू एस्ट रिस्क इसमें स्टोर
कराएंगे स्टार का एड्रेस एंड उसके बाद
दोबारा से पॉइंट्स की वैल्यूज को तो सबसे
पहले पॉइंटर की वैल्यू एंड हो रही थी 0 टू
सेन से प्लस प्लस किया तो 0 टू 8 पे आ गई
क्योंकि एक बाइट से इंक्रीज होगा कैरेक्टर
और माइनस माइनस किया तो हो गई 0 टू से तो
इस तरीके से अगर आपके पास सवाल आते हैं कि
पॉइंट्स को इंक्रीमेंट करने हैं या
डिक्रिमेंट करने हैं तो उन सवालों में
कंफ्यूज नहीं होना है सिर्फ साइज को ऐड कर
देना है अगर इंटी जर में + 1 लिखा है तो
उसका मतलब + 1 नहीं है उसका मतलब + 4 है
फ्लोट में लिखा है तो उसका भी मतलब + 4 है
कैरेक्टर में लिखा है तो उसका मतलब + 1 अब
पॉइंटर एरिथ मेे िक के अंदर दो और चीजें
आती है जिनमें से सबसे पहले है कि वी कैन
सबट क्ट वन पॉइंटर फ्रॉम अनदर यानी एक
पॉइंटर में से दूसरे पॉइंटर की वैल्यू को
माइनस कर सकते हैं जैसे अगर हमने लिखा इंट
पीटीआर व किसी इंटी जर एज को पॉइंट करा
रहा है और इंट पीटीआर 2 किसी इंटी जर एज
टू को पॉइंट करा र है तो अगर हम pt2 - pt1
करते हैं तो यह वाला जो ऑपरेशन है यह लिड
है साथ के साथ वी कैन आल्सो कंपेयर टू
पॉइंट्स यानी एक पॉइंटर की वैल्यू को
दूसरे पॉइंटर की वैल्यू से कंपेयर कर सकते
हैं उससे या तो आंसर ट्रू आएगा या फाल्स
आएगा इसका भी एक एग्जांपल देख लेते हैं
इंट ए इ 22 इंट ए इ 23 तो ये अंडरस्कोर एज
है जो कि एक अलग वेरिएबल है इन्हीं के
हिसाब से पॉइंट्स बनाते हैं इंट स्टार
पीटीआर सबसे पहले डिफरेंस प्रिंट करेंगे
परसेंटेज य ब n पटीर - पीटीआर और उसके बाद
प्रिंट करेंगे कंपैरिजन कंपैरिजन के लिए
क्या करते हैं हम अपना जो अंडरस्कोर
पीटीआर है ना उसमें स्टोर करा लेते हैं एज
का एड्रेस तो अब यहां पे कंपेयर कर लेंगे
कि दोनों सेम हो गए क्या कैसे कंपेयर
करेंगे अब पॉइंटर जो है नॉर्मल पीटीआर वो
स्टोर करा रहा है एज का एड्रेस और
अंडरस्कोर पीटीआर में भी एज का एड्रेस
स्टोर कराया है तो कायदे से लॉजिकली दोनों
के अंदर सेम एड्रेस की वैल्यू है तो इ
इक्वल टू इ इक्वल टू जब करेंगे तो दोनों
का कंपैरिजन जो है वो ट्रू रिटर्न करेगा
यानी वन रिटर्न करेगा तो आउटपुट भी देख ले
लेते हैं एक बार सेव करके इसको रन करते
हैं डिफरेंस आया है वन और कंपैरिजन भी वन
अब कंपैरिजन में वन का मतलब ट्रू है और
डिफरेंस में वन का मतलब बाय वन इंटी जर है
जैसे इनकी वैल्यूज को भी प्रिंट करवा लेते
हैं परसेंटेज u परसेंटेज u और यहां पे
प्रिंट करवाएंगे पीटीआर और अंडर पीटीआर तो
सबसे पहले पीटीआर की वैल्यू है
18700 जो एंड हो रही है 264 से अंडर
पीटीआर की वैल्यू एंड हो रही है 260 से तो
जब हमने किया पीटीआर - पीटीआर अंडरस्कोर
पीटीआर तो 264 में से 260 माइनस हुआ तो
डिफरेंस तो चार का आना चाहिए पर प्रिंट
हुआ वन क्योंकि ये चार नहीं दिखाएगा ये
मतलब बाइट्स में नहीं दिखाएगा डिफरेंस यह
दिखाएगा कि दोनों के अंदर कितने इंटी जर्स
का डिफरेंस है तो एक इंटी जर का डिफरेंस
है व्हिच इज इक्विवेलेंट टू चार बाइट्स और
कंपैरिजन में तो ट्रू आना ही था क्योंकि
दोनों सेम एड्रेस को पॉइंट कर रहे हैं तो
ओबवियसली दोनों की वैल्यू सेम है अब एक
छोटी सी चीज करके देखते हैं साथ में यहां
पे एज को बना देते हैं क्या कैरेक्टर और
इसको बना देते हैं कैरेक्टर पॉइंटर अब यह
जो कैरेक्टर पॉइंटर है कंपैरिजन तो ऑब्
वियस दोनों का ट्रू नहीं आएगा परट डिफरेंस
को एक बार एनालाइज करते हैं तो यहां पे
देखेंगे शुरुआत में ही एरर आ गया क्यों
क्योंकि हम एक इंटी जर पॉइंटर को एक
कैरेक्टर पॉइंटर में से डिफरेंस लेकर नहीं
देख सकते ये दोनों कंपैटिबल टाइप्स नहीं
है तो जब भी डिफरेंस लेना होगा मतलब एक
पॉइंटर से दूसरा पॉइंटर माइनस होगा तो वो
सेम टाइप के पॉइंट्स होने चाहिए अलग-अलग
टाइप्स के नहीं तो ये चीज ध्यान रखनी है
जब भी पॉइंट्स का डिफरेंस ले और डिफरेंस
नंबर नहीं आता मतलब दोनों में नंबर का जो
डिफरेंस है डिफरेंस आता है डेटा टाइप का
कि कितने डेटा टाइप्स का डिफरेंस है
नेक्स्ट टॉपिक की बात करेंगे नेक्स्ट
टॉपिक कहता है कि हमने पॉइंटर एरिथ मेे
पढ़ा क्यों ये इसलिए पढ़ा क्योंकि एरे इज
अ पॉइंटर जो हम अरेज पढ़ रहे थे वो
एक्चुअली पॉइंटर है कैसे अगर हम एक पॉइंटर
बनाते हैं इंट स्टार पॉइंटर और उसमें
पॉइंट करा देते हैं एरे की फर्स्ट लोकेशन
को यानी एरे ऑफ जीरो का एड्रेस अगर हम इस
पॉइंटर के अंदर स्टोर कर देते हैं तो हम
कुछ इस तर तरीके से कर रहे होंगे ये हमने
सिंटेक्स ऑलरेडी सीखा हुआ है पर अगर यह
वाली चीज को इस राइट साइड वाले पूरे पार्ट
को हम एरे से रिप्लेस करना चाहे तो भी कर
सकते हैं मतलब हमारा जो एरे होता है उसका
फर्स्ट इंडेक्स पे जो लोकेशन है एरे का
नाम वो एक्चुअली एक पॉइंटर होता है पॉइंट
कहां करता है एरे की जरूरत इंडेक्स प जैसे
अगर मेरे पास कोई एरे है मान लीजिए
मार्क्स नाम का एरे है जिसने काफी सारे
स्टूडेंट्स के मार्क्स स्टोर कराए हुए हैं
0 1 2 3 4 5 6 तो ये जो मार्क्स है इसका
आप टाइप देखेंगे तो ये एक्चुअली एक पॉइंटर
है और ये पॉइंट कहां कराता है पॉइंट कराता
है एरे की रोयत लोकेशन पे तो फिर चाहे हम
ये लाइन लिखें मतलब एड्रेस ऑफ रोयत लोकेशन
या फिर हम सीधा एरे का नाम लिखें दोनों
बराबर हैं दोनों का सिंटेक्स अलग-अलग है ब
दोनों का मतलब सेम है तो इस तरीके से एरे
का जो नाम होता है वो एक पॉइंटर होता है
और एक बहुत इंपॉर्टेंट चीज है जो हमें याद
रखनी है क्योंकि ये सवालों में पूछ ली
जाती है अब अगर किसी एरे पे हमें ट्रेवल
करना है यानी एक जगह से दूसरी जगह जाना है
अगर एरे के अंदर 100 एलिमेंट्स हैं तो
उनके एक के बाद एक के बाद एक वैल्यूज को
प्रिंट करवाना है तो कैसे करवाएं सबसे
पहले तो हम अब हमने नया-नया सीखा है कि एर
एक पॉइंटर होता है और यह भी सीखा है कि
पॉइंटर वैल्यू को हम प्लस भी कर सकते हैं
और माइनस भी कर सकते हैं तो सिंपली क्या
करेंगे एक लूप चलाएंगे लूप चला के अगर
हमारी वैल्यूज अगर हम शुरुआत में हमारा
पॉइंटर जीरो पर है तो उसको प्लस प्लस करते
हुए हम एंड तक लेके जाएंगे और उसी तरीके
से माइनस माइनस करते हुए वापस भी लेकर आ
सकते हैं और यहां पर हम रो से लेकर n तक
अपने पॉइंटर को प्रिंट करवाएंगे कैसे
करेंगे मान लीजिए आधार कार्ड आपने स्टोर
करा आधार वैल्यूज 10 लोगों की सबसे पहले
अगर एक्सेस करनी है हमें चीजें यानी स्कैन
एफ या प्रिंट एफ इनपुट आउटपुट दोनों के
लिए इसको एक एग्जांपल से समझते हैं मान
लीजिए आपने एक आधार नाम का एरे बनाया है
जो 10 लोगों का आधार कार्ड स्टोर कराता है
अब उसके लिए आपको एक लूप लगाना है जो 10
लोगों के आधार को इनपुट करे और फिर 10
लोगों के आधार को आउटपुट में दे तो उसके
लिए एक पॉइंटर बना लो पॉइंटर कहां पॉइंट
कर रहा है फर्स्ट इंडेक्स पर तो पॉइंटर
हमारा यहां पर पॉइंट कर रहा है इस लोकेशन
पर और सारे इंडेक्स में हमने जो है अपनी
वैल्यूज वो स्टोर करा ली है तो 10 वैल्यूज
के लिए हमने पूरा का पूरा अपना एरे बना
लिया इसको नाम दे दिया हमने आधार अब एक
पॉइंटर बना लिया है जो पॉइंट कर रहा है
फर्स्ट लोकेशन पे अब यह पॉइंटर क्या करेगा
सबसे पहले फर्स्ट लोकेशन पर जो भी वैल्यू
है उसको प्रिंट करवा देगा फिर कर देंगे
पॉट पॉइंटर प्लस प्लस फिर सेकंड लोकेशन पे
आ जाएगा यहां की वैल्यू को प्रिंट करवा
देगा फिर दोबारा से कर देंगे पॉइंटर प्लस
प्लस तो थर्ड लोकेशन पे आ जाएगा यहां की
वैल्यू को प्रिंट कराएगा फिर दोबारा से
प्लस प्लस यहां पे आएगा वैल्यू को प्रिंट
करवा देगा तो इस तरीके से हम एक लूप चला
सकते हैं उस लूप के अंदर एक पॉइंटर को
बार-बार प्लस प्लस कर देंगे तो वो आगे की
मेमोरी लोकेशंस को एक्सेस करता रहेगा फिर
चाहे हम इनपुट ले रहे हो या आउटपुट ले रहे
हो इसको करके देखेंगे तो कोड से हमें बेटर
समझ आएगा सबसे पहले अपना एक एरे बना लेते
हैं इंट आधार के नाम से इसका साइज यहां पर
रख लेते हैं फ क्योंकि 10 नंबर्स डालना
थोड़ा इनकन्वेनिएंट हो जाएगा अब सबसे पहले
इस एरे की वैल्यू को इनपुट कराएंगे इनपुट
कराने के लिए हमें पॉइंटर की हेल्प से
इनपुट कराना है तो एक पॉइंटर बना लेते हैं
जो कहां पॉइंट कर रहा है फर्स्ट मेमोरी
लोकेशन पर तो फर्स्ट मेमोरी लोकेशन का
एड्रेस इसमें डाल देते हैं उसके बाद एक
लूप लगाते हैं इंट आ इ 0 से जाएगा 10 तक
जाएगा आ प्
प्लस हम हर बार प्रिंट कर देते हैं कि कौन
से इंडेक्स की हमें वैल्यू चाहिए परसेंटेज
डी
इंडेक्स आई इंडेक्स की हमें वैल्यू चाहिए
और उस वैल्यू को हम कर लेते हैं स्कैन
परसेंटेज डी यहां पे एड्रेस दे देंगे
पॉइंटर प्लस आ का तो यहां पे फॉर लूप हमने
लगाया और ये फॉर लूप 08 इंडेक्स से हमारे
नाइंथ इंडेक्स तक जा रहा है तो वैल्यू
जीरो से लेकर लेस दन 10 तक रहेगी जीरो से
इसलिए शुरू किया है क्योंकि जीरो बेस्ड
इंडेक्सिंग होती है एरे के हिसाब से अब
यहां पर सबसे पहले प्रिंट कर देंगे कौन से
इंडेक्स की हमें वैल्यू चाहिए तो i हमारा
इंडेक्स है एक तरीके से और जिसको भी स्कैन
करना है उसमें हम लिख देंगे पॉइंटर प् आ
यानी पॉइंटर हमने लिख दिया पॉइंटर रो एथ
इंडेक्स को पॉइंट कर रहा है पर जैसे ही
उसमें प् आ होता रहेगा यानी उसमें + व
करेंगे तो वो फर्स्ट पोजीशन पे आ जाएगा +
ट करेंगे सेकंड पोजीशन पे + 3 करेंगे थर्ड
पोजीशन पे इस तरीके से एक एक डाटा टाइप से
वो बढ़ता रहेगा तो यहां पे स्कैनिंग हो
जाएगी फिर आउटपुट के लिए एक और लूप लगा
लेते हैं आई ले 10 i+ + प्रिंट f d
इंडेक्स में है वैल्यू परसेंटेज d अब यहां
पे सबसे पहले इंडेक्स प्रिंट कर देंगे
उसके बाद वैल्यू प्रिंट कर देंगे वैल्यू
प्रिंट करने के लिए हम पीटीआर + आ भी कर
सकते हैं तो एक बार ये करके देखते हैं
उसके बाद एक और थोड़ा सा हल्का सा चेंज
सिंटेक्स देखेंगे तो जरो तो इंडेक्स पे हम
डाल रहे हैं 12 13 14 15 एंड 16 यहां पर
अगर हमारे आधार का साइज पांच है तो हमें
10 की जगह यहां पे पांच करने की जरूरत है
क्योंकि हम 10 साइज का नहीं पांच साइज का
इस बार एरे अपना बना रहे हैं एक बार
दोबारा से रन कर लेते हैं 12 13 14 15 एंड
16 तो जरत इंडेक्स पे 12 आ गया है फर्स्ट
इंडेक्स पे 13 आ गया है सेकंड पे 14 थर्ड
पे 15 और फोर्थ पे 16 तो ये सारे के सारी
वैल्यूज हमारे एरे के अंदर स्टोर हो गई
हैं अब यहां पे स्टार पीटीआर + 1 किया यह
तो हो गया पॉइंटर से करने का तरीका यहां
पे हम यह भी कर सकते थे आधार ऑफ हमारा
इंडेक्स आ तो यह डायरेक्टली इंडेक्स आ पर
जो भी वैल्यू है वो आधार के हिसाब से
निकाल लेगा तो इसको भी सेव कर लेते हैं और
इनपुट लेते टाइम भी हम सेम चीज कर सकते थे
यानी आधार ऑफ आ तो ये आ चेंज होता रहेगा
और आधार के हिसाब से हम एड्रेस सेंड करते
रहेंगे तो यह भी बिल्कुल करेक्ट फॉर्मेट
होता चीजों को करने का 12 13 14 15 16 तो
इससे भी सेम इनपुट और आउटपुट हम ले पा रहे
हैं चाहे हम पॉइंट्स का इस्तेमाल करें
चाहे हम नॉर्मली ये चीजों का इस्तेमाल
करें मतलब स्क्वायर ब्रैकेट्स का दोनों
में आउटपुट इनपुट सेम रहेगा हमें बस जो भी
हमें कन्वेनिएंट ज्यादा पड़ता है उसका हम
यूज़ कर सकते हैं पर एक चीज हमेशा याद
रखनी है कि एरे का फर्स्ट इंडेक्स एरे खुद
में एक पॉइंटर होता है वो चीज कभी भूलनी
नहीं है नेक्स्ट चीज जिसकी हम बात करेंगे
वो है अरेज एज फंक्शन आर्गुमेंट अब जैसे
हम नॉर्मल इंटी जर को फ्लोट को कैरेक्टर
को फंक्शन में आर्गुमेंट की तरह पास कर
सकते हैं वैसे ही फंक्शन कॉल्स के अंदर हम
अरेज को भी भेज सकते हैं यानी किसी फंक्शन
को हम बना सकते हैं कि प्रिंट करो जी एरे
की वैल्यू को तो उसके अंदर कोई भी एरे आप
डाल दोगे वो उसकी वैल्यू को प्रिंट कर
देगा तो उसके आर्गुमेंट में उसके पैरामीटर
में आपको एक एरे डिफाइन करना पड़ेगा का
फॉर्मेट क्या रहता है सबसे पहले आती है
फंक्शन डिक्लेरेशन ऐसे फंक्शन को आप
डिक्लेयर कैसे करेंगे या तो उसके अंदर आप
आर्गुमेंट के अंदर नॉर्मल आपने फंक्शन
लिखा हुआ है पर पैरामीटर के अंदर आप
लिखेंगे इंट एरे और फिर स्क्वायर
ब्रैकेट्स इसके अंदर आपको साइज देने की
जरूरत नहीं है मतलब ये किसी भी साइज का हो
सकता है एरे इसीलिए साइज के लिए हमें अलग
से एक इंटी जर n पास करना पड़ेगा जो
बताएगा एरे का साइज क्या है या फिर उसको
पॉइंटर की तरह भी पास कर सकते हो ये है
स्क्वायर ब्रैकेट्स वाला तरीका और यह है
हमारा पॉइंट्स वाला तरीका और दोनों सही
हैं यहां पे इंट एस्ट रिस्क एरे तो ये
पॉइंटर की तरह भी पास कर सकते हैं और
फंक्शन कॉल के अंदर बस आपको एरे का नाम
लिख देना है तो हमें ऑलरेडी पता है दिस इज
इक्वल टू m पर ए आर आर ऑफ ज़ीरो तो ये इस
पॉइंटर में जाके वैल्यू स्टोर हो जाएगी तो
एरे खुद एक पॉइंटर है जाके पॉइंटर के अंदर
स्टोर हो जाएगा तो इसको एक बार करके देखते
हैं सबसे पहले तो एक फंक्शन बनाते हैं
फंक्शन को डिक्लेयर करेंगे वॉइड प्रिंट
नंबर्स प्रिंट नंबर्स के अंदर एक एरे आता
है और उसका साइज आता है तो ये एरे हमने
डिफाइन किया स्क्वायर ब्रैकेट्स की हेल्प
से और साइज को बनाया नॉर्मल इंटी जर अब
इसको डिफाइन भी कर लेते हैं वॉइड प्रिंट
नंबर्स जिसके अंदर आ रहा है हमारे पास इंट
एरे और इंट n अब एरे के साइज के हिसाब से
एक लूप चलाएंगे जो जीरो से लेकर n तक
चलेगा तो यहां लेस देन n वाली कंडीशन है
हर बार कर रहे हैं i+ प् और एरे के
एलिमेंट्स को करा देंगे प्रिंट तो प्रिंट
f परसेंटेज d बै स् t और यहां पर लिख
देंगे ए आर आर ऑफ आई जैसे बै स्ल ए
नेक्स्ट लाइन के लिए होता है बैल t हमारा
एक टैब का स्पेस दे देता है तो जो भी
नंबर्स प्रिंट होंगे ना वो थोड़ी-थोड़ी
स्पेस के बाद प्रिंट होंगे तो अच्छा लगेगा
देखने में तो इस तरीके से और लास्ट में एक
नेक्स्ट लाइन प्रिंट करवा लेते हैं ब n से
अब मेन फंक्शन के अंदर एक एरे बनाते हैं
जिसके अंदर कुछ नंबर्स हैं 1 2 3 4 5 एंड
6स और प्रिंट नंबर्स को लगाते हैं कॉल
प्रिंट नंबर्स के अंदर एरे लिख दिया ए
फर्स्ट आर्गुमेंट और नंबर लिख दिया कि
सिक्स एलिमेंट्स है इसके अंदर इसको कर
लेते हैं सेव एंड रन तो हमारे जो नंबर्स
है वो एक के बाद एक के बाद एक लिखे हुए
हमारे पास प्रिंट होकर आ गए हैं और यहां
चाहते हम तो स्क्वायर ब्रैकेट्स हटाकर
इसको एक पॉइंटर भी बना सकते थे स्टार्ट
पीटीआर और यहां पे इंट स्टार पीटीआर या
इनफैक्ट पीटीआर की जगह अगर इसको ए आर ही
रखते हैं हम दोबारा से कोड को रन करते हैं
और इस बार सेम आउटपुट हमारे पास आ गया है
तो मतलब एरे को आप पॉइंटर की तरह रखें अगर
अपने फंक्शन पैरामीटर्स में रखना है या
फिर आप स्क्वायर ब्रैकेट्स वाले नोटेशन
रखें दोनों नोटेशन में हमारे पास सेम
आउटपुट निकल के आएगा नेक्स्ट टॉपिक जिसको
डिस्कस करेंगे वो है मल्टी डायमेंशन अरेज
मल्टी डायमेंशन अरेज यानी अभी तक हमने जो
अरेज पढ़े वो वडी वाले अरेज हैं एक
डायमेंशन में काम करते हैं डायमेंशन क्या
है लीनियर इस तरीके से हमारा एरे हमारे
पास था पर मान लीजिए हमें दो एरे रखने हो
तो उनको एक के बाद एक के बाद एक रख सकते
हैं उसके बाद तीन एरे रखने हो तो एक के
बाद एक के बाद एक एरे रख सकते हैं तो यहां
पे हम डायमेंशन के साथ खेलते हैं यानी
हमें तीन एरे चाहिए और हर एरे का साइज
मुझे चाहिए 10 तो मैं एक 2d एरे बना दूं
2d एरे इस तरीके से हम डिफाइन करते हैं
सबसे पहले लिखेंगे उसका टाइप इंट उसके बाद
लिखेंगे उसका नाम एरे फिर लिखेंगे दो
स्क्वायर ब्रैकेट्स जितने स्क्वायर
ब्रैकेट्स मल्टी डायमेंशन एरे के अंदर
होंगे वो बताएगा कि उसकी डायमेंशन कितनी
है अब अभी तक हम लिख रहे थे इंट ए आ ऑफ 3
तो इसका मतलब था इसमें एक डायमेंशन है दो
स्क्वायर ब्रैकेट्स यानी इसमें दो
डायमेंशन है और राइट साइड में किस तरीके
से डिफाइन करेंगे बाहर वाले स्क्वायर
ब्रैकेट्स बताएंगे कि अंदर का टोटल कितना
डाटा स्टोर्ड है एक स्क्वायर ब्रैकेट का
मतलब एक एरे दूसरे स्क्वायर ब्रैकेट का
मतलब दूसरा एरे तो पहले एरे में एलिमेंट
है वन और टू दूसरे एरे में है थ्री और फोर
तो ये एरे एक्चुअली बनेगा कैसे मेमोरी के
अंदर अब इसको विजुलाइज करना है तो दो
तरीके हैं पहला तरीका है कि हम कुछ इस
तरीके से विजुलाइज करें कि यहां पे
स्टोर्ड है हमारा वन यहां पर टू यहां पर
थ्री यहां पर फर यह हमारा एरे है इसके
अंदर यह वाली जो लोकेशन है इसको 0 0
कहेंगे इसको 01 कहेंगे इसको 10 कहेंगे और
इसको वन वन कहेंगे तो ये मैट्रिक्स की तरह
हम इमेजिन कर सकते हैं 11वीं 12वीं में एक
मैट्रिक्स पड़ी होगी जिसके अंदर कुछ-कुछ
पार्ट्स हमारे होते थे तो यहां होता था रो
यहां वन यहां टू यहां रो यहां वन यहां टू
तो उसी तरीके का यह है कि यहां पे अगर वन
लिख दिया यहां पे टू लिख दिया यहां थ्री
लिख दिया या फोर लिख दिया तो ये हो गया 0
ये हो गया 0 व ये हो गया 10 ये हो गया व
इस तरीके का कुछ सिस्टम रहता है तो यहां
पे भी मतलब मेमोरी के अंदर भी ऐसा ही कुछ
है कि इसको हम जीरो जीरो कहेंगे इसको 0 व
कहेंगे इसको 10 कहेंगे इसको व व कहेंगे पर
ये एक्चुअली मेमोरी के अंदर कैसे स्टोर
होता है स्टोर होता है इस फॉर्मेट में
यानी पहले तो वन आ जाएगा फिर टू आ जाएगा
फिर थ्री आ जाएगा फिर फोर आ जाएगा तो ये
जीरो जीरो हो जाएगा ये रो वन ये वन ़ और
ये 1 1 अब अगर एक्सेस करना है हमें तो
एलिमेंट्स को एक्सेस कैसे करेंगे एरे ऑफ 0
0 निकालना हो तो वो होगा ये वैल्यू वन एरे
ऑफ़ ़ व निकालना हो तो ये वैल्यू होगी टू
एरे ऑफ़ व 0 निकालना हो तो ये वैल्यू होगी
थ्री एरे ऑफ 1 1 निकालना हो तो ये वैल्यू
होगी फर तो जब भी 2d एरे को विजुलाइज करना
है हम उसको मैट्रिक्स की फॉर्म में
विजुलाइज कर लेते हैं यहां पर यह वाला
हमारा फर्स्ट एरे हो जाएगा यह वाला हमारा
सेकंड एरे हो जाएगा अगर थर्ड थड एरे होता
तो वो उसके नीचे आ जाता यह वाला हो जाता
हमारा थर्ड एरे और हर एरे का साइज जो है
वो सेम रहता है इस एरे का साइज भी दो है
इस एरे का साइज भी दो है इस एरे का साइज
भी दो है पर हम बना कितने भी चाहे n एरे
बना लो चाहे n -1 बना लो n -2 जितने मर्जी
उतने एरे हम बना सकते हैं पर सबका साइज
हमारे पास सेम रहेगा और विजुलाइज कैसे
करना है मैट्रिक्स की हेल्प से अब इसका एक
सवाल करके देख लेते हैं अब यहां पर तो हम
बात कर रहे हैं 2d अरेज की ऐसे ही हमारे
पास 3d एरे भी होते हैं 4d अरेज भी होते
हैं 5d अरेज भी होते हैं पर ये इतना
प्रोग्रामिंग में यूज़ नहीं होते मोस्टली
जो सवाल आएंगे आपके पास वो 2d अरेज के आने
वाले हैं अब एक 2d एरे बनाते हैं एक एरे
को इस तरीके से बनाएंगे कि हम दो बच्चों
के तीन सब्जेक्ट्स के मार्क्स स्टोर करा
रहे हैं तो ये चीज ध्यान देनी है कि हमें
दो बच्चों के तीन सब्जेक्ट्स के मार्क्स
को स्टोर कराना है तो एक मार्क्स नाम का
2d एरे बनाते हैं जिसका साइज होगा टू और
थ्री
यानी दो एरे बन रहे हैं मेमोरी में किस
तरीके से
होगा सबसे
पहले तीन लोकेशन आ जाएंगी उसके बाद तीन और
लोकेश आ जाएंगी इसमें पहले स्टूडेंट के
तीन सब्जेक्ट के मार्क्स स्टोर्ड होंगे
इसमें दूसरे स्टूडेंट के तीन सब्जेक्ट्स
के मार्क्स स्टोर होंगे इस तरीके से
मेमोरी में एरे हमारा बनेगा अब मार्क्स हम
लिख लेते
हैं फर्स्ट स्टूडेंट के यानी रोत इंडेक्स
यहां पर भी रोए इंडेक्स होता है फर्स्ट
स्टूडेंट के फर्स्ट सब्जेक्ट के मार्क्स
यहां पर लिख सकते हैं
90 इंटी जर हम नहीं लिखेंगे अब दोबारा से
फर्स्ट स्टूडेंट के सेकंड सब्जेक्ट के
मार्क्स तो उसके लिए
89 दोबारा से फर्स्ट स्टूडेंट के थर्ड
सब्जेक्ट के मार्क्स तो
78 उसी तरीके से हम सेकंड स्टूडेंट के लिए
भी मार्क्स लिख सकते हैं तो सेकंड
स्टूडेंट के सेकंड सब्जेक्ट के सेकंड
स्टूडेंट के फर्स्ट सब्जेक्ट के और सेकंड
स्टूडेंट के थर्ड सब्जेक्ट के यहां पे
मार्क्स की वैल्यू हम चेंज कर सकते हैं तो
इन वैल्यूज को उसी तरीके से हम इनपुट
करेंगे उसी तरीके से आउटपुट करेंगे जैसे
करते आए थे जैसे फर्स्ट स्टूडेंट के
फर्स्ट सब्जेक्ट के मार्क्स अगर प्रिंट
करने हैं तो लिखेंगे बस प्रिंट एफ
परसेंटेज डी मार्क्स ऑफ 0 जीरो तो ये बता
रहा है रो इ स्टूडेंट यानी हमारा पहला
स्टूडेंट उसके जीरो एथ सब्जेक्ट के यानी
फर्स्ट सब्जेक्ट के मार्क्स देख लेते हैं
तो ये 90 हमारे पास प्रिंट होकर आ गया दिस
वैल्यू तो इस तरीके से 2d अरेज के साथ भी
हम खेल सकते हैं वह यूज़ केस पर डिपेंड
करता है कि आपका ऐसा केस है क्या जिसमें
आपको 2d एरे बनाने की जरूरत पड़ रही है
मोस्टली सी के अंदर हम बेसिक प्रोग्रामिंग
सीख रहे होते हैं तो हम वडी अरेज के साथ
ही खेलेंगे थोड़े बहुत डी अरेज के
क्वेश्चन आ जाएंगे 3d अरेज पर हम इतना
नहीं जा रहे होंगे लद वो भी पॉसिबल है
कई-कई
कॉम्प्लेक्टेड में हमने काफी कुछ सीख लिया
है तो हम उसके कुछ सवाल प्रैक्टिस कर लेते
हैं सबसे पहला सवाल जिसकी बात करेंगे वह
है राइट अ फंक्शन टू काउंट द नं ऑफ ऑड
नंबर्स इन एन एरे एक फंक्शन बनाएंगे वो
फंक्शन क्या करेगा एक एरे को पैरामीटर की
तरह लेगा आर्गुमेंट में पास करेंगे एरे व
फंक्शन के अंदर आएगा और उस एरे के अंदर
कितने ऑड नंबर्स हैं उनको हम काउंट करेंगे
जैसे फॉर एग्जांपल जैसे फॉर एग्जांपल
हमारे पास एक एरे है जिसके अंदर कुछ नंबर
स्टोर्ड है 1 2 3 4 5 एंड स अब इसके अंदर
ऑड नंबर्स है थ एंड 5 तो जो काउंट व
फंक्शन रिटर्न करके देगा वो होगा ्र उसके
लिए एक फंक्शन लिखते हैं
इंट काउंट
ऑड इस फंक्शन में पास करेंगे एक एरे ऑफ
नंबर्स और उसका साइज तो साइज हमेशा पास
करना है जब भी एक एरे को पास कर रहे हैं
इसको डिफाइन कर लेते हैं फंक्शन को काउंट
ऑड इंट एरे इंट साइज एंड सबसे पहले एक
वेरिएबल बना लेते हैं जिसमें स्टोर करवा
देंगे काउंट शुरुआत में काउंट है हमारा
जीरो उसके बाद एक लूप चला लेते हैं i = 0
से i = n तक जाएगा यह लूप यानी सारे एरे
को ट्रैवर्स करके देखेगा ट्रैवर्स यानी
ट्रैवल करके देखेगा लूप से हम एक-एक करके
एरे के एलिमेंट्स के अंदर जाएंगे हर
एलिमेंट के लिए चेक करेंगे इफ एरे ऑफ़ i
एरे ऑफ़ i से हमारे पास उस एलिमेंट की
वैल्यू आ गई उसे कैसे चेक करके देखेंगे
मॉड्यूल 2 इज़ नॉट इक्वल ट ़ यहां से क्या
आया सबसे पहले एलिमेंट निकाला एरे ऑफ़ i
से उसको देख लिया क्या वह से कंपलीटली
मल्टीप्लाई हो रहा है अगर मल्टीप्लाई नहीं
हो रहा मतलब रिमाइंडर अगर जीरो नहीं आया
तो मतलब वो एक ऑड नंबर है तो ऑड नंबर जैसे
ही हमारे पास आया काउंट को कर देंगे प्लस
प्लस काउंट शुरुआत में जीरो था यानी
शुरुआत में एक भी ऑड नंबर हमारे पास नहीं
था हर एलिमेंट के लिए चेक करेंगे ये ऑड है
क्या ये ऑड है क्या ये ऑड है क्या जैसे ही
ऑड होता है काउंट को इंक्रीज कर दो बाय वन
यानी काउंट प्लस प्लस एंड में क्या करेंगे
रिटर्न कर देंगे अपने काउंट को मेन फंक्शन
के अंदर एक एरे बना लेते हैं इंट एरे इ
इक्वल टू 1 2 3 4 5 एंड 6 और प्रिंट करवा
लेते
हैं काउंट को काउंट डॉट इसमें पास कर
देंगे अपना एरे और अपना साइज व्हिच इज स
कर लेते हैं सेव एंड रन तो हमारे पास तीन
रिटर्न होकर आया है मतलब हमारे एरे के
अंदर तीन ऑड नंबर्स प्रेजेंट है इसी तरीके
से आप इवन नंबर कैलकुलेट करने का फंक्शन
बना सकते हैं इसी तरीके से बना सकते हैं
कि आप थ्री के मल्टीपल कैलकुलेट कर लो
फाइव के मल्टीपल कैलकुलेट कर लो तो
अलग-अलग तरीके के फंक्शन इसी तरीके से
लिखे जाएंगे अगर एरे पे फंक्शंस करने हैं
तो नेक्स्ट सवाल जिसकी बात करेंगे हमें एक
इंटी जर एरे गिवन है उसके अंदर नंबर्स
स्टोर्ड है 1 2 3 4 5 सवाल है फॉर द गिवन
एरे व्हाट विल बी द फॉलोइंग तो सबसे पहले
हमें ये वैल्यू निकालनी है इस एरे के लिए
इस एरे को एक बार विजुलाइज कर लेते हैं
ऐसा कुछ स्ट्रक्चर मेमोरी के अंदर होगा
जिसके अंदर पांच वैल्यूज हमारे पास
स्टोर्ड होंगी और एक पॉइंटर होगा ए आरआर
जो पॉइंट कर रहा है जीरो एथ इंडेक्स को
यहां पे हम सबसे पहले निकाल arr2 तो इसकी
वैल्यू हो जाएगी यह है
ar01 और यह है ए आ + 2 तो इसकी वैल्यू हो
जाएगी हमारे पास थ्र क्योंकि यहां पर हम
वैल्यू एट एड्रेस ऑपरेटर यूज़ कर रहे हैं
तो ये हमें तीन प्रिंट करके दे देगा उसके
बाद नेक्स्ट करते हैं ar5 तो ये है ar3 ये
है एआर + 4 ar5 इस एरे में एजिस्ट ही नहीं
करेगा क्योंकि ये सिर्फ पांच साइज का एरे
तो यहां पे मेमोरी तो होगी कुछ पर वो
हमारे एरे का पार्ट नहीं है तो यहां पे
हमारे पास आ जाएगा एरर इसको एक बार कोड
करके वेरीफाई भी कर लेते हैं एक एरे बना
लेते हैं सिर्फ पांच साइज का अब इसके अंदर
सबसे पहले प्रिंट करवा के देखेंगे
परसेंटेज डी ब n हमारा ए आ + 2 एंड उसके
बाद एआर + 5 arr2 में प्रिंट हुआ थ्री
क्योंकि इस पोजीशन पे तीन है पर फाइव में
रो प्रिंट हुआ मतलब वहां कोई वैलिड वैल्यू
नहीं है वो हमारे एरे का पार्ट नहीं है
इसलिए रो उसने ट कर दिया जो भी वैल्यू
वहां पर पड़ी थी अब नेक्स्ट करेंगे
प्रैक्टिस क्वेश्चन 44 प्रैक्टिस क्वेश्चन
44 हमें कहता है राइट फंक्शन टू रिवर्स एन
एरे एक एरे हमें दिया होगा मान लो चार
साइज का एरे हमें दिया है इसके अंदर
वैल्यू है 1 2 3 4 हमें इस एरे की वैल्यूज
को करना है रिवर्स यानी एक फाइनल जो
आउटपुट एरे हमारे पास आना चाहिए उसके अंदर
4 3 2 और वन होना चाहिए तो एक काफी
इंपॉर्टेंट सवाल है इस सवाल को करने के ना
बहुत सारे तरीके होते हैं और उनमें से एक
क्लासिकल तरीका हम डिस्कस करेंगे क्लासिकल
तरीका ये है कि फर्स्ट को और लास्ट को
एक्सचेंज कर दो फिर फर्स्ट फिर सेकंड को
और सेकंड लास्ट को एक्सचेंज कर दो उसके
बीच में भी कुछ है तो थर्ड को और थर्ड
लास्ट को एक्सचेंज कर दो एक्सचेंज करते
रहेंगे तो हमारा जो एरे होगा वो रिवर्स हो
जाएगा पूरा कैसे वन की जगह फोर आ जाए फोर
की जगह वन आ जाए तो वन की जगह फोर आ गया
फोर की जगह वन आ गया टू की जगह थ्री आ जाए
थ्री की जगह टू आ जाए तो टू की जगह थ्री आ
गया थ्री की जगह टू आ गया तो हमारा एरे जो
है रिवर्स कर गया अब ये सेम जो स्ट्रेटेजी
है अभी हम सिर्फ स्ट्रैटेजी की बात कर रहे
हैं कोड की बात नहीं कर रहे कोड अभी
डिस्कस करेंगे किस तरीके से लिखा जाएगा
अगर एक ऑड साइज का हमारे पास एरे होता
जैसे 1 2 3 4 एंड फाइव इसमें भी सेम
स्ट्रेटेजी यूज़ होती वन और फाइव को
एक्सचेंज कर देते तो यहां फाइव आ जाता
यहां वन आ जाता फिर टू और फोर को एक्सचेंज
कर देते तो यहां फोर आ जाता यहां टू आ
जाता और थ्री को थ्री के के साथ एक्सचेंज
कर देते तो थ्री ही रहता इससे क्या सीखने
को मिला कि फाइनल जो एरे आया दैट वाज 5 4
3 2 एंड 1 तो एरे हमारा कंप्लीट रिवर्स हो
गया तो जब भी एक एरे को रिवर्स करना है एक
लिस्ट दी है नंबर्स की उनको रिवर्स करना
है तो क्या करो फर्स्ट को लास्ट के साथ
एक्सचेंज कर दो सेकंड को सेकंड लास्ट के
साथ एक्सचेंज कर दो थर्ड को थर्ड लास्ट के
साथ एक्सचेंज कर दो फोर्थ को फोर्थ लास्ट
के साथ एक्सचेंज कर दो तो आगे वाला पीछे
चला जाएगा पीछे वाला आगे आ जाएगा अब इसको
कोड में कैसे करेंगे अब हमें पता है कि
सबसे पहले तो हमें एक लूप चलाना पड़ेगा
ताकि हर एक एलिमेंट तक जा सके तो एक लूप
लगाएंगे वो लूप क्या करेगा रो से शुरू
होगा हम अपने एरे का दोबारा से एग्जांपल
लें तो 1 2 3 4 5 6 इस एरे का एग्जांपल
लेते हैं तो रो से लूप शुरू होगा और लूप
कहां तक जाएगा लूप हाफ ऑफ द एरे तक जाएगा
मतलब यहां तक जाएगा तो अब इस एलिमेंट को
एक्सचेंज कर देंगे इसके साथ इसको कर देंगे
इसके साथ इसको कर देंगे इसके साथ अब
दोबारा से एक्सचेंज नहीं करना दोबारा से
हाफ के बाद एक्सचेंज करने लगेंगे तो वापस
से ओरिजिनल पोजीशन पे आने वो शुरू हो
जाएंगे तो इसलिए लूप हमारा हाफ तक जाएगा
लेस देन साइज बाटू तो n जो भी होगा
डिवाइडेड बाय 2i + और लूप के अंदर क्या
होगा लूप के अंदर अरेज की वैल्यू एक्सचेंज
होंगी तो सबसे पहले तो फर्स्ट वैल्यू
फर्स्ट वैल्यू क्या होगी फर्स्ट वैल्यू
होगी हमारी एरे ऑफ i की वैल्यू यानी आयत
इंडेक्स पे जो भी वैल्यू है वो हमारी
फर्स्ट वैल्यू है और सेकंड वैल्यू जिसको
एक्सचेंज करना है सेकंड वैल्यू कैसे
निकालेंगे सेकंड वैल्यू है रो के लिए मतलब
जीरो एथ इंडेक्स के लिए सेकंड वैल्यू हो
हो जाएगी फाइव फर्स्ट इंडेक्स के लिए
सेकंड वैल्यू हो जाएगी फोर सेकंड इंडेक्स
के लिए सेकंड वैल्यू हो जाएगी थ्री तो हम
देख पा रहे हैं अगर यह वैल्यू i है तो ये
वैल्यू हमारी n - i - 1 है आई होप ये चीज
समझ में आई होगी इसको एक टेबल बनाक देखते
हैं टेबल में क्या करेंगे i की वैल्यू
लिखेंगे n - i - 1 की वैल्यू लिखेंगे अब
हमें पता है i हमारा रो से शुरू हो रहा है
और n की वैल्यू कांस्टेंट है व्हिच इज
सिक्स तो i की वैल्यू अगर रो है तो n - i
- 1 की वैल्यू होगी हमारे पास 5 i की
वैल्यू अगर वन है तो 6 - i - 1 की वैल्यू
होगी हमारे पास 4 i अगर 2 है तो 6 - 2 - 1
की वैल्यू होगी हमारे पास 3 तो जोड़ी
हमारे पास बन गई रो के लिए इंडेक्स है
फाइव वन के लिए इंडेक्स है फर टू के लिए
इंडेक्स है थ्री तो ़ के लिए 5 वन के लिए
फर एंड टू के लिए ्र तो सेकंड वैल्यू को
किस तरीके से निकालना है
यह अगर आप खुद से नहीं सोच पाए तो उसमें
परेशानी वाली बात नहीं है क्योंकि यह जो
चीजें है ना यह प्रैक्टिस के साथ आती हैं
ऐसे आपने छह बार किसी एरे को रिवर्स कर
लिया होगा ना उसके बाद जाके याद होगा कि n
- i - 1 से रिवर्स होता है क्योंकि
क्लासिकल तरीका है फिर चाहे c+ में
प्रोग्रामिंग कर रहे हो जावा में कर रहे
हो c में कर रहे हो हर बार जब भी एरे को
रिवर्स करना है n - i - 1 का यूज़ करना
पड़ेगा तो यहां पे लिख देंगे सेकंड वैल्यू
इज एरे ऑफ n - i - 1 तो फर्स्ट वैल्यू आ
गई सेकंड वैल्यू आ गई अब एक्सचेंज का
प्रोसेस कर लो एक्सचेंज कैसे करेंगे एरे
ऑफ i में डाल देंगे सेकंड वैल्यू और एरे
ऑफ n - i - 1 में डाल देंगे फर्स्ट वैल्यू
तो यह हो गई हमारी वैल्यूज एक्सचेंज और
यहां पे कर देंगे लूप को खत्म तो फाइनली
हमारा जो एरे होगा वो उल्टा हो जाएगा एक
नया एरे बना के इसको ड्राय रन करके देखते
हैं ड्राय रन होता है कोडिंग में कि आप
कोड को चलाने से पहले उसका आउटपुट एनालाइज
कर लें मान ले पांच साइज का एरिया है अब
सबसे पहले क्या करेंगे लूप की शुरुआत
करेंगे लूप की शुरुआत कैसे करेंगे हमारी i
की वैल्यू शुरुआत में 0 और n - i - 1 की
वैल्यू है 4 तो ये हो जाएगी फर्स्ट वैल्यू
ये हो जाएगी सेकंड वैल्यू इस पोजीशन में
हटा के सेकंड वैल्यू डाल देंगे यानी पांच
को डाल देंगे इसको हटा के फर्स्ट वैल्यू
यानी वन को डाल देंगे फिर i हो जाएगा प्लस
प्लस i आएगा यहां पे ये हो जाएगी फर्स्ट
वैल्यू ये हो जाएगी सेकंड वैल्यू इसके बाद
इसको हटा के सेकंड वैल्यू को डाल देंगे
इसको हटा के फर्स्ट वैल्यू को डाल देंगे
उसके बाद हो जाएगा i + प i आ जाएगा हमारा
i पहले अगर वन बना था तो इस बार बन जाएगा
टू अब हम देखेंगे कि i जो वैल्यू टू है इज
इट लेस देन हमारा 5/2 5/2 इंटी जर में
होता है 2 तो 2 < 2 जो है वो तो हो जाएगा
फॉल्स तो यहां पे लूप खत्म हो जाएगा तीन
तक हम पहुंच ही नहीं पाएंगे तो तीन वैसे
का वैसा रहेगा और फाइनल अगर एरे देखें तो
फाइनल एरे में क्या आएगा सबसे पहले पांच
फिर चार फिर तीन फिर दो फिर एक ये हो गया
हमारा रिवर्स देरे अब इसको कोड भी लिख
लेते हैं कोड में में एक एरे हमने ऑलरेडी
बनाया हुआ है ट 3 4 5 अब सिंपली क्या
करेंगे एक नया फंक्शन बना लेते हैं इंट
रिवर्स जिसके अंदर एक एरे लेंगे
और साइज
लेंगे इंट रिवर्स इंट एरे और एरे का साइज
n अब एक लूप चला लेते हैं इंट आ इ 0 से
लूप जाएगा आ लेसन n बाटू तक और आ प् प्स
और हर बार क्या करेंगे सबसे पहले फर्स्ट
वैल्यू निकाल
लेंगे फर्स्ट वैल्यू होती थी एरे ऑफ ़ और
हमारी सेकंड वैल्यू होती थी एरे ऑफ n - i
- 1 ये जरो नहीं होगा ये होगा एरे ऑफ i अब
एरे ऑफ i में डाल दो हमारी सेकंड
वैल्यू और एरे ऑफ n - i - 1 में डाल दो
हमारी फर्स्ट वैल्यू तो यह दोनों वैल्यूज
को हमने एक दूसरे के साथ एक्सचेंज कर दिया
है और यह हमारा एरे हो गया है रिवर्स अब
क्या करेंगे मेन फंक्शन के अंदर इसको
प्रिंट करवाएंगे एरे को सबसे पहले रिवर्स
को कॉल लगा लेंगे इसमें पास कर देंगे एरे
और अपना साइज n n की वैल्यू है पाच उसके
बाद अपने एरे को प्रिंट करवाने के लिए
फंक्शन बना लेते हैं एक वॉइड प्रिंट
एरे प्रिंट
एरे फॉर इंट i = 0 यह कोड हम ऑलरेडी लिख
चुके हैं तो मैं उम्मीद करती हूं कि यहां
पे आप आप वीडियो को पॉज करेंगे और इस वाले
फंक्शन को तो खुद से ही कंप्लीट करना है
जिसमें हम एरे की वैल्यूज को प्रिंट करवा
रहे हैं ए आर आर ऑफ
आ फाइनली एक नेक्स्ट लाइन दे देते हैं
इसको कर लेते हैं वॉइड यहां कॉल कर लेते
हैं प्रिंट एरे ए आरआर और फ तो सबसे पहले
रिवर्स कर दो एरे मेन फंक्शन के अंदर
रिवर्स कॉल किया फिर प्रिंट कर दिया एरे
इसको सेव करके रन करते हैं इस फंक्शन का
रिटर्न टाइप भी वॉइड रख है क्योंकि रिवर्स
कुछ रिटर्न नहीं कर रहा होगा तो एरे हमारा
रिवर्स होके क्या आ गया 0 4321 यहां पे
हमने एक छोटी सी मिस्टेक की जब सेकंड
वैल्यू को लिखा ना तो उसको n - i - 1 नहीं
लिखा n - i - i लिख दिया तो इसको n - i -
1 लिख देते हैं ये मिस्टेक्स जो है वो
नहीं करनी होती तो कोई नहीं दोबारा इसको
रन कर लेते हैं इस बार प्रिंट हुआ है एरे
हमारा रिवर्स 5 4 3 2 1 तो हमारा एरे जो
है वो रिवर्स हो गया हमने क्रिएट क्या
किया था 1 2 3 4 5 प्रिंट हुआ है 54321 और
रिवर्स कैसे किया आधे एरे में लूप चला
दिया फर्स्ट वैल्यू को सेकंड वैल्यू के
साथ इंटरचेंज कर दिया फर्स्ट को लास्ट के
साथ सेकंड को सेकंड लास्ट के साथ अब एक
चीज इसमें हम नोटिस करेंगे कि ये कॉल बाय
वैल्यू हुआ या कॉल बाय रेफरेंस हुआ ये
फंक्शन जो कॉल लगाई हमने रिवर्स वाली कॉल
बाय रेफरेंस की कॉल है क्यों एक तो एरे जो
है ना एरे हमारा पॉइंटर होता है तो पॉइंटर
से ही कॉल बाय रेफरेंस हो जाती है दूसरा
हमने देखा कि रिवर्स को जब हमने कॉल लगाई
तो रिवर्स ने तो हमारे एरे को रिवर्स कर
दिया पर मेन फंक्शन के अंदर भी एरे रिवर्स
हो गया तो यह दिखाता है कि अरेज को जब भी
फंक्शन के अंदर पास करते हैं ना तो हमेशा
कॉल बाय रेफरेंस होता है तो एरे को आप
किसी और फंक्शन को दे देंगे और फिर वो
फंक्शन अगर उसमें कुछ चेंजेज कर देगा तो
वो चेंजेज आपके पास भी होंगे रिफ्लेक्ट
होकर आएंगे इसीलिए अरेज की वैल्यूज को
किसी भी फंक्शन के अंदर बहुत ध्यान से
चेंज करना होता है क्योंकि वो कॉलिंग
फंक्शन के अंदर भी रिफ्लेक्ट करेंगे अब
नेक्स्ट सवाल जिसकी बात करेंगे ये है राइट
अ प्रोग्राम टू स्टोर द फर्स्ट एंड फबो
नंबर्स फबो नंबर्स के बारे में ऑलरेडी बात
कर चुके फि बनाची सीक्वेंस कुछ ऐसा होता
है 0 1 1 2 3 5 8 13 हमारा 21 एंड सो ऑन
अब फिना नंबर की खास बात यह है कि अगर एथ
नंबर आपको निकालना है तो n - 1 प् n - 2
एथ नंबर को ऐड कर लो तो सबसे पहले हमें
बनाना है फोना नंबर जिसमें हम n फिना
स्टोर कर सके तो इसको बनाने के लिए एक एरे
की हेल्प लेंगे इस पूरे कोड को हम कर देते
हैं कमेंट आउट इसको भी कमेंट
आउट सबसे पहले बनाते एक इंटी जर ए ये इंटी
जर ए बताएगा कितने ए फिना नंबर चाहिए तो
यूजर से पूछ लेते हैं प्रिंट ए एंटर
ए स्कैन कर लेते ए की वैल्यू को परसेंटेज
डी एंड
ए ए को हमने स्टोर करा लिया अब क्या
करेंगे अब एक एरे बना लेंगे इस एरे को नाम
लेते हैं फिना और इसका साइज हम देंगे n के
बराबर यानी n नंबर्स इस फिना के अंदर
स्टोर्ड होंगे अब हमें पता है फिना ऑफ रो
रो होता है और फिना ऑफ वन हमेशा वन होता
है इस n को जब भी एंटर कराएंगे तो इस n की
वैल्यू को ध्यान रखेंगे n की वैल्यू
ग्रेटर दन वन हो या ग्रेटर दन टू हो तो
फिना रो जीरो होता है फिना और वन वन होता
है ये हमेशा ट्रू होता है इसको हमेशा लिख
लेना है तो इनको हमने लिख लिया है अब हमें
आगे की फिना कैलकुलेट करने है तो उसके लिए
एक लूप लगा लेते हैं लास्ट टाइम हमने क्या
किया था रिकर्ट से फिना कैलकुलेट किया था
इस बार लूप से कर रहे हैं और लूप से करना
और भी आसान होता है कैसे लूप चलाएंगे दो
से और इसको लेकर जाएंगे n
तक तो रो और वन के लिए तो हो गया अब टू के
लिए फिना कैलकुलेट करना शुरू करेंगे और
कहां तक कैलकुलेट करेंगे n-1 तक तो हर बार
फिना ऑफ आ क्या हो जाएगा फिना ऑफ आ - 1
प्स फिना ऑफ आ - 2 आई होप यह वाली जो लाइन
है ये समझ में आई होगी यह बहुत ही
इंपोर्टेंट लाइन है जोब फिनाज वाले टॉपिक
की बात करते हैं n वाला क्या होता था
n-1 प् n-2 तो आ वाला क्या होगा i -1 प् आ
-2 बस सिंपल सा कांसेप्ट है और फिर इसी को
करा देंगे हम
प्रिंट परसेंटेज डी ब
t फिना ऑफ i को करा दिया प्रिंट तो सबसे
पहले जब i की वैल्यू दो हो जाएगी यहां पे
कैलकुलेट होगा ़ + 1 तो फोनची ऑफ़ 2 हमारे
पास निकल कर आ जाएगा व उसके बाद फोनची ऑफ़
थ के लिए कैलकुलेट करेंगे तो वह हो जाएगा
ी तो वह हो जाएगा 1 + 1 तो वह आ जाएगा
हमारे पास दो उसके बाद फिना ऑफ़ 4 के लिए
कैलकुलेट करेंगे तो वह हो जाएगा हमारे पास
2 + 1 तो यह आ जाएगी वैल्यू 3 अब फिना ऑफ़
फाइव के लिए कैलकुलेट करेंगे तो वह हो
जाएगा थ्री यानी यह वाला थ्री और टू तो
उसकी वैल्यू आ जाएगी हमारे पास फाइव एंड
सो ऑन अब इसको रन करके देखते हैं हमें
एंटर करवाने हैं 10 फिना नंबर्स तो ये 10
फिना नंबर्स हमारे पास आ गए इसमें पहले
वाले दो प्रिंट नहीं हुए यानी रो और वन को
अभी हमने प्रिंट नहीं कराया उसके लिए अलग
से यहां पे प्रिंट स्टेटमेंट हम लगा सकते
हैं रो और वन के अलावा बाकी के आठ फिना
नंबर्स हैं पहले वन आ गया फिर टू आ गया
फिर थ्री आ गया फिर फाइव आ गया फिर एट आ
गया ये हो गए हमारे पांच फिर फिर सिक्स्थ
आ गया 13 सेवंथ आ गया 21 और एथ आ गया
हमारे पास 34 तो इस तरीके से हम डिफरेंट
डिफरेंट जो n की वैल्यू है उनके लिए
एक्स्ट्रा नंबर ऑफ फबो ची नंबर्स को
प्रिंट करवा सकते हैं और आई होप कि रिकर्स
से हमने कैसे कराया था और आइट से यानी लूप
से हमने कैसे कराया उन दोनों का डिफरेंस
हमें समझ में आया होगा नेक्स्ट सवाल जिसकी
बात करेंगे वो है क्रिएट अ 2d एरे
स्टोरिंग द टेबल्स ऑफ टू एंड थ्री मतलब दो
और तीन की हमें टेबल स्टोर करानी है तो
इसके लिए 2d एरे बनाना है वो एरे हमारा
कुछ ऐसा दिखेगा जिसके अंदर यहां पर तो हम
टू की टेबल स्टोर कराएंगे और यहां पे तीन
की टेबल स्टोर कराएंगे
0 1 2 3 4 5 6 7 8 9 तो इस तरीके से
टेबल्स को स्टोर कराने के लिए तो इसका
साइज अगर हम देखना चाहे क्या होगा तो हमें
दो एरे चाहिए और दोनों का साइज 10 चाहिए
10 तक मल्टीप्लिकेशन टेबल स्टोर करानी है
तो हमें बनाना पड़ेगा एक एरे इसको टेबल्स
नाम दे देते हैं एक इंटी जर 2d एरे जिसका
नाम टेबल्स और इसका साइज होगा 2 बा
10 जिसमें दो एरे बनेंगे और हर एरे का
साइज 10 होगा तो यह पहला एरे जिसका साइज
10 हैय दूसरा एरे जिसका साइज है 10 इसके
अंदर इस तरीके से हम वैल्यूज को स्टोर
करवा रहे
होंगे इसके लिए कोड लिख लेते हैं सबसे
पहले टेबल्स नाम का एरे क्रिएट कर लेते
हैं ूमा
10 अब एक फंक्शन बना लेते हैं टेबल्स को
स्टोर कराने के लिए
फंक्शन है वॉइड स्टोर टेबल इसके अंदर पास
करेंगे डी
एरे और उसका साइज सबसे पहले ए और फिर ए तो
यहां दो लूप लगे दो लूप लगाने वाले सबसे
पहला फॉर इंट आ इ 0 आ लेस ए आ प्लस प्लस
और अंदर लगेगा फॉर इंट ज इ 0 ज ले ए ज प्
प्
और एरे ऑफ आई ज के अंदर हम स्टोर करा रहे
होंगे वैल्यू तो लूप चलाएंगे फॉर इंट आ इ
0 आ ले ए आ प्स
प्स यहां पर ए लिख लेते हैं क्योंकि ए
हमारा रोज है ए हमारा कॉलम है जिस भी कॉलम
की हम बात कर रहे हैं तो एरे ऑफ n ए इ
इक्वल टू वो नंबर जिसकी हमें टेबल स्टोर
करानी है इंट नंबर य आ जाएगा नंबर
मल्टीप्ला बाय आ प्व यहां पर डिक्लेरेशन
में ऐड कर लेते हैं इंट नंबर अब मेन
फंक्शन के अंदर कॉल लगाएंगे स्टोर टेबल्स
को जिसके अंदर पास कर देंगे सबसे पहले
अपना एरे 2d एरे उसके बाद नंबर ऑफ रोज पास
करेंगे कौन सी रो के लिए हम प्रिंट करवाना
चाहते हैं सबसे पहले जीरो तो रो के लिए और
उसमें कॉलम है 10 और नंबर कौन सी टेबल
प्रिंट करवानी है टू इसी को कॉपी कर लेते
हैं और दोबारा से अब फर्स्ट रो में क्या
करवाना है टेबल प्रिंट करवानी है थ्री की
यहां पर एरे की जगह हम पास करेंगे अपना टे
टेबल्स वाला 2d एरे तो सबसे पहले हमने
क्या किया एक टेबल्स नाम का 2d एरे बनाया
जिसका साइज है 2/10 यानी दो अरेज हैं इसके
अंदर और हर एरे का साइज 10 है फिर एक
फंक्शन बनाया स्टोर टेबल के नाम से जो
किसी एक नंबर की टेबल स्टोर कराता है ये
डी एरे लेगा कौन से एरे की हम बात कर रहे
हैं यानी हमारी रो और कौन से कॉलम पर हमें
मतलब कौन से क्या सेकंड नंबर वाली टेबल
प्रिंट करवा रहे हैं थर्ड नंबर वाले नंबर
पर है या फोर्थ नंबर वाले पर और किस नंबर
की टेबल कि टू की टेबल पर करवानी है
प्रिंट थ्री की करवानी है फाइव की करवानी
है एक लूप हमने चलाया है जो रो से लेकर m
तक जाएगा यहां m की वैल्यू जो हम पास कर
रहे हैं वो 10 तो ये जो लूप है ये रो से
लेकर 10 तक जाएगा और सारी मल्टीप्लिकेशंस
करके टेबल स्टोर करवा देगा कौन से नंबर की
यहां पर नंबर हमने पास किया सबसे पहले टू
उसके बाद थ्री तो सबसे पहले टू जो है
मल्टीप्लाई होगा i + 1 के साथ क्योंकि
हमने जीरो बेस इंडेक्सिंग की है तो i की
वैल्यू जीरो है तो सबसे पहले ये वैल्यू
देगा हमें दो फिर चार फिर छह फिर आठ फिर
10 एंड सो ऑन तो ये सारी जो वैल्यूज हैं
एक-एक करके हमारे एरे के अंदर टेबल्स वाले
एरे के अंदर स्टोर हो जाएंगी जिसमें हमारा
जो रो है वो कांस्टेंट रहेगा क्योंकि n
हमने कांस्टेंट पास किया है रो पर कॉलम
चेंज होता रहेगा तो सबसे पहले जो वैल्यू
होगी वो होगी एरे ऑफ 00 फिर होगी एरे ऑफ
01 फिर होगी एरे ऑफ 02 फिर होगी एरे ऑफ 03
एंड सो ऑन तो इस तरीके से वैल्यू हमारी
चेंज होती रहेगी जिसमें हमारा यह जीरो जो
है वो कांस्टेंट रहेगा जब हम जीरो पास
करेंगे n को और n को वन पास किया तो हर
जगह हमारे पास वन आ जाएगा आई होप ये वाला
पार्ट हमारे पास क्लियर है कि हमारा n
कांस्टेंट है और m की वैल्यू जीरो से लेकर
10 तक जाएगी नंबर भी कांस्टेंट है नंबर
हमें बताया हुआ है क्या है कि टू की टेबल
प्रिंट करवानी है या थ्री की प्रिंट
करवानी है तो अब अपनी टेबल्स को हम
एक्चुअली मेन फंक्शन के अंदर लिख भी सकते
हैं यही सेम लूप एक बार कॉपी कर लेते हैं
यहां पर लिख देंगे जीरो प्रिंट
ए परसेंटेज डी ब
टेबल्स ऑफ 0 टू ए तो ये टू की टेबल प्रिंट
कर देगा एंड यह वाला जो लूप है यह थ्र की
टेबल प्रिंट कर देगा यहां पर m की जगह हम
रिप्लेस कर देंगे इसको 10 के
साथ और इसको कर लेते हैं सेव और करते हैं
फिर रन यहां पर m की जगह हर बार आ आने
वाला है क्योंकि m हमारा कांस्टेंट नहीं
है वो चेंज होता रहेगा जीरो से लेकर 10 तक
वैल्यू आएगी तो यहां पर हर बार आएगा आ अब
यहां पर जब भी हम इस कोड को देख रहे हैं
ना हमें कांस्टेंटली एक रेड लाइन नजर आ
रही है एरे के नीचे ये इसलिए हो रही है
क्योंकि जब भी हम 2d अरेज को पास करते हैं
ना फर्स्ट जो डायमेंशन होती है हमारी वो
तो एक पॉइंटर की तरह ट्रीट होती है पर
सेकंड डायमेंशन एक एक्चुअल एरे की तरह
ट्रीट होती है जिसमें हमें साइज देने की
जरूरत है तो जैसे सेकंड एरे है ना इसके
अंदर हमें साइज अपना डिफाइन करना पड़ेगा
10 नहीं तो ये रेड लाइन कभी जाएगी नहीं
यहां से अगर हम साइज नहीं बताते तो फिर
हमें एरर देता है कि कंपैटिबल टाइप्स नहीं
है अब इस कोड को करते हैं रन
तो हमारे पास जो आउटपुट निकल के आया वो
कुछ ऐसा है जिसमें सबसे पहले टेबल टू की
प्रिंट हो रही है 2 4 6 8 12 ये 20 तक एंड
उसके बाद तीन की टेबल प्रिंट हो रही है लद
ये हमें नेक्स्ट लाइन में प्रिंट करवानी
चाहिए थी तो यहां पर एक स्टेटमेंट दे देते
हैं प्रिंट f ब ए तो सबसे पहले टू की टेबल
प्रिंट हुई है फिर थ्री की टेबल प्रिंट
हुई है और टेबल्स को हमने प्रिंट कैसे
किया एक 2d एरे यानी टेबल्स के अंदर स्टोर
करवा के के हमने अपना स्टोर टेबल फंक्शन
कॉल किया उसके अंदर टेबल्स कैलकुलेट करके
स्टोर करवाई एंड अपने फंक्शन के अंदर
प्रिंट किया और क्या सीखने को मिला कि जब
भी 2d एरे को फंक्शन के अंदर पास करने है
सेकंड डायमेंशन हमेशा बताना है तो यह हमने
काफी सारी चीजें पढ़ ली है अरेज के अंदर
2d अरेज के अंदर कुछ सवाल आपको दिए होंगे
नोट्स आपको दिए होंगे उनको आप जाकर देख
सकते हैं एंड आई होप कि एरस के अंदर हमारी
एक स्ट्रांग ग्रिप जो है वो आ रही होगी
नेक्स्ट बढ़ते हैं हमारे नेक्स्ट चैप्टर
की तरफ जिसका नाम है स्ट्रक्चर्स एंड
स्ट्रिंग्स तो अब हम शुरुआत करने वाले हैं
अपने चप र ए के साथ जिसका नाम है
स्ट्रिंग्स स्ट्रिंग्स की अगर बात करें तो
स्ट्रिंग का मतलब होता है अ कैरेक्टर एरे
टर्मिनेटेड बाय अ नल कैरेक्टर यह जो बै
स्ल 0 हमने दिखाया हुआ है ये एक नल
कैरेक्टर है जैसे हम बै स्ल ए लिखते हैं
उसका मतलब होता है नेक्स्ट लाइन अगर हम
बैक स्लटी लिखते हैं उसका मतलब होता है
टैब स्पेस तो बैक स्ल जीरो का मतलब होता
है नल कैरेक्टर नल कैरेक्टर का काम होता
है किसी भी स्ट्रिंग को टर्मिनेट करना
यानी खत्म कर देना अभी तक हमने क्या बात
की है अभी तक हमने बात की है कि हमारे पास
कैरेक्टर्स होते हैं सी के अंदर और
कैरेक्टर क्या करता है एक सिंगल लेटर
स्टोर कर लेता है या एक सिंगल सिंबल स्टोर
कर लेता है पर मान लीजिए हमें एक वर्ड
स्टोर कराना है तो वर्ड को किस तरीके से
स्टोर कराएं या किसी सेंटेंस को किस तरीके
से स्टोर कराए वहां पे हमारी पिक्चर में आ
जाती है स्ट्रिंग्स स्ट्रिंग्स क्या करती
हैं इंग्लिश में जो वर्ड्स होते हैं या जो
सेंटेंसेस होते हैं जो पैराग्राफ होते हैं
हम उनको स्ट्रिंग डाटा टाइप में स्टोर करा
सकते हैं अब एक नॉर्मल जो कैरेक्टर एरे
होगा मान लीजिए हमने कैरेक्टर एरे नेम
बनाया उसके अंदर हम कुछ-कुछ चीजें डिफाइन
करेंगे ए बी सी ये तीन कैरेक्टर्स उसके
अंदर लिखे हुए हैं इसको तो हम कहेंगे
कैरेक्टर एरे पर एक ऐसा कैरेक्टर एरे
जिसमें लास्ट में हम एक नल कैरेक्टर भी
जोड़ दें तो वो दिखाएगा कि ये ए बी सी
अलग-अलग नहीं है ये साथ में जुड़कर एक
वर्ड बना रहे हैं तो ये मतलब होता है नल
कैरेक्टर को लास्ट में ऐड करने का तो
स्ट्रिंग क्या दिखलाती है स्ट्रिंग दिखाती
है हमें कि वो एक वर्ड को रिप्रेजेंट कर
रहा है कैरेक्टर एरे अब इसके कुछ
एग्जांपल्स देखें तो हमारे पास एक
कैरेक्टर एरे है जिसका नाम है नेम अब नेम
के अंदर हमने काफी सारे कैरेक्टर्स जो है
स्टोर करा रखे हैं पर एंड में हमने बै स्ल
0 से नल को भी स्टोर करा है तो यह एक
तरीके से रिप्रेजेंट करता है कि नेम
अलग-अलग कैरेक्टर्स का कॉमिनेशन नहीं है
नेम एक पूरा का पूरा वर्ड बनाता है और नेम
एक्चुअली इस वैल्यू की तरफ पॉइंट करता है
उसके बाद अगर क्लास को देखें तो क्लास अलग
नहीं है क्लास पूरा का पूरा वर्ड बनाती है
इन सारे कैरेक्टर्स को जोड़ के और वह वर्ड
कुछ ऐसा दिखता है जब भी हम स्ट्रिंग्स को
लिखते हैं तो हम एक तरीके से इस नल
कैरेक्टर को इग्नोर कर देते हैं पर
डिक्लेयर करते टाइम इस नल कैरेक्टर को
दिखाना जरूरी है क्योंकि कंपाइलर को पता
होना चाहिए कि वो एक नॉर्मल कैरेक्टर एरे
बना रहा है या फिर एक स्ट्रिंग ऑफ वर्ड्स
बना रहा है तो एक बार स्ट्रिंग को हम
डिक्लेयर करके देखते हैं अपने मेन फंक्शन
के अंदर कैरेक्टर नेम और इसके के अंदर हम
अपने डिफरेंट कैरेक्टर्स जो हैं उनको लिख
सकते हैं एच आर ए डी एच एंड ए और लास्ट
में ये जो नल कैरेक्टर है इसको डालना नहीं
भूलना क्योंकि अगर इसको हम नहीं डालेंगे
तो फिर ये नॉर्मल कैरेक्टर एरे की तरह
लेगा अब नॉर्मल कैरेक्टर एरे की तरह लेने
में क्या डिफरेंस है जब भी हम स्ट्रिंग्स
की बात करते हैं तो स्ट्रिंग्स के साथ
कुछ-कुछ ना स्पेशल प्रॉपर्टीज एसोसिएटेड
होते हैं और हमें ऑटोमेटिक कुछ-कुछ अच्छे
फंक्शंस भी मिल जाते हैं स्ट्रिंग्स के
ऊपर रन करने के लिए पर वो नॉर्मल कैरेक्टर
एरे के ऊपर नहीं हो वो सिर्फ स्ट्रिंग्स
के ऊपर ही होते हैं तो वो स्पेशल
कैरेक्टरिस्टिक वो स्पेशल प्रॉपर्टीज वो
स्पेशल फंक्शंस को एक्सेस करने के लिए
हमें नल कैरेक्टर का लगाना जरूरी होता है
तो यहां हमने नेम नाम की एक स्ट्रिंग को
इनिश इइ कर दिया है और उसके अंदर स्टोर
करवा दिया है अपना पूरा नाम विद अ नल
कैरेक्टर पर स्ट्रिंग को इनिश इज करने का
एक सिंगल तरीका नहीं होता दो तरीके होते
हैं सबसे पहला तरीका हमने ऑलरेडी देख लिया
जिसमें हम क्या कर रहे हैं अलग-अलग
कैरेक्टर्स को जोड़कर उसके एंड में एक नल
कैरेक्टर डाल देते हैं पर हम स्ट्रिंग को
पूरे वर्ड की तरह भी इनिशियलिज्म
को दोबारा से
इनिशियलिज्म कोट्स लगाए हैं और अंदर पूरा
का पूरा अपना नाम हमने लिख दिया है अब
यहां पे आप पूछ सकते हैं दीदी इसमें तो बै
स्ल 0 यानी नल कैरेक्टर आया ही नहीं तो
उसमें मैं बोलूंगी कि अगर ऐसे हम अपने
स्ट्रिंग को इनिशियलिज्म नल कैरेक्टर सी
कंपाइलर ऑटोमेटिक डाल देता है यानी आप
इतना लिखेंगे और सी क्या करेगा ऑटोमेटिक
पीछे बैक स्लैश जीरो को डाल देगा अब एक और
चीज यहां पे नोटिस करने वाली ये है कि जब
भी कैरेक्टर को लिखते हैं ना तो सिंगल
कोड्स के साथ लिखते हैं पर स्ट्रिंग को
लिखने के लिए हम डबल कोड्स को यूज करते
हैं तो ये डिस्टिंक्शन हमेशा याद रखनी है
अगर यहां सिंगल कोट्स लिखेंगे तो फिर
हमारे पास एरर आ रहा होगा क्योंकि ये
तरीका गलत है अब इस तरीके से भी अपनी
स्ट्रिंग को
इनिशियलिज्म वेरिएबल को हमें बनाना हो इसी
सेम स्ट्रिंग को बनाना हो तो इसको बनाएंगे
कुछ ऐसे तो ये हमारे पास एक स्ट्रिंग आ गई
जिसका नाम है नेम और जिसके अंदर स्टोर्ड
है हमारी एक्चुअल वैल्यू और इसके अंदर बै
स्ल 0 जो है वो हम डालने की जरूरत नहीं है
वो हमारा कंपाइलर ऑटोमेटिक हमारे लिए डाल
देगा इसका एक और एग्जांपल देखें तो जैसे
हमने एक क्लास वेरिएबल बनाया है एक क्लास
स्ट्रिंग बनाई है उसके अंदर हम अलग-अलग
डाल सकते हैं अपने कैरेक्टर्स को या फिर
सेम वर्ड्स की फॉर्म में डाल सकते हैं
जैसे कैरेक्टर क्लास इ इक्वल टू अपना
कॉलेज तो यहां प स्पेस भी हमारे पास
ऑटोमेटिक आ जाएगी यानी हमने बीच में स्पेस
दिया है तो ये स्पेस ऑटोमेटिक हमारी
स्ट्रिंग के अंदर आ रही है और बै स्ल 0 जो
है जो हमारा नल कैरेक्टर है वो हमारा
कंपाइलर ऐड करेगा नेक्स्ट हम बात करेंगे
कि जब भी हम एक स्ट्रिंग को डिफाइन करते
हैं तो मेमोरी के अंदर क्या होता है मतलब
हमने एक नॉर्मल कैरेक्टर एरे डिफाइन किया
और एक स्ट्रिंग को डिफाइन किया इन दोनों
में डिफरेंसेस क्या आते हैं मेमोरी की
फॉर्म में तो मान लीजिए हमने अपनी कोई
स्ट्रिंग डिफाइन की है इस फॉर्मेट में तो
क्या होगा मेमोरी के अंदर जितने भी हमने
कैरेक्टर्स लिए हैं उतने ब्लॉक्स जो हैं
वो सेव हो जाएंगे हम इन ब्लॉक्स को नाम दे
देंगे नेम जो भी हमारे वेरिएबल का नाम है
अब हर एक ब्लॉक के अंदर एक सिंगल कैरेक्टर
सेव होगा क्योंकि हर एक ब्लॉक का साइज है
एक बाइट जिसके अंदर सिंगल कैरेक्टर हमारा
सेव हो सकता है हर एक ब्लॉक का अपना कुछ
एड्रेस होगा और ये सारे के सारे एड्रेस जो
है वो कांटीगुअस हो गे क्यों क्योंकि
स्ट्रिंग मेमोरी के अंदर जाकर एक कैरेक्टर
एरे ही तो है तो कैरेक्टर एरे की मेमोरी
जो है वो कंटीन्यूअस होती है यानी लगातार
होती है तो स्ट्रिंग की जो मेमोरी है वो
भी लगातार होगी और हर एक मेमोरी ब्लॉक के
अंदर हम एक इंडिविजुअल कैरेक्टर को स्टोर
कराते हैं पर एक स्पेशल चीज इसमें यह होती
है कि एंड में एक नल कैरेक्टर को भी स्टोर
कराया जाता है यानी 2006 अगर मेमोरी
लोकेशन पे लास्ट लेटर आ गया तो 2007 भी
हमारी स्ट्रिंग का पार्ट होगा जिसके अंदर
हम बै स् 0 को स्टोर करा रहे होंगे व्हिच
इज आवर नल कैरेक्टर तो कुछ इस तरीके से
हमारी स्ट्रिंग जो है मेमोरी के अंदर
स्टोर होती है अब एक प्रैक्टिस क्वेश्चन
करके देख लेते हैं क्वेश्चन हमारा यह कहता
है कि क्र कट अ स्ट्रिंग फर्स्ट नेम एंड
लास्ट नेम यानी दो स्ट्रिंग्स यहां पे
बनानी है एक का नाम लेना है फर्स्ट नेम एक
का नाम लेना है लास्ट नेम टू स्टोर द
डिटेल्स ऑफ यूजर एंड प्रिंट ऑल द
कैरेक्टर्स यूजिंग अ लूप यानी हमें एक
स्ट्रिंग बनानी है फर्स्ट नेम नाम से
जिसके अंदर हम कोई भी वैल्यू स्टोर करा
सकते हैं जैसे मान लीजिए हमने स्टोर कराया
श्रद्धा फिर एक दूसरी स्ट्रिंग बनाएंगे
लास्ट नेम नाम से लास्ट नेम के अंदर भी
कोई हम वैल्यू स्टोर करा सकते हैं मान
लीजिए हमने स्टोर कराया खाप और अब हम इन
दोनों वैल्यूज को प्रिंट करवाएंगे लूप की
फॉर्म में लूप की फॉर्म में कैसे प्रिंट
करवाएंगे एक-एक कैरेक्टर को प्रिंट करवाते
रहेंगे तो लूप हमारा कब से कब तक चलेगा
लूप के अंदर कंडीशन ये आएगी कि जब तक
हमारा कैरेक्टर इज नॉट इक्वल टू नल
कैरेक्टर एक स्ट्रिंग पर हम बार-बार
बार-बार ट्रव्स कब तक कर सकते हैं सबसे
पहले जब तक हमारा नल कैरेक्टर नहीं आता
जैसे हमने अगर अपनी स्ट्रिंग ली है एस एच
आर ए डी एच ए तो ऑटोमेटिक इसमें लास्ट में
एक बैक स्लैश होगा तो सबसे पहले हम इस
कैरेक्टर पे आएंगे इसको प्रिंट करवा देंगे
फिर इस कैरेक्टर पे आएंगे इसको भी प्रिंट
करवा देंगे और इसी तरीके से एक-एक
कैरेक्टर हम आगे बढ़ते रहेंगे और अपनी
स्ट्रिंग के कैरेक्टर्स को करवाते रहेंगे
प्रिंट और यह काम जब तक करेंगे जब तक
हमारा कैरेक्टर जो है वो नल कैरेक्टर नहीं
हो जाता यानी एक सी पॉइंटर बना लेंगे या
एक आई बना लेंगे और ये आई आइट मेटर या स
आइट मेटर क्या करेगा ट्रव्स करेगा लूप लगा
के और जैसे ही स की वैल्यू बैक स् यानी नल
कैरेक्टर हो जाती है वैसे ही लूप हो जाएगा
खत्म और नल कैरेक्टर को हम प्रिंट नहीं
करवाएंगे और एंड में हमारी जो पूरी की
पूरी स्ट्रिंग होगी उसको हम प्रिंट करवा
चुके होंगे इसको एक बार कोड की हेल्प से
विजुलाइज करके देखते हैं कि होगा कैसे
सबसे पहले दो वेरिएबल बनाते हैं पहले
हमारा फर्स्ट नेम इसमें स्टोर करा लेंगे
अपनी वैल्यू फिर बनाएंगे अपना लास्ट नेम
इसमें भी स्टोर करा लेंगे अपनी वैल्यू अब
क्या करेंगे एक अलग से फंक्शन बना लेते
हैं अपनी स्ट्रिंग्स को प्रिंट करवाने के
लिए वॉइड प्रिंट स्ट्रिंग अब ये ये जो
स्ट्रिंग है इसको फंक्शन को कैसे पास करें
एक नॉर्मल कैरेक्टर एरे की तरह पास कर दो
यहां लिख देते हैं कैरेक्टर एरे और यहां
पे हमें साइज भेजने की जरूरत नहीं है रेखा
क्योंकि स्ट्रिंग की एक स्पेशल बात ये है
कि स्ट्रिंग वहां पे खत्म हो जाती है जहां
नल कैरेक्टर आ जाए नॉर्मल एरे के अंदर
हमें पता ही नहीं होता कि एरे के अंदर
एलिमेंट्स कितने हैं कहां तक वो चलता
रहेगा पर स्ट्रिंग के अंदर पता होता है कि
जैसे ही नल कैरेक्टर आ गया यानी हमारा
स्ट्रिंग खत्म हो चुका है तो यहां साइज
पास नहीं कराएंगे इस फंक्शन को लिख लेते
हैं वॉइड प्रिंट स्ट्रिंग जिसके अंदर आएगा
हमारे पास हमारा स्ट्रिंग अब अपने फंक्शन
के अंदर हम एक लूप बनाएंगे लूप की शुरुआत
करते हैं एक इंटी जर आ के साथ जो जीरो से
शुरू हो रहा है और हर बार आ जो है वो
हमारा प्लस प्लस होता रहेगा अभी इस वाली
कंडीशन को थोड़ी देर के लिए टाल देते हैं
और अंदर क्या करेंगे हर बार हम प्रिंट एफ
करके प्रिंट करवाने वाले हैं अपने
कैरेक्टर्स को कैसे कराएंगे प्रिंट
कैरेक्टर्स को एरे ऑफ आ की हेल्प से अब
हमें पता है कि एरे में किसी भी स्पेसिफिक
इंडेक्स पे जाके वैल्यू को कैसे निकालते
हैं एरे ऑफ आ कर देते हैं यानी स्क्वायर
ब्रैकेट्स लगाते हैं ये हमारी एरे नोटेशन
है इसको पॉइंट्स की हेल्प से भी कर सकते
हैं पर मुझे जो अरेज वाली नोटेशन होती है
अरेज वाली चीजें होती हैं वो ज्यादा सिंपल
लगती है एज कंपेयर टू पॉइंट्स तो अरेज की
हेल्प से करवाएंगे अब यहां पे कंडीशन क्या
रखनी है कंडीशन ये रखनी है कि जब भी एरे
के इंडेक्स पर नल पॉइंटर आ जाए वैसे ही आप
रोक दें वहां पे एग्जीक्यूशन तो ये लूप तब
तक चलेगा जब तक एरे के इंडेक्स पर नल
कैरेक्टर नहीं आता तो उसके लिए कंडीशन लिख
लेते हैं जब तक हमारा एरे ऑफ आ इज नॉट
इक्वल टू हमारा नल कैरेक्टर तो ये जो
कंडीशन है यह सबसे इंपॉर्टेंट है कि कब तक
हमारा लूप चलेगा अगर हम सारे के सारे
कैरेक्टर्स प्रिंट करवाने हैं तो जब तक
हमारे इंडेक्स पर नल कैरेक्टर नहीं आ जाता
जैसे ही नल कैरेक्टर आ गया मतलब हमारी
स्ट्रिंग जो है वो खत्म हो चुकी है एंड
में क्या करेंगे एंड में प्रिंट करवा
देंगे एक नेक्स्ट लाइन क्योंकि यहां तो
कैरेक्टर्स जो है एक के बाद एक के बाद एक
के बाद प्रिंट होंगे सेम लाइन में उसके
बाद एक नेक्स्ट लाइन प्रिंट करवा रहे हैं
अब मेन फंक्शन से इस फंक्शन को कॉल लगाते
हैं सबसे पहले कॉल लगाएंगे फर्स्ट नेम के
लिए प्रिंट स्ट्रिंग में पास कर देंगे
अपना फर्स्ट नेम उसके बाद कॉल लगा देंगे
अपने लास्ट नेम के लिए तो प्रिंट स्ट्रिंग
में पास कर देंगे अपना लास्ट नेम एक चीज
हमने ध्यान दी होगी कि यहां पे सिर्फ
कैरेक्टर एरे यानी अपनी स्ट्रिंग पास की
है स्ट्रिंग का साइज हमने पास नहीं किया
क्योंकि साइज की जरूरत नहीं ही नहीं है
हमें पता है हमारी स्ट्रिंग वहां खम होगी
जहां नल कैरेक्टर आ जाएगा यह नॉर्मल अरेज
में हमें नहीं पता होता तो इसको कर लेते
हैं सेव और इसको करवा देते हैं रन तो सबसे
पहले हमारी स्ट्रिंग फर्स्ट नेम प्रिंट हो
गई उसके बाद हमारी स्ट्रिंग लास्ट नेम
प्रिंट हो गई तो कुछ इस तरीके से हम अपनी
स्ट्रिंग को कैरेक्टर बाय कैरेक्टर प्रिंट
करवा सकते हैं लूप लगाना है एक और उसमें
लूप में स्पेशल चीज जो याद रखनी है वो ये
है कि जब तक नल कैरेक्टर नहीं आता नेक्स्ट
चीज जिसकी बात करेंगे वो है हमारा
स्ट्रिंग फॉर्मेट
स्पेसिफीज करवाया स्ट्रिंग को हमने प्रिंट
करवाया परसेंटेज सी यानी कैरेक्टर बाय
कैरेक्टर और अगर इनपुट भी लेनी हो
स्ट्रिंग तो कैसे इनपुट लेंगे कैरेक्टर
बाय कैरेक्टर ही इनपुट लेनी पड़ेगी तो और
कुछ तो पता ही नहीं है हमें कैरेक्टर्स
में पर एक स्पेशल फॉर्मेट स्पेसिफीज होता
है परसेंटेज s ये फॉर्मेट
स्पेसिफिसिटी स्ट्रिंग बनाई हुई है जिसमें
कोई वैल्यू स्टोर्ड है अब इसको हमें
प्रिंट करवाना है ना तो कैरेक्टर बाय
कैरेक्टर प्रिंट करवाने की जगह एक बहुत ही
आसान तरीका है वो है कि परसेंटेज s लिख लो
मतलब यह वाला फॉर्मेट
स्पेसिफाई तो ये सब तो हमारा प्रिंट एफ के
लिए हो गया पर अगर स्कैन एफ करना हो तो वो
भी ऑटोमेटिक हम कर सकते हैं परसेंटेज एस
से जैसे मान लीजिए हमने कोई स्ट्रिंग
डिफाइन की कैरेक्टर नेम के नाम से
स्ट्रिंग का मैक्सिमम साइज हमने 40 दे
दिया है अब इसको अगर हमें स्कैन करना है
तो स्कैन एफ परसेंटेज s और यहां लिख देंगे
नेम यहां नेम क्यों लिखा एड्रेस ऑफ नेम
क्यों नहीं लिखा क्योंकि नेम अल्टीमेटली
स्ट्रिंग क्या है कैरेक्टर एरे कैरेक्टर
एरे क्या होता है एरे हमेशा एक पॉइंटर
होता है तो स्ट्रिंग का जो नाम है वो खुद
में एक पॉइंटर है यानी नेम एक पॉइंटर है
तो यहां एंड नेम लिखने की जरूरत नहीं है
सिर्फ नेम काफी है तो इस तरीके से हम
परसेंटेज s से स्कैन एफ भी कर सकते हैं और
प्रिंट एफ भी कर सकते हैं दोनों का
एग्जांपल देख लेते हैं अपने मेन फंक्शन के
अंदर हम क्या करेंगे एक स्ट्रिंग बना
लेंगे कैरेक्टर नेम और इस स्ट्रिंग का कुछ
मैक्सिमम साइज देंगे मान लीजिए 50 अब सबसे
पहले तो स्कैनफ से इस नाम को इनपुट लेंगे
फिर प्रिंट एफ से इस नाम को आउटपुट दे
देंगे स्कैन एफ परसेंटेज ए और फिर नाम और
उसके बाद कर देंगे प्रिंट एफ परसेंटेज ए
योर नेम इज और यहां लिख देंगे नेम बस अब
ये पूरा का पूरा जो प्रिंट स्ट्रिंग
फंक्शन है ना ये एक सिंगल लाइन में आ गया
प्रिंट एफ की हेल्प से जब हमने उसमें
परसेंटेज s वाला फॉर्मेट स्पेसिफाई लगाया
इसको कर लेते हैं सेव और उसको दोबारा से
करते हैं रन तो अब सबसे पहले तो हमें अपना
नाम एंटर करना है तो नाम हमने एंटर कर
दिया और अब हमारे लिए पूरी की पूरी
स्ट्रिंग जो आ गई है योर नेम इज अपेंड हो
गया है और हमारी स्ट्रिंग ये रही हमारे
आउटपुट के अंदर तो परसेंटेज s हमेशा यूज
करना है जब भी स्ट्रिंग को स्कैन एफ और
प्रिंट एफ की हेल्प से इनपुट और आउटपुट
हमें कराना है अब इसमें एक स्पेशल चीज आप
पूछ सकते हैं कि द जब हमने श्रद्धा नाम
एंटर किया यहां पे जब स्कैनफ ने एक नाम
लिया तो उसमें बै स्ल 0 तो हमने डाला ही
नहीं तो कैसे बैक स्ल 0 उसने स्ट्रिंग ले
लिया इसको अब यहां पे हम एक चीज पूछ सकते
हैं कि दीदी जब हमने अपना नाम एंटर किया
तो बै स् 0 तो डाला ही नहीं तो फिर सी को
कैसे पता चला ये एक स्ट्रिंग है तो सी
क्या करती है ऑटोमेटिक जब भी आप परसेंटेज
s लगा देते हैं जो भी आप चीज एंटर करेंगे
उसके बाद बैक स् 0 यानी नल कैरेक्टर को
खुद से लगा देगी ऑटोमेटिक लग जाएगा तो
उसकी हमें टेंशन लेने की जरूरत नहीं है
सिर्फ अपने कैरेक्टर्स हमें इनपुट करने
हैं नेक्स्ट चीज करेंगे एक प्रैक्टिस
क्वेश्चन को सॉल्व इसमें दो पार्ट्स हैं
दूसरे पार्ट से हमें कुछ कुछ नई चीजें
रिलाइज होगी तो सबसे पहले पहले पार्ट से
शुरुआत करते हैं आस्क द यूजर टू एंटर देयर
फर्स्ट नेम एंड प्रिंट इट बैक टू देम ये
तो बहुत आसान है ये तो हमने ऑलरेडी कर भी
दिया है आई थिंक अब यहां पे बस वेरिएबल को
थोड़ा सा चेंज कर देते हैं इसको नाम दे
देते हैं फर्स्ट नेम इसको कर लेते हैं
कॉपी तो यह भी हो जाएगा हमारा फर्स्ट नेम
और यह भी हो जाएगा हमारा फर्स्ट नेम इसको
सेव करके एक बार दोबारा से रन कर लेते हैं
मान लीजिए इस बार फर्स्ट नेम हमने एंटर
किया है अमन तो यहां पे प्रिंट होके आ गया
योर नेम इज अमन अब सेकंड पार्ट इसका
ज्यादा इंटरेस्टिंग है सेकंड पार्ट में
लिखा है ट्राई दिस विद योर फुल नेम अभी तक
तो फर्स्ट नेम एंटर कराया था अब फुल नेम
एंटर कराओ यानी फर्स्ट नेम भी और लास्ट
नेम भी तो वो भी करा के देख लेते हैं इस
पार्ट को कर देते हैं कमेंट आउट और नई
स्ट्रिंग बनाते हैं कैरेक्टर फुल नेम ऑफ
100 कैरेक्टर्स सबसे पहले स्कैन एफ करेंगे
फुल नेम को परसेंटेज ए फुल नेम उसके बाद
प्रिंट कर देंगे योर फुल नेम इज़ परसेंटेज
s फुल नेम अब इसको कर लेते हैं सेव और
इसको करते हैं रन सबसे पहले तो हमें अपना
फुल नेम एंटर करना है एंटर पर यहां पे एक
चीज़ नोटिस करेंगे कि योर फुल नेम इज़ में
सिर्फ फर्स्ट नेम एंटर हुआ मतलब यह स्पेस
के बाद वाली जो भी चीज़ है ना इसने इनपुट
ही नहीं की तो यहां पे हम एक स्पेशल
प्रॉपर्टी सीखते हैं कि जो स्कैन एफ होता
है ना वह नहीं इनपुट कर सकता मल्टी वर्ड
स्ट्रिंग्स यानी अगर एक स्ट्रिंग के अंदर
आप एक से ज्यादा वर्ड डाल देंगे जैसे आप
डालेंगे दिस इज अ सेंटेंस तो वो सिर्फ इस
दिस को इनपुट कर पाएगा जैसे ही एक स्पेस आ
जाएगी और उसके बाद वाली चीज यह वाला पार्ट
हमारी स्ट्रिंग के अंदर एंटर नहीं होगा तो
स्कैन एफ का ये ड्रॉबैक होता है इसकी
कमजोरी होती है कि मल्टी वर्ड स्ट्रिंग्स
जो होती है ना जिनमें मल्टीपल वर्ड्स होते
हैं उनको एंटर ही नहीं कर पाता क्योंकि
स्पेसेस को नहीं ट्रैक कर पाएगा तो यहां
पे हम दो स्पेशल फंक्शंस का इस्तेमाल
करेंगे जिनमें से सबसे पहले है गेट एस और
फिर है पुट एस तो ये हमारी पिक्चर में आते
हैं अब गेट एस जो है थोड़ा सा डेप्रिसिएशन
हो गया तो इसकी जगह हम यूज़ करेंगे यहां
पे f गेटस इन तीनों को डिटेल में पढ़ते
हैं तो स्ट्रिंग के हमारे पास तीन फंक्शंस
आते हैं जब भी हम स्ट्रिंग को इनपुट और
आउटपुट कराना चाहते हैं परसेंटेज s तो है
ही वो हमारा फॉर्मेट
स्पेसिफाई स्कैनफ में कमजोरी आ जाती है कि
वो मल्टी वर्ड्स को एक्सेस नहीं कर पाता
मान लो हमारी स्ट्रिंग तो जी पूरा सेंटेंस
है या फिर पूरा पैराग्राफ है वो तो फिर आ
ही नहीं पाएगा कभी एंटर ही नहीं हो पाएगा
यूजर से तो वहां पे हम यूज़ करते हैं एक
फंक्शन व्हिच इज कॉल्ड गेटस गेटस क्या
करता है एक स्ट्रिंग को इनपुट ले लेता है
मतलब हम एक स्ट्रिंग डिफाइन कर देंगे
कैरेक्टर एसटी जिसका हम मैक्सिमम कोई साइज
दे देंगे 100 अब उस स्ट्रिंग को यहां पे
लिख देंगे तो गेटस हमारी स्ट्रिंग को
इनपुट कर लेगा और पुट एस क्या करेगा पुट
एस हमारी स्ट्रिंग को आउटपुट कर देगा यानी
सिंपली हमें लिखना है पुट s एसआर इससे
हमारी स्ट्रिंग आउटपुट हो जाएगी और अगर
इससे से पहले हम करें गेट एस एटीआर इससे
हमारी स्ट्रिंग इनपुट हो जाएगी पर यहां पे
जो गेट एस फंक्शन होता है ना ये डेंजरस
फंक्शन है और आउटडेटेड फंक्शन है इसकी वजह
से काफी सारे जो सॉफ्टवेयर्स हैं वो हैक
हो जाते हैं क्योंकि गेट एस ये ट्रैक नहीं
करता कि एटीआर का मैक्सिमम साइज क्या है
तो इसकी वजह से गेटस को आजकल यूज नहीं
किया जाता इवन सी के जो 11थ वर्जन है
उसमें गेटस को कंपलीटली हटा दिया है कोई
यूसेज नहीं है उसका तो मेरे सिस्टम पे
मैंने जो है लेटेस्ट सी इंस्टॉल किया था
अब एक बार करके भी देख लेते हैं कि कैसे
हमारे गेटस और पुट्स काम करेंगे हमने एक
नेम बनाया 100 का अब हम क्या करेंगे इसको
इनपुट लेंगे सबसे पहले तो सिर्फ लिख देंगे
गेट एस और एटीआर फिर लिख देंगे पुट एस और
एटीआर इसको कर लेंगे सेव इस नेम को चेंज
कर लेते हैं टू एटीआर अब इसको एक बार रन
करते हैं रन करते ही यहां वार्निंग आ गई
कि दिस प्रोग्राम यूसेज गेटस व्हिच इज
अनसेफ तो गेट एस को यूज नहीं करना चाहिए
परट स्टिल हम अपने स्ट्रिंग में कुछ डाल
देते हैं हेलो वर्ल्ड हमने डाला और हमारे
पास हेलो वर्ल्ड वापस से एकको होकर आ गया
तो क्या किया गेटस ने पूरा का पूरा हेलो
वर्ल्ड जो है वो ले लिया मतलब स्पेस के
बाद वाली चीज भी ली अब यहां पे हम क्या
करेंगे अपना फुल नेम एंटर करवा के देखेंगे
फुल नेम को कैसे एंटर करें सबसे पहले अपना
फर्स्ट नेम लिखेंगे फिर अपना लास्ट नेम
लिखेंगे इज अ गुड स्टूडेंट इनफैक्ट पूरी
लाइन लिख देते हैं तो अब पटेस्ट ने क्या
किया वो पूरी की पूरी लाइन जो है हमारे
पास प्रिंट करवा दी इस तरीके से जब भी
हमें मल्टी वर्ड सेंटेंसेस लेने होते हैं
ना या मल्टी वड स्ट्रिंग्स लेनी होती है
तो हम गेट एस और पुट एस का यूज करेंगे अब
गेट एस क्योंकि डेंजरस है थोड़ा सा
आउटडेटेड है तो उसकी जगह एक और दूसरा
फंक्शन होता है जिसका नाम है एफ गेटस एफ
गेट एस का ऐसा कुछ फॉर्मेट होता है ये
एक्स्ट्रा चीज है जो काफी सारे स्टूडेंट्स
को शायद कॉलेज के अंदर ना पढ़ाई जाए या अ
जनरली आपको ना दिखे पर मुझे लगा कि ये
वाली चीज मैं सिखाऊं तो उसके साथ मुझे ये
वाली चीज भी सिखानी चाहिए तो एफ गेट एस
में सबसे पहले हम डालते हैं अपनी स्ट्रिंग
जो भी स्ट्रिंग हमें एंटर करनी है फिर
साइज डाल देते हैं स्ट्रिंग का कि
मैक्सिमम कितने कैरेक्टर्स हम इनपुट कर
सकते हैं एंड उसके बाद डाल देते हैं अपनी
फाइल का नाम अब इस फाइल के नाम क्या है
यहां पे क्या डालना चाहिए इसको अभी के लिए
भूल जाते हैं और इस फाइल के नाम की जगह हम
डाल देंगे एसटीडी आई ए बस इतनी सी लाइन
लिखनी है इसको कहते हैं स्टैंडर्ड इनपुट
तो ये क्या है क्यों हम इसको लिख रहे हैं
इस पे अभी ध्यान नहीं देना बस एसडीडी आई ए
डाल दो जब भी एफ गेट एस यूज़ करना है तो
एफ गेट एस क्या करता है इट स्टॉप्स व्हेन
n -1 कैरेक्टर्स इनपुट और न्यू लाइन इज
एडिटेड यानी आप पूरा अपने वर्ड जो है
लिखते रहेंगे डिफरेंट डिफरेंट वर्ड्स
लिखते रहेंगे जैसे ही आप एंटर प्रेस कर
देंगे या जैसे ही आपके n -1 यहां पे जो
साइज दिया है उससे एक कम अगर आप लेटर्स
एंटर करेंगे तो वहीं पे आपका जो सेंटेंस
है आपका जो स्ट्रिंग है वो खत्म हो जाएगा
इसका भी एक बार एग्जांपल देख लेते हैं
यहां पे गेटस की जगह ना एफ गेटस कर देते
हैं एटीआर लिख देते हैं फिर एटीआर में लिख
देंगे 100 एंड उसके बाद लिखेंगे हम एसटीडी
आ इसको कर लेते हैं सेव और रन इस बार
दोबारा से अपना पूरा वर्ड एंटर करते हैं
वो वापस से आ गया अब ये जो पुट एस क्या
करता है पुस ऑटोमेटिक एक नेक्स्ट लाइन दे
देता है प्रिंट करने के बाद तो आपने
प्रिंट कर दिया जो भी आपको प्रिंट करना था
अब आपका कर्सर नेक्स्ट लाइन पे आ गया और
सिंस फिर रिटर्न जरो हो गया तो यहां पे
प्रोग्रामिंग हमारी खत्म हो गई तो जब भी
पुट एस्ट डाल रहे हैं तो हमें बैक स्लैश
एंड करने की जरूरत नहीं है क्योंकि
नेक्स्ट लाइन ऑटोमेटिक आ जाएगा तो कुछ इस
तरीके से हमारे गेट एस पुट एस और एफ गेटस
काम करते हैं नेक्स्ट चीज जिसको सीखेंगे
वो काफी सीखी सिखाई चीज है जैसे हमारे एरे
पॉइंट्स होते थे वैसे ही हमारी स्ट्रिंग्स
भी पॉइंट्स होती हैं क्योंकि इसके पीछे
बहुत लॉजिकल आंसर है एरे अगर पॉइंटर है तो
स्ट्रिंग भी क्या है स्ट्रिंग भी तो एक
कैरेक्टर एरे है तो अल्टीमेटली वो भी एक
पॉइंटर है बहुत इजी चीज जैसे हम अपने ए
अरेज के लिए क्या करते थे हमने एक इंट नाम
का एरे बनाया इसको हम ऐसे भी बना सकते हैं
इसमें साइज लिख देंगे या इसको हम ऐसे भी
बना सकते हैं वैसे ही हम अपनी स्ट्रिंग को
एरे नोटेशन से भी बना सकते हैं और पॉइंटर
नोटेशन से भी बना सकते हैं अगर स्ट्रिंग
को हमें पॉइंटर नोटेशन से बनाना है तो
उसके लिए क्या करेंगे इसके लिए सिंपली
लिखेंगे कैरेक्टर पॉइंटर और फिर लिखेंगे
एटीआर या जो भी हम अपने स्ट्रिंग का नाम
रखना चाहते हैं एंड उसके बाद हमारी पूरी
की पूरी स्ट्रिंग तो इट स्टोर्स स्ट्रिंग
इन द मेमोरी एंड द असाइन एड्रेस इज
स्टोर्ड इन द कैरेक्टर पॉइंटर एसडीआर तो
ये हेलो वर्ल्ड जो है हमारी मेमोरी के
अंदर पूरा का पूरा हमारा हेलो वर्ल्ड
स्टोर हो जाएगा जिसके एंड में हमारे पास
बै स्ल 0 आ जाएगा और फिर इसका जो एड्रेस
है यानी फर्स्ट इंडेक्स का एड्रेस इस
इंडेक्स का एड्रेस ये पॉइंट करवा रहा होगा
एसडीआर इस एड्रेस की तरफ तो हमारी जो
स्ट्रिंग है वो अल्टीमेटली एक पॉइंटर है
क्योंकि वो खुद में कैरेक्टर एरे है अब
कैरेक्टर एरे और पॉइंटर के बीच में एक
फंडामेंटल डिफरेंस आता है वो डिफरेंस क्या
कहता है वो डिफरेंस कहता है अगर आप पॉइंटर
की हेल्प से एक स्ट्रिंग को डिफाइन करते
हैं ना तो स्ट्रिंग को री इनिश इज कर सकते
हो मतलब उस स्ट्रिंग की वैल्यू चेंज कर
सकते हो जैसे आज अगर हमने स्ट्रिंग के
अंदर हेलो वर्ल्ड स्टोर कराया तो कल को हम
स्ट्रिंग के अंदर सिर्फ हेलो भी स्टोर करा
सकते हैं और उसके बाद उसकी वैल्यू चेंज
करके सिर्फ वर्ल्ड भी स्टोर करा सकते हैं
पर अगर हमने एरे नोटेशन यूज करी तो उसके
अंदर हमेशा हेलो वर्ल्ड ही रहेगा उसको हम
री
इनिशियलिज्म
डिफाइन करें सबसे पहली स्ट्रिंग बनाते हैं
तो इसको हम बनाएंगे एक कैरेक्टर पॉइंटर के
हिसाब से कैन चेंज इसमें हम डाल देंगे
हेलो वर्ल्ड अब इसको प्रिंट करवा लेते हैं
पुस से यहां पे लिख देते हैं कैन चेंज एंड
उसके बाद इस स्ट्रिंग को चेंज भी कर देते
हैं तो स्ट्रिंग को जैसे ही चें च करेंगे
इसको मान लीजिए हमने हेलो बना दिया उसके
बाद दोबारा से इसको पुस कर देते हैं कैन
चेंज इसको सेव करके करा लेते हैं रन तो
सबसे पहले हमारी स्ट्रिंग थी हेलो वर्ल्ड
इस लाइन ने क्या किया पुस ने हेलो वर्ल्ड
प्रिंट कर दिया फिर हमने चेंज करके उसको
हेलो कर दिया तो इसने क्या किया फिर हेलो
प्रिंट कर दिया क्योंकि पॉइंट्स की वैल्यू
चेंज हो सकती है अब हम एक दूसरी स्ट्रिंग
बनाएं अगर कैरेक्टर कैन नॉट चेंज तो कैन
नॉट चेंज को इस तरीके से हम डिफाइन कर
सकते हैं इसमें भी हेलो वर्ल्ड डाल देंगे
हेलो वर्ल्ड डाल के इसको तो पटेस्ट करा
सकते हैं हम कैन नॉट चेंज पर अगर हम कैन
नॉट चेंज की वैल्यू कल को करना चाहे हेलो
तो अब यह सी का कंपाइलर हमें करने नहीं
देगा और रेड लाइन दिखा देगा क्यों क्योंकि
एक्सप्रेशन मस्ट बी अ मॉडिफाई बल वैल्यू
हमारा जो कैरेक्टर एरे होता है जब एरे
नोटेशन आ जाती है तो उसको मॉडिफाई नहीं कर
सकते हम वो वैल्यू वैसी की वैसी रहेगी पर
अगर मॉडिफाई करना था चेंज करना था तो आपको
कैरेक्टर पॉइंटर यूज करना चाहिए था तोय
हल्का सा डिफरेंस आ जाता है जब भी आप
स्ट्रिंग को एक कैरेक्टर पॉइंटर या फिर
एरे नोटेशन से डिक्लेयर करते हैं नेक्स्ट
चीज इसकी बात करेंगे इसमें हमें क्वेश्चन
नंबर 49 सॉल्व करना है मेक अ प्रोग्राम
दैट इनपुट यूजर्स नेम यूजर का नेम इनपुट
करता है और उसकी लेंथ प्रिंट कराता है एक
स्ट्रिंग लेनी है यूजर से जिसका नाम होगा
यूजर का नाम और फिर उसकी लेंथ हम इनपुट
करा देंगे जैसे फॉर एग्जांपल हम एक
स्ट्रिंग बनाते हैं कैरेक्टर नेम मान
लीजिए स्ट्रिंग जो है 100 साइज की हो सकती
है तो सबसे पहले तो एफ गेटस से स्ट्रिंग
को इनपुट ले लेंगे लिखेंगे नेम 100 एंड
उसके बाद एसटीडी इन या सिंपलीसिटी के लिए
इसमें ना हम सिर्फ फर्स्ट नेम डालेंगे
लास्ट नेम नहीं डालेंगे क्योंकि फिर बीच
में एक स्पेस भी आ जाता है तो स्पेस वाला
झंझट नहीं रखेंगे सिर्फ फर्स्ट नेम
डालेंगे अब हमें इसकी लेंथ प्रिंट करवानी
है तो मान लीजिए यूजर ने इनपुट किया हमारे
पास एस एच आर एडी ए और कंपाइलर ने
ऑटोमेटिक इसके पीछे बैक स्लैश 0 लगा दिया
तो हमें प्रिंट क्या करवाना है प्रिंट
करवाना है हमें 1 2 3 4 5 6 7 इस बैक्स
लास्ट जीरो को काउंट नहीं करेंगे तो लेंथ
जो आनी चाहिए प्रिंट होके वो आनी चाहिए
हमारे पास सेन अगर यूजर ने एंटर किया अमन
इसमें भी बैक स्लश जीरो आएगा लेंथ हमारे
पास क्या आनी चाहिए लेंथ आनी चाहिए हमारे
पास फोर तो नल कैरेक्टर को काउंट नहीं
करना है बाकी सारे कैरेक्टर्स को मिला के
कितने लेंथ की हमारे यूजर का नाम है वो
हमें प्रिंट करवाना है तो एक प्रोग्राम
बनाते हैं सबसे पहले तो नेम नाम का एक
स्ट्रिंग बना लेते हैं उसके बाद इसको कर
लेते हैं एफ गेटस नेम 100 एसटीडी इन अब
ऊपर एक फंक्शन बना लेते हैं जो लेंथ को
काउंट करेगा काउंट लेंथ इसमें पास कर रहे
होंगे हम अपना कैरेक्टर नेम या कैरेक्टर
एरे कह देते हैं जरूरी नहीं है कल को हो
सकता है कि हमें अगर कोई सेंटेंस है उसकी
लेंथ निकालनी हो तो उसके लिए भी इस फंक्शन
को यूज कर सकते हैं तो जरूरी नहीं है ये
सिर्फ नेम की लेंथ कैलकुलेट करें या किसी
भी स्ट्रिंग की लेंथ या किसी भी कैरेक्टर
की लेंथ को कैलकुलेट कर सकता है तो इस
फंक्शन को कर लेते हैं डिफाइन वॉइड
इनफैक्ट यहां से हमारी जो लेंथ है वो
रिटर्न हो जाएगी तो इंट लिख देते हैं इंट
काउंट लेंथ कैरेक्टर
एरे अब हमें तब तक कैरेक्टर्स को काउंट
करते रहना है लेंथ के लिए जब तक हमारा नल
कैरेक्टर नहीं आ जाता तो इस तरीके का लूप
तो हमने ऑलरेडी बनाया हुआ है जब स्ट्रिंग
को प्रिंट करवाया था कैरेक्टर बाय
कैरेक्टर तो क्या किया था एक तरीके से हर
कैरेक्टर पे गए थे जब तक नल नहीं आ जाता
तो यहां भी हर कैरेक्टर प जाएंगे जब तक नल
नहीं आ जाता तो एक वेरिएबल बना लेते हैं
काउंट जो जीरो से शुरू होगा और फिर एक लूप
लिखते हैं फॉर इंट आ = 0 जब तक हमारे एरे
ऑफ आ इज नॉट इक्वल टू हमारा नल कैरेक्टर
तब तक हम आई को करते रहेंगे प्लस प्लस तो
आई होप ये अंडरस्टूड होगा कि आई की शुरुआत
हम करेंगे जीरो के साथ तब तक बढ़ते जाएंगे
जब तक नल कैरेक्टर नहीं आता आ को करते
रहेंगे प्लस प्लस अब हर बार हम क्या
करेंगे काउंट को भी प्लस प्लस कर देंगे तो
काउंट को भी हमने हर बार प्लस प्लस किया
क्यों क्योंकि जब तक नल कैरेक्टर आएगा तब
तक काउंट भी तो प्लस प्लस होते रहेगा
क्योंकि हम सारे कैरेक्टर्स को काउंट कर
रहे हैं और एंड में अपने काउंट को कर
देंगे रिटर्न अपने मेन फंक्शन से इसको कॉल
लगाते हैं प्रिंट एफ के साथ परसेंटेज डी
लेंथ
इज काउंट लेंथ जिसमें पास कर देंगे अपना
नेम इसको कर लेते हैं सेव एंड रन सबसे
पहले तो हमें अपनी स्ट्रिंग एंटर करनी है
स्ट्रिंग एंटर की तो लेंथ हमारे पास आ गई
एक इसने क्या किया लेंथ में अभी नल
कैरेक्टर को भी काउंट कर लिया है कैसे
काउंट किया नल कैरेक्टर को क्योंकि काउंट
जो है पहले ही प्लस प्लस हो रहा है मतलब
जब भी इस फंक्शन के अंदर हम काउंट को भेज
रहे हैं ना तो काउंट की वैल्यू वैसे ही
बढ़ रही है जैसे i की वैल्यू बढ़ रही है
अब i एंड में जो है प्लस प्लस होके नल
कैरेक्टर को तो काउंट कर ही लेता है
इसीलिए लास्ट में हमें काउंट - 1 रिटर्न
करने की जरूरत है तो काउंट -1 हम रिटर्न
करेंगे तभी सही काउंट हमारे पास आएगा अब
नाम भेजते हैं तो अब प्रिंट हुई लेंथ सेवन
दोबारा से इसको रन करें अब अलग नाम
भेजेंगे तो लेंथ फोर प्रिंट हुई है तो इस
तरीके से हमारे पास कोई भी स्ट्रिंग हो
उसकी हम लेंथ कैलकुलेट कर सकते हैं खुद से
अपना एक फंक्शन बना सकते हैं कैरेक्टर बाय
कैरेक्टर जाना है और चीजें चेक कर लेनी है
अगर मान लीजिए इस स्ट्रिंग के अंदर हमें
चेक करना होता कि जो भी नाम एंटर कर रहा
है यूजर उसके अंदर आई कितनी बार आता है या
h कितनी बार आता है उसको भी हम कैरेक्टर
बाय कैरेक्टर लूप लगाते हैं और चेक करते
हैं कि कौन सा कैरेक्टर h के बराबर है और
उस काउंट को फिर प्लस कर लेते हैं तो इस
तरीके से काफी सारे केसेस बन सकते हैं
काफी सारे सवाल बन सकते हैं जो आपके
इंटरव्यूअर आपको अलग तरीके से दे सकते हैं
या फिर कॉलेज वाले अलग तरीके से दे सकते
हैं पर तरीका क्या है कैरेक्टर बाय
कैरेक्टर जाओ लूप में एंड में क्या कंडीशन
लगानी है जब तक नल कैरेक्टर के इक्वल नहीं
होता सारे के सारे ऑलमोस्ट 80 पर सवाल
स्ट्रिंग में ऐसे ही सॉल्व होते हैं
जिसमें हमें स्ट्रिंग के अंदर कोई
पर्टिकुलर चीज चेक करनी होती है नेक्स्ट
बात करते हैं स्टैंडर्ड लाइब्रेरी फंक्शंस
के बारे में अब ऑलरेडी हमने मैथड ए नाम की
एक क्लास के बारे में पढ़ा था जिसमें हमने
पाव नाम का एक फंक्शन पढ़ा था पावर जो
क्या करता था n की पावर m हमें रिटर्न
करके देता था तो उसमें ये मैथड ए हमारी एक
स्टैंडर्ड लाइब्रेरी थी जिसके अंदर मैथ के
फंक्शन थे वैसे ही सी के अंदर एक
स्टैंडर्ड लाइब्रेरी होती है जिसमें
स्ट्रिंग के फंक्शन होते हैं इसको हम नाम
देते हैं स्ट्रिड ए और इसके फंक्शन यूज़
करने हैं तो इसको ऊपर इंक्लूड करना पड़ता
है सबसे पहला फंक्शन जिसकी हम बात करेंगे
वह है स्ट्रिंग लेंथ अभी जो हमने बड़ा सा
फंक्शन लिखा ना जिसमें हम एक-एक एक-एक
करके कैक्ट पे गए और लेंथ कैलकुलेट करी यह
ऑलरेडी बना हुआ फंक्शन है इसको हमें
दोबारा बनाने की जरूरत नहीं है तो
स्ट्रिंग डॉट लेंथ एक फंक्शन है जिसमें हम
अपनी स्ट्रिंग को लिख देते हैं और ये हमें
काउंट करके दे देता है टोटल नंबर ऑफ
कैरेक्टर्स अब ये काउंट नंबर ऑफ
कैरेक्टर्स करता है पर एक्सक्लूड कर देता
है नल कैरेक्टर को तो जैसे हमने अभी नल
कैरेक्टर को नहीं गिना वैसे ही ये भी नल
कैरेक्टर को नहीं गिनता तो ये इंपॉर्टेंट
चीज है जो हमें याद रखनी है कि हमारा
स्ट्रिंग लेंथ नल कैरेक्टर को नहीं गिनता
हमें टोटल नंबर ऑफ कैरेक्टर रिटर्न करके
देता है एक बार देख लेते हैं अपनी लेंथ को
काउंट करके इस बार नेम को यहीं पे ही
डिफाइन कर लेते हैं नेम में हमने डाला
श्रद्धा और इस बार हम काउंट लेंथ की जगह
कॉल लगाएंगे एटीआर ए स्ट्रिंग लेंथ को ऊपर
इंक्लूड कर लेते हैं अपनी हेडर फाइल
इंक्लूड स्ट्रिंग ड
ए कर लेते हैं सेव यहां पे हमने स्ट्रिंग
लेंथ को कॉल लगाई है जिसमें अपना नेम हमने
पास किया है अब रन कर लेते हैं कोड को अब
एक्चुअली ये जो एसटीआरएल है ना स्ट्रिंग
लेंथ ये हमें रिटर्न करता है अनसाइंड
लॉन्ग मतलब ये इंटी जर वैल्यू रिटर्न नहीं
करता है लेंथ की अनसाइंड लॉन्ग रिटर्न
करता है पर इसको हम टाइप कास्ट भी कर सकते
हैं यानी एक वेरिएबल बना लेंगे लेंथ और इस
लेंथ में स्टोर करा लेंगे स्ट्रिंग लेंथ
का आउटपुट तो वो इंटी जर टाइप का बन जाएगा
और फिर इस लेंथ नाम के वेरिएबल को करा
लेते हैं प्रिंट दोबारा से कंपाइल एंड रन
तो लेंथ इ सेवन हमारे पास आउटपुट होकर आ
गया है अब अगर हम अपनी स्ट्रिंग चेंज कर
दें मान लीजिए दूसरा नाम हम यहां पे लिख
देते हैं तो दोबारा से क्या होगा हमारी
लेंथ जो है वो कैरेक्टर्स का जो नंबर है
वो सारा का सारा ऐड हो ग आ जाएगा यानी
लेंथ अब फोर हो जाएगी अब नेक्स्ट
लाइब्रेरी फंक्शन जिसकी बात करेंगे वो है
हमारा स्ट्रिंग कॉपी स्ट्रिंग कॉपी क्या
करता है इसको एटीआर सीपीवाई लिखते हैं
इसमें दो आर्गुमेंट पास होते हैं पहला
आर्गुमेंट है हमारी नई स्ट्रिंग दूसरा
आर्गुमेंट है हमारी ओल्ड स्ट्रिंग तो इट
कॉपीज द वैल्यू ऑफ ओल्ड स्ट्रिंग टू द
न्यू स्ट्रिंग मान लीजिए हमने दो स्ट्रिंग
बनाई है पहली है हमारी कैरेक्टर एसआर 1
इसके अंदर हमने लिखा हु है हेलो और दूसरी
है हमारी कैरेक्टर एसआर 2 इसके अंदर हमने
लिखा है वर्ल्ड अब यह हमारी नई स्ट्रिंग
यह है हमारी ओल्ड स्ट्रिंग अगर हम एसआर
सीपीवाई कॉल करें जिसमें सबसे पहले पास
करें अपना एटीआर वन और फिर पास करें अपना
एटीआर 2 तो हमारे एसआर व की वैल्यू चेंज
होकर हेलो से बन जाएगी वर्ल्ड यानी पुराने
वाली वैल्यू इसके अंदर कॉपी हो जाएगी
सेकंड वाली जो स्ट्रिंग है उसकी वैल्यू
फर्स्ट के अंदर कॉपी हो जाएगी देखते हैं
किस तरीके से रन करता है कोड के अंदर दो
स्ट्रिंग्स हम बनाएंगे सबसे पहली होगी
हमारी ओल्ड
स्ट्रिंग उसमें स्टोर करा देंगे ओल्ड
स्ट्रिंग फिर बनाते हैं अपना नई स्ट्रिंग
इसमें स्टोर करा देते हैं न्यू स्ट्रिंग
अब कॉल करते हैं एसटीटीआर सीपीवाई जिसमें
सबसे पहले पास करेंगे हमारी नई स्ट्रिंग
एंड देन ओल्ड स्ट्रिंग और अब प्रिंट
कराएंगे वैल्यू ऑफ न्यू स्ट्रिंग इसको कर
लेते हैं सेव एंड रन तो जैसे ही हमने न्यू
स्ट्रिंग को प्रिंट करवाया हमारे पास ओल्ड
स्ट्रिंग प्रिंट हुआ न्यू स्ट्रिंग प्रिंट
नहीं हुआ क्योंकि स्ट्रिंग कॉपी ने क्या
किया ओल्ड स्ट्रिंग की वैल्यू ली और नई
स्ट्रिंग में कॉपी कर दी तो नई स्ट्रिंग
की वैल्यू अल्टीमेटली चेंज हो गई और अब
हमारे पास वो चेंज्ड वैल्यू प्रिंट होकर आ
गई है तो इस तरीके से हमारा स्ट्रिंग कॉपी
काम करता है नेक्स्ट लाइब्रेरी फंक्शन
जिसकी बात करेंगे वो है स्ट्रिंग
कॉन्कैटिनेट यहां पे वैसे हम सारे
इंपॉर्टेंट लाइब्रेरी फंक्शंस की बात कर
रहे हैं तो सिर्फ चार ही डिस्कस करेंगे
वैसे स्ट्रिंग ड ए के अंदर बहुत सारे
लाइब्रेरी फंक्शंस होते हैं तो आपके लिए
होमवर्क ये रहेगा कि जाकर खुद से बाकी के
सारे लाइब्रेरी फंक्शंस को एक्सप्लोर करना
है google-translate
नो स्पेस हां अगर हेलो के बाद आपने स्पेस
छोड़ा हुआ है तो फिर बीच में स्पेस आएगा
पर खुद से कोई स्पेस ऐड नहीं होता दोनों
वर्ड बिल्कुल चिपक जाते हैं आके और एक नई
स्ट्रिंग बना लेते हैं इसको हम कहते हैं
कॉन कैटिनेशन ये शब्द आपको बार-बार
बार-बार सुनने को मिलेगा अगर आप
प्रोग्रामर हैं कोडर हैं नई लैंग्वेजेस आप
सीखने जाएंगे सी के बाद तो तो शब्द को
भूलना नहीं है तो स्ट्रिंग कॉन्कैटिनेट एक
फंक्शन है जिसके अंदर हम पहली स्ट्रिंग
पास करेंगे और सेकंड स्ट्रिंग पास करेंगे
और ये कंकट कर देता है फर्स्ट स्ट्रिंग
विद सेकंड स्ट्रिंग जैसे अगर हमने फर्स्ट
स्ट्रिंग मान लीजिए बनाई है हेलो और सेकंड
स्ट्रिंग हमने बनाई है वर्ल्ड तो अगर हम
यह फंक्शन कॉल करेंगे तो उसके बाद फर्स्ट
स्ट्रिंग की वैल्यू चेंज होकर हो जाएगी
हेलो वर्ल्ड के इक्वल तो एक तरीके से क्या
हुआ स्ट्रिंग कॉन्कैटिनेट ने सेकंड
स्ट्रिंग को लिया और उसको फर्स्ट स्ट्रिंग
के बाद जोड़ दिया तो फर्स्ट ट्रिंग की
वैल्यू इसके बराबर होगी अब एक स्पेशल चीज़
हमें यहां पे ध्यान रखने की जरूरत है कि
फर्स्ट स्ट्रिंग की कैपेसिटी होनी चाहिए
दोनों स्ट्रिंग को स्टोर कराने की यानी
फर्स्ट स्ट्रिंग का अगर साइज फर्स्ट
स्ट्रिंग की लेंथ लेंथ वन प्लस लेंथ टू के
बराबर है या इससे बड़ा है तभी हम वो
वैल्यू जो है उसके अंदर स्टोर करा पाएंगे
नहीं तो एरर आ जाएगा तो इस स्ट्रिंग को
फर्स्ट स्ट्रिंग को जब भी डिक्लेयर करेंगे
इसका साइज कुछ हमें बड़ा देना पड़ेगा एक
बार इसको एक्चुअली कोड में लिखकर देखते
हैं इसको कर लेते हैं कॉमेंट आउट सबसे
पहले बनाते हैं एक कैरेक्टर स्ट्रिंग
फर्स्ट स्ट्रिंग जिसका साइज हम 100 दे
देते हैं इसके अंदर स्टोर करा रहे हैं
हेलो विद अ स्पेस फिर बनाते हैं एक और
स्ट्रिंग सेकंड स्ट्रिंग इसमें हमें साइज
देने की जरूरत नहीं है इसमें हम स्टोर
कराते हैं वर्ल्ड और अब क्या करेंगे एटीआर
सीपीवाई जिसमें पास करेंगे पहले फर्स्ट
स्ट्रिंग फिर पास करेंगे सेकंड स्ट्रिंग
और फिर प्रिंट कर देंगे अपनी फर्स्ट
स्ट्रिंग को यूजर के पास इसको कर लेते हैं
सेव एंड
रन तो रन करके आउटपुट में हमारे पास अभी
सिर्फ वर्ल्ड आया क्योंकि हमने एसटीटीआर
सीपीवाई कॉल किया है जबकि हमें कंकट नेट
करना था तो एटीआर सीटी कंकट के लिए कॉल
लगाते हैं अब हमारे पास पूरा का पूरा हेलो
वर्ल्ड प्रिंट होके आया है हेलो वर्ल्ड
कैसे आया ये वाला हेलो तो फर्स्ट स्ट्रिंग
में था ही अब हमने वर्ल्ड को फर्स्ट
स्ट्रिंग के बाद कॉन्कैटिनेट कर दिया
अपेंड कर दिया पर अगर मान लीजिए यहां पे
हम ये 100 नहीं लिखते सिर्फ इतना लिखते तो
क्या होता तो एक बार प्रोग्राम को रन करके
देखते हैं तो हमारे पास एरर आ जाता और
प्रोग्राम कभी एग्जीक्यूट ही नहीं करता
क्यों क्योंकि जब हमने फर्स्ट स्ट्रिंग को
बिना साइज के डिक्लेयर किया तो उसने साइज
इसके बराबर लिया जिसमें 1 2 3 4 5 6 तो
फर्स्ट ट्रिंग का साइज अभी सिक्स है सिक्स
के अंदर हम वर्ल्ड को फिट इन ही नहीं कर
सकते पर जब हमने फर्स्ट स्ट्रिंग का साइज
100 दे दिया तो अब मतलब हेलो तो उसके अंदर
है ही उसके बाद और खाली जगह भी पड़ी हुई
है तो उसके अंदर हम वर्ल्ड को लाके जोड़
सकते हैं तो जब भी कंकट ट करना है ये
इंश्योर करना है कि पहली स्ट्रिंग के अंदर
हमारे पास कुछ स्पेस खाली हो जिसके अंदर
दूसरी स्ट्रिंग आकर जुड़ सके नेक्स्ट
लाइब्रेरी फंक्शन जिसकी बात करेंगे वो है
एटीआर सीएमपी यहां पे गलती से जो है है
सीपीएम लिख गया है दिस इज सीएम ये होता है
फॉर स्ट्रिंग कंपैरिजन तो स्ट्रिंग को हम
कंपेयर भी कर सकते हैं कि एक स्ट्रिंग
क्या दूसरी स्ट्रिंग के बराबर है या बराबर
नहीं है इनफैक्ट एक स्ट्रिंग दूसरी
स्ट्रिंग से छोटी है या बड़ी है ये भी
कंपेयर कर सकते हैं कैसे कंपेयर करेंगे हम
एटीआर सीएमपी के अंदर दो स्ट्रिंग्स पास
करते हैं एक फर्स्ट स्ट्रिंग और एक सेकंड
स्ट्रिंग अब ये जो फंक्शन है ये एक इंटी
जर रिटर्न करता है अगर इसने रिटर्न किया
जीरो मतलब दोनों स्ट्रिंग्स हमारी इक्वल
है तो जैसे अगर हमने हेलो पास किया और
दूसरे में भी हेलो पास किया तो मतलब मब ये
हमारा फंक्शन रिटर्न करेगा हमारे पास जीरो
अब अगर इसने कोई पॉजिटिव वैल्यू रिटर्न
करी इसका मतलब है फर्स्ट स्ट्रिंग इज
ग्रेटर दन सेकंड स्ट्रिंग और ये एका
वैल्यूज पे डिपेंड करेगा इसका एग्जांपल है
फर्स्ट स्ट्रिंग के अंदर हमने पास किया
बनाना दूसरी स्ट्रिंग में हमने पास किया
एपल तो ये एक पॉजिटिव वैल्यू रिटर्न करेगा
अब बनाना और एपल जब भी हम एस्का वैल्यूज
देखते हैं तो a सबसे पहले आता है फिर बी
आता है फिर सीडी इस तरीके से एस काई
वैल्यूज बढ़ती रहती है तो बनाना की जो एस
काई वैल्यू है ना इसमें सबसे पहले b की
वैल्यू a के साथ कंपेयर होगी अगर ये दोनों
एच एच होते तो दोनों की वैल्यू सेम होती
तो फिर अगले वाला कैरेक्टर हमारे कंपेयर
हो रहे होते पर वैसा केस नहीं है यहां पे
पहला ही कैरेक्टर अलग है तो b की वैल्यू
कुछ होगी नंबर्स में a की वैल्यू कुछ होगी
नंबर्स में इन दोनों का हम डिफरेंस
निकालेंगे तो b का जो एस्का कैरेक्टर होता
है वो बड़ा होता है ए का हमारा छोटा होता
है तो एस्का कैरेक्टर्स माइनस हो जाएंगे
जैसे अगर हम b का एका कैरेक्टर देखें
कैरेक्टर b = b तो b का एस का कैरेक्टर
होता है 66 तो यहां पे 66 आएगा तो a का
होना चाहिए 65 तो इंटरनली क्या हो रहा है
66 - 65 होगा जिसका डिफरेंस आएगा + 1 तो
इसीलिए एक पॉजिटिव वैल्यू प्रिंट होगी
मतलब फर्स्ट जो स्ट्रिंग है उसके एस्का
में से सेकंड स्ट्रिंग के एस्का को माइनस
कर देंगे जब भी डिफरेंट हमारे लेटर्स आ
जाते हैं तो इसीलिए जब भी फर्स्ट स्ट्रिंग
बड़ी होगी सेकंड स्ट्रिंग छोटी होगी तो
पॉजिटिव वैल्यू प्रिंट होगी एंड वाइस
वर्सा होगा यानी फर्स्ट स्ट्रिंग अगर छोटी
है सेकंड स्ट्रिंग अगर अगर बड़ी है तो
हमारे पास एक नेगेटिव वैल्यू प्रिंट होके
आ जाएगी इसका भी एक एग्जांपल देख लेते हैं
जैसे पहली स्ट्रिंग है हमारे पास एल और
दूसरी स्ट्रिंग है हमारे पास बनाना तो
फर्स्ट में a का एस्काय हो जाएगा हमारे
पास 65 b का एस्काय हो जाएगा 66 तो 65 -
66 हमें नेगेटिव 1 दे देगा तो सिंस ये एक
नेगेटिव वैल्यू है तो हमें पता चल जाएगा
स्ट्रिंग कंपैरिजन से कि हमारी फर्स्ट
स्ट्रिंग जो है छोटी है हमारी सेकंड
स्ट्रिंग से इन सब को एक बार कोड केल से
वेरीफाई जरूर करके देख लेना तो कोई भी
कांसेप्ट हम सीखते हैं ना प्रोग्रामिंग
में उसको हमेशा वेरीफाई करना ऐसा नहीं हो
कि हमने सिर्फ थ्योरी थ्योरी पढ़ ली और
उसका कोड हमने करके नहीं देखा तो सबसे
पहले कैरेक्टर स्ट्रिंग बनाते हैं फर्स्ट
स्ट्रिंग जिसके अंदर स्टोर कराते हैं
एल फिर सेकंड
स्ट्रिंग जिसके अंदर स्टोर कराएंगे बनाना
और अब प्रिंट कर लेते हैं परसेंटेज डी
क्योंकि इंटी जर प्रिंट होगा कंपैरिजन के
लिए हम प्रिंट करेंगे एसटी आर सी एम प
जिसमें पास करेंगे पहले फर्स्ट स्ट्रिंग
फिर पास करेंगे सेकंड स्ट्रिंग कर लेते
हैं सेव एंड रन तो प्रिंट होकर आया है -1
जो कि एक्सपेक्टेड था क्योंकि a का जो एका
65 है बी का एकाय 66 है तो 65 - 66 एक
नेगेटिव वैल्यू आएगी जो दिखाएगी कि फर्स्ट
वाली स्ट्रिंग हमारी सेकंड वाली स्ट्रिंग
से छोटी है अब अगर हम इन्हीं वैल्यूज को
चेंज कर द यानी पहले पास कर दें अपनी
सेकंड स्ट्रिंग फिर पास कर दें अपनी
फर्स्ट स्ट्रिंग तो उस केस में आउटपुट
क्या आएगा उस केस में आउटपुट एक पॉजिटिव
वैल्यू आएगा यानी + 1 + 1 इसलिए आया
क्योंकि b - a अब यहां पे हुआ है और एक और
छोटी सी चीज करके देखते हैं इस बार ना
स्ट्रिंग को कर देते हैं h ए ए ए और यहां
पे स्ट्रिंग को कर देते हैं h एच ए बी
यहां पे दोबारा से हम फर्स्ट स्ट्रिंग पास
करते हैं और यहां पे पास करते हैं अपनी
सेकंड स्ट्रिंग सेव एंड रन अब रन करने से
पहले खुद से अगर डिस्कस करना हो क्या
आउटपुट आएगा तो फर्स्ट स्ट्रिंग के अंदर
है एच एच एच ए सेकंड स्ट्रिंग में है एच
एचएच b दोनों के अंदर डिफरेंट कैरेक्टर
सबसे पहला कौन सा है वो है a और b तो
दोबारा से a का एस्का b के एस्का से माइनस
होगा तो a का एस्का है 65 - b का एस्काय
66 तो ये भी एक नेगेटिव वैल्यू हमें
रिटर्न करके देगा उसको वेरीफाई कर लेते
हैं प्रिंट होके आएगा -1 और यहां पर अगर
हम इसको हटा दें a और b को और अब दोनों को
कंपेयर करें तो अब हमारे पास आने वाला है
जीरो क्योंकि दोनों स्ट्रिंग्स हैं सेम तो
स्ट्रिंग्स को अगर कंपेयर करना हो तो उसको
हम कर सकते हैं ऐसा जो स्ट्रिंग कंपैरिजन
वाला फंक्शन है रियल लाइफ के केसेस देखें
तो कहां यूज़ हो सकता है ये यूज़ हो सकता
है अगर हम एक ऐसा फंक्शन बनाए जो हमारी
डिक्शनरी फॉर्म कर रहा है डिक्शनरी के
अंदर क्या होता है जो लेटर्स पहले आते हैं
ना अल्फाबेट में तो मतलब उनकी एका वैल्यूज
भी कम होगी तो वो हमारे डिक्शनरी के अंदर
पहले आ जाते हैं और बाकी सारे हमारे बाद
में आ जाते हैं तो नेगेटिव वैल्यू के
हिसाब से हम सॉर्ट कर सकते हैं जिनकी सबसे
कम नेगेटिव वैल्यू है मतलब जितना ज्यादा
नेगेटिव है उतना जल्दी डिक्शनरी के अंदर
आएगा जितना ज्यादा पॉजिटिव है उतना
डिक्शनरी के अंदर बाद में आएगा तो इस
तरीके से जब भी कैरेक्टर्स को कंपेयर करना
हो कौन सा कैरेक्टर छोटा है उसको डिक्शनरी
के शुरुआत में जो बड़ा है उसको डिक्शनरी
के एंड में नेक्स्ट बात करेंगे सवाल की
सवाल हमारा ये है कि टेक अ स्ट्रिंग इनपुट
फ्रॉम द यूजर यूजिंग कैरेक्टर्स मतलब अभी
तक स्ट्रिंग को कैसे इनपुट ले रहे थे या
तो परसेंटेज s की फॉर्म में इनपुट ले रहे
थे या फिर एफ गेट एस कर रहे थे या गेट एस
कर रहे थे अब हमें क्या करना है परसेंटेज
सी यानी कैरेक्टर बाय कैरेक्टर उसको इनपुट
लेना है इसके लिए एक फंक्शन बनाते हैं
फंक्शन को नाम दे देते हैं इनपुट स्ट्रिंग
या इन फैक्ट फंक्शन बनाने की जगह ना पूरा
प्रोग्राम ही बना लेते हैं अपने मेन
फंक्शन के अंदर सबसे पहले एक स्ट्रिंग
डिफाइन करते हैं एटीआर जिसमें 100
कैरेक्टर्स आ सकते हैं फिर डिफाइन करेंगे
कैरेक्टर और यह वो कैरेक्टर है जो बार-बार
हमें यूजर से इनपुट करना है इस कैरेक्टर
सीच को इनपुट करेंगे और स्ट्रिंग के अंदर
ऐड करते रहेंगे एक-एक करके तो एक लूप चला
लेते हैं वाइल जब तक हमारा कैरेक्टर इज
नॉट इक्वल टू बै स् n जब भी हम अपने कंसोल
वाली विंडो से किसी भी स्ट्रिंग को इनपुट
करते हैं तो क्या होता है हम एक कैरेक्टर
डालते हैं दूसरा कैरेक्टर डालते हैं तीसरा
डालते हैं चौथा डालते हैं पांचवा डालते
हैं लास्ट में एंटर मार देते हैं
कैरेक्टर्स को तब तक इनपुट लेते रहना है
अपने कोड के अंदर अपने लूप के अंदर जब तक
हम नेक्स्ट लाइन वाला कैरेक्टर नहीं डाल
देते इसीलिए उसी को कंडीशन बना देते हैं
जब तक हमारा कैरेक्टर इज नॉट इक्वल टू बै
स्ल ए यानी नेक्स्ट लाइन जब तक एंटर हमने
प्रेस नहीं किया तो तब तक क्या करेंगे
स्कैन एफ कर लेंगे स्कैन एफ करेंगे
परसेंटेज सी हमारा सी एक और वेरिएबल ले
लेते हैं i जो ट्रैक करेगा हमारे इंडेक्स
को तो i को इनिश इज कर देंगे रो के साथ
यहां पे हम एक-एक करके कैरेक्टर लेंगे और
उसको एक-एक करके अपनी स्ट्रिंग के अंदर
स्टोर करा देंगे तो एटी ऑफ i = स फिर कर
देंगे i + अब इस लूप को थोड़ा सा और गहराई
से समझते हैं सबसे पहले हमने एक स्ट्रिंग
बना दी उसके बाद हमने कैरेक्टर बना दिया
हमारा गोल है एक-एक करके यूजर से कैरेक्टर
लेना है उसको स्ट्रिंग के अंदर ऐड करना है
और स्ट्रिंग का इंडेक्स कैसे ट्रैक करेंगे
अपने वेरिएबल की हेल्प से अब हम एक लूप
बनाएंगे वाइल लूप बना रहे हैं इसके अंदर
कंडीशन यह है कि जब तक हमारा यूजर एंटर
नहीं दबाता तब तक उसमें जो भी कैरेक्टर्स
हमारे पास दिए हैं वो सारे के सारे
स्ट्रिंग में डाल दो तो एक-एक करके
कैरेक्टर्स को स्कैनर से इनपुट लेते
रहेंगे उसके बाद क्या करेंगे उनको ऐड कर
देंगे स्ट्रिंग के अंदर और स्ट्रिंग के
इंडेक्स को बढ़ा देंगे बाय वन इसको कर
लेते हैं सेव और अब इसको फाइनली क्या
करेंगे एटीआर ऑफ आ के अंदर हमें नल
कैरेक्टर खुद से डालना पड़ेगा क्योंकि नल
कैरेक्टर अब ऑटोमेटिक कंपाइल नहीं डालेगा
क्योंकि परसेंटेज सी में नल कैरेक्टर
ऑटोमेटिक नहीं डालता परसेंटेज s में डालता
है तो नल कैरेक्टर अलग से हमें डालना
पड़ेगा यह दिखाने के लिए कि एक स्ट्रिंग
है उसके बाद अपनी पूरी स्ट्रिंग को प्रिंट
करा देंगे पुट एस से एटीआर इसको कर लेते
हैं सेव एंड नाउ रन ये वार्निंग हमें दे
रहा है क्योंकि यहां पे हमें एड्रेस ऑफ
सीए डालना
था अब हम कोई भी स्ट्रिंग अपनी डाल सकते
हैं मान लीजिए हमने डाला हेलो वर्ल्ड तो
हमारे लिए हेलो वर्ल्ड जो है एकको होके
प्रिंट होके वापस आ गया तो इसमें इसने
स्पेसेस भी काउंट कर ली तो ये जो फंक्शन
है जो हमने खुद से बनाया है ये वाला पार्ट
ये वाला पार्ट हमारे गेटस की तरह एक्ट
करता है या हमारे एफ गेटस की तरह एक्ट
करता है पूरा सेंटेंस ले लेगा जब तक हमारा
साइज 100 से कम हम डाल रहे हैं उसमें चाहे
आप स्पेस डालो स्पेशल कैरेक्टर डालो अपर
केस में लेटर डालो स्मॉलर केस में डालो
नंबर्स डालो सब कुछ इनपुट ले लेगा पर जैसे
ही आप एंटर दबाए वैसे ही इनपुट लेना बंद
कर देगा और हमारी स्ट्रिंग में नल
कैरेक्टर को ये अपेंड कर देगा नेक्स्ट
सवाल जिसकी बात करेंगे वो है एक स्पेशल यह
सवाल है जो मैंने खुद बनाए हैं साल्टिंग
नाम का एक कांसेप्ट होता है जब भी हैकिंग
करते हैं ना तो पासवर्ड हमारे सिक्योर किए
जाते हैं कंपनीज के अंदर तो पासवर्ड किस
तरीके से सिक्योर होते हैं जिस तरीके से
सिक्योर होते हैं उस टेक्निक को सॉल्टिस
पहले सॉल्टिस हैं मान लीजिए आपने एक
पासवर्ड सेट किया पासवर्ड आपका है टेस्ट 1
2 3 ये आपका पासवर्ड है और कंपनी के पास
एक स्ट्रिंग है स्ट्रिंग है कंपनी की ए बी
सी तो सॉल्टिस है कि कंपनी आपका पासवर्ड
लेगी और उसके अंदर अपना सॉल्ट ऐड कर दगी
जैसे सब्जी के अंदर हम नमक छिड़क देते हैं
वैसे ही कंपनी जब भी पासवर्ड को सेव करती
है ना तो उसके अंदर अपना सॉल्ट छिड़क देती
है तो अपना सॉल्ट छिड़क देगी कहीं भी बीच
में रैंडम कहीं भी डाल सकती है और फिर 1 2
3 तो आपका जब पासवर्ड सेव होगा ना इस
फॉर्मेट में वो सेव हो रहा होगा जिसमें
बीच में एक सॉल्ट आ गया है तो अब हैकर हैक
भी कर लेगा तो उसको तो पता नहीं है कि
कंपनी का सॉल्ट क्या था उसको लगेगा यह
पूरा का पूरा पासवर्ड आपका ही है तो वह
आपके अकाउंट के अंदर कभी एंटर नहीं कर
पाएगा अगर कंपनी का सिस्टम हैक भी हो गया
तो सॉल्ट क्या होता है सॉल्ट हमारी एक ऐसी
स्ट्रिंग होती है जिसको हम नॉर्मल पासवर्ड
के अंदर डाल देते हैं और कहीं रैंडम ली
डाल देते हैं वो कंपनी डिसाइड करती है
जैसे
instagram2 पे डालना है कल को
google3 जिसको मुझे पासवर्ड के अंदर अपने
इंडेक्स जीरो और इंडेक्स फाइ दो इंडेक्स
पे डालना है तो कंपनी का सॉल्ट कुछ भी हो
सकता है आपके पासवर्ड के अंदर वो जिस
पोजीशन पे डालेगा वो भी कुछ भी हो सकता है
सॉल्टिस हमारा ये रहता है अब सवाल हमारा
सॉल्टिस है सवाल ये कहता है कि यूजर से एक
पासवर्ड को एंटर करा लो यूजर ने अपना
पासवर्ड एंटर कर दिया और उसके अंदर अपना
सॉल्ट है हमारा 12थ उसको ऐड कर दो एट दी
एंड
यानी यूजर से पासवर्ड एंटर करेंगे और उसके
एंड में हम सॉल्ट टूथ ऐड कर देंगे और उसके
बाद नया पासवर्ड यूजर को वापस प्रिंट करवा
कर देना है तो कैसे करवाएंगे मान लीजिए
यूजर ने पासवर्ड एंटर किया अपना टेस्ट और
सॉल्ट है हमारा ट 3 तो जो अब हमें नया
पासवर्ड देना है ना न्यू
पासवर्ड उसकी वैल्यू होनी चाहिए टेस्ट और
सॉल्ट को हम एंड में ऐड कर देंगे यानी टूथ
तो यह हमारा नया पासवर्ड हो जाएगा जिस
इसको हमें यूजर को वापस देना है तो इसके
लिए प्रोग्राम लिखेंगे हम एक फंक्शन बनाने
वाले हैं यह फंक्शन क्या करेगा हमारी
स्ट्रिंग ले लेगा और फिर एक नई स्ट्रिंग
बनाएगा नया पासवर्ड जिसमें पुरानी
स्ट्रिंग को तो कॉपी कर लेगा प्लस पीछे
हमारा टूथ ऐड कर देगा तो मेन फंक्शन के
अंदर सबसे पहले कैरेक्टर स्ट्रिंग बनाते
हैं पासवर्ड 100 कैरेक्टर्स का य हो सकता
है मैक्सिमम यूजर से इस पासवर्ड को इनपुट
ले लेंगे यानी स्कैन एफ परसेंटेज एस हमारा
पासवर्ड अब इसके अंदर पासवर्ड के अंदर हम
जा रहे हैं कि स्पेसेस ना हो इसलिए
परसेंटेज एस यूज कर सकते हैं और फिर एक
फंक्शन कॉल कर देंगे सॉल्टिस तो फंक्शन को
बना भी लेते हैं ये फंक्शन रिटर्न करेगा
कुछ भी नहीं रिटर्न करेगा बस नया पासवर्ड
आपको प्रिंट करवा के दे देगा तो वॉइड इसका
रिटर्न टाइप है सॉल्ट इसके अंदर हमारे पास
आएगा कैरेक्टर पासवर्ड इस फंक्शन को
क्रिएट करते हैं वॉइड सर्टिंग कैरेक्टर
पासवर्ड सबसे पहले अपनी स्ट्रिंग डिफाइन
कर लेते हैं जो हमें ऐड करनी है तो हमारा
कैरेक्टर सॉल्ट है टू 3 अब एक नया
कैरेक्टर बनाते हैं न्यू पासवर्ड और इसका
साइज दे देते हैं डबल तो हमें नए पासवर्ड
के अंदर अपने सबसे पहले अपने पासवर्ड को
कॉपी करना है फिर अपने सॉल्ट को कॉपी करना
है तो सबसे पहले तो स्ट्रिंग कॉपी फंक्शन
यूज कर लेते हैं एसटीटीआर सीपीवाई
स्ट्रिंग कॉपी में फर्स्ट स्ट्रिंग क्या
पास करेंगे फर्स्ट स्ट्रिंग हम पास करेंगे
अपना नया पासवर्ड और सेकंड स्ट्रिंग अपना
पासवर्ड तो एटीआर सीपीवाई क्या करेगा
हमारे पासवर्ड की वैल्यू को न्यू पासवर्ड
के अंदर डाल के कॉपी कर देगा एंड उसके बाद
कॉल करेंगे एसटीटीआर सीटी अब करेंगे कंकट
यानी न्यू पासवर्ड के अंदर हम अपने सॉल्ट
को कंकट ट करना चाह रहे हैं इसने क्या
किया नए पासवर्ड के अंदर हमने पुराने
पासवर्ड को डाल दिया टेस्ट को और
कॉन्कैटिनेट ने क्या किया नए पासवर्ड की
वैल्यू को बना दिया टेस्ट प्लस 123 तो ये
टेस्ट 123 बन जाएगा हमारा नया पासवर्ड अब
इसी को हम प्रिंट करवा देंगे पटस न्यू
पासवर्ड तो एक छोटा सा फंक्शन सॉल्टिनी के
लिए और ये काफी
कॉम्प्लेक्शन का फंक्शन आप खुद से लिख पा
रहे हैं ना तो मतलब आपको अच्छे खासे लेवल
की लॉजिकल चीजें आ रही है और प्रोग्रामिंग
आ रही है तो इस फंक्शन के अंदर हमने दो
लाइब्रेरी फंक्शंस को यूज़ कर लिया एक
स्ट्रिंग को कॉपी करवाने वाला काम और एक
स्ट्रिंग को कंकट करवाने वाला काम इतना
सारा काम हमारा आसान हो गया और दो लाइंस
के अंदर हमने सिंपली इसको कर लिया तो ये
पावर होती है हमारे लाइब्रेरी फंक्शंस की
तो फाइनली अपने नए पासवर्ड को प्रिंट करवा
देंगे मेन फंक्शन के अंदर क्या करेंगे इस
फंक्शन को कॉल कर लेते हैं सर्टिंग जिसमें
पास कर देंगे अपना पासवर्ड इसको कर लेते
हैं सेव और इसको करते हैं रन अपना पासवर्ड
डालते हैं टेस्ट तो नया पासवर्ड हमारे पास
टेस्ट टूथ प्रिंट हो गया दोबारा एक बार रन
करें तो इस बार मान लीजिए हमने पासवर्ड
डाला है अपना कॉलेज तो इस बार प्रिंट हो
गया अपना कॉलेज टूथ तो इस तरीके से बहुत
सारे लाइब्रेरी फंक्शन को यूज़ करके हम
काफी सारे इंटरेस्टिंग फंक्शंस जो है उनको
बना सकते हैं काफी सारी इंटरेस्टिंग चीजें
कर सकते हैं और बहुत आसान हो जाएगा कोड
क्योंकि सिंगल लाइन में आपको पूरा का पूरा
फंक्शन जो है वो मिल रहा है तो सवाल हमारा
कुछ ऐसा है कि राइट अ फंक्शन नेम स्लाइस
व्हिच टेक्स अ स्ट्रिंग एंड रिटर्न्स अ
स्लाइस स्ट्रिंग फ्रॉम इंडेक्स n टू n
इसको एक एग्जांपल से समझते हैं एक फंक्शन
है स्लाइस इसका काम है कि एक स्ट्रिंग
लेगा मान लीजिए हमने स्ट्रिंग ली हेलो
वर्ल्ड और इसके अंदर हमें दो इंडेक्स दिए
जाएंगे एक एक इंडेक्स होगा n एक होगा m
हमारे जो n की वैल्यू है वह हमें दी हुई
है 3 m की वैल्यू दी हुई है 6 तो हमें एक
स्ट्रिंग वापस रिटर्न करनी होगी जो n = 3
से शुरू होगी m = 6 तक खत्म होगी यानी इस
स्ट्रिंग की बात करें तो इसमें इंडेक्स है
1 2 3 4 5 6 7 8 एंड ना तो हमारा जो
स्लाइस फंक्शन होगा वो स्ट्रिंग को इनपुट
लेगा और आउटपुट में हमें देगा थ्री से
लेकर सिक्स तक यानी ए से लेकर ओ तक एल ओ
डब् ओ तो हेलो वर्ल्ड जो स्ट्रिंग थी एच इ
एल एल आर एल डी इसके अंदर से ये एओड वाला
पार्ट हमें रिटर्न होके आ जाएगा क्योंकि n
= 3 इंडेक्स से शुरू होता है और m = 6
इंडेक्स पर खत्म होता है तो स्लाइस का काम
है यहां पे इस स्ट्रिंग को यहां से स्लाइस
कर देना पहली जो स्लाइस आएगी स्लाइस यानी
काट देना पहला कट लगेगा n = 3 पे दूसरा कट
लगेगा m = 6 पे और बीच वाला जो पार्ट होगा
ये हमें हो जाएगा
रिटर्न तो इसके लिए भी एक फंक्शन बना लेते
हैं फंक्शन का नाम रखते हैं ये फंक्शन
क्या करेगा हमें रिटर्न करेगा अपना स्लाइस
पार्ट तो इसका नाम रखते हैं वॉइड स्लाइस
इसके अंदर हम पास करेंगे अपना कैरेक्टर इस
फंक्शन को भी डिफाइन कर लेते हैं वॉइड
स्लाइस इसमें पास करेंगे कैरेक्टर एसआर
साथ के साथ एक इंडेक्स n भी आएगा और एक
इंडेक्स m भी आएगा तो इनको भी लिख लेते
हैं इंट n इंट m अब स्लाइस फंक्शन के अंदर
एक नई स्ट्रिंग बना लेते हैं कैर न्यू ए
इस स्ट्रिंग का साइज वैसे तो हमें पता ही
है m - n + 1 पर इसका साइज हम बाय डिफॉल्ट
अभी 100 रख लेते हैं अब एक लूप चला लेते
हैं लूप कहां से शुरू होगा लूप शुरू होगा
इं i = n से और लूप हमारा जाएगा जब तक
हमारा i m के इक्वल नहीं हो जाता और यहां
पे अज्यू कर रहे हैं कि कोई बदमाशी नहीं
करेगा स्लाइस को कॉल करते हुए यानी n और m
जो है n एंड m आर वैलिड वैल्यूज ऐसा नहीं
है ए तो जी नल कैरेक्टर के बाद वाली
वैल्यू दे दी n को नेगेटिव फ दे दिया ऐसा
नहीं है सिर्फ वैलिड वैल्यूज देनी है जो
स्ट्रिंग के बीच में कहीं पर लाई करती तो
n से लेके m तक हमारा लूप जाएगा और नई
स्ट्रिंग के अंदर हम क्या करेंगे न्यू
स्ट्रिंग के लिए भी एक अपना बना लेते हैं
j = 0 से शुरू होगा और ज हमारा बार बार
प्लस होगा ये ज जो है हमारे नए स्ट्रिंग
का इंडेक्स है न्यू स्ट्रिंग ऑफ ज इ इक्वल
टू एटी ऑफ आ आई होप ये वाली चीज क्लियर
होगी कि नई स्ट्रिंग के अंदर j इंडेक्स है
और स्ट्रिंग के अंदर i इंडेक्स है इसको
एग्जांपल की फॉर्म में देखते हैं कि हम
करना क्या चाह रहे हैं यहां पे हमने एक
स्ट्रिंग एटीआर पास की है जिसके अंदर मान
लीजिए हमने दिया है हेलो वर्ल्ड और अब
हमने बनाई है एक न्यू एसडीआर न्यू एसडीआर
अभी खाली है मतलब उसमें काफी सारी जगह जो
है वो खाली होंगी यहां पे हम हमने पास
किया n = 3 और m = 6 तो ये जो लूप है 0 1
2 3 इस l से हमारा लूप शुरू हो रहा होगा
और न्यू एस के लिए j = 0 से शुरू हो रहा
होगा यहां पे i = 3 से शुरू हो रहा होगा
तो इस l को सबसे पहले हम यहां पे कॉपी कर
देंगे यानी इसको यहां लाके कॉपी कर देंगे
इसको यहां लाके इसको यहां लाके और इसको
यहां लाके इस तरीके से लूप हमारा चलेगा तो
सबसे पहले i = 3 के लिए कॉपी करके यहां l
ले आएंगे फिर j बन जाएगा व i बन जाएगा 4
तो फिर o को भी कॉपी कर देंगे फिर j बन
जाएगा टू तो w को कॉपी कर देंगे फिर j बन
जाएगा 3 i भी हमारा सिक्स बन चुका होगा तब
तक तो इस o को कॉपी कर देंगे यहां पे तो
जैसे ही i6 हुआ वैसे ही हमारा स्लाइस खत्म
हो गया और फाइनल जो हम स्ट्रिंग रिटर्न
करेंगे उसमें होगा एओड हमारे न्यू
स्ट्रिंग के अंदर तो एक-एक करके j की
वैल्यू तो रो से बढ़ती जा रही है और i की
वैल्यू n से बढ़ती जा रही है और m तक होकर
जाएगी तो ये हम चीज अचीव करने की कोशिश
करें इस लाइन से और और लास्ट में क्या
करेंगे न्यू एटीआर में हम अपेंड करा देंगे
जे लिख लेते हैं यहां पे हम अपेंड करा
देंगे यहां पे बै स् 0 अब ये ज हमें यहां
पे चाहिए तो j को बाहर ही डिक्लेयर कर
लेते हैं इंट ज = 0 तो यहां पे इनिश इज
नहीं करना पड़ेगा इसको कर लेते हैं सेव अब
लास्ट में पुट एस करके अपने न्यू स्ट्रिंग
को प्रिंट भी करवा देंगे मेन फंक्शन के
अंदर अपना कैरेक्टर एसडीआर बनाते हैं
जिसके अंदर लिख देते हैं हेलो वर्ल्ड अब
कॉल लगा लेंगे स्लाइस को स्ला इसमें पास
करेंगे अपनी स्ट्रिंग साथ के साथ n = 3 m
= 6 इसको कर लेते हैं सेव एंड रन तो यहां
पे एक स्पेस आ गया क्योंकि हेलो वर्ल्ड
में हमने स्पेस दे दिया बिना स्पेस का
हेलो वर्ल्ड के साथ दोबारा से ट्राई करते
हैं तो इस बार
एओड तीन से लेकर छह इंडेक्स तक जो हमारी
स्ट्रिंग थी वो कट लग के यानी स्लाइस होके
हमारे पास वापस आ गई उसको हमने प्रिंट
करवा दिया है तो ये हमने स्लाइस फंक्शन
बनाया है और ये जो जितने भी हम क्वेश्चंस
प्रैक्टिस कर रहे हैं ना इनसे बहुत ज्यादा
हमारी लॉजिकल थिंकिंग जो है वो बिल्ड अप
हो रही है मतलब सी प्रोग्रामिंग
प्रोग्रामिंग इज नॉट अबाउट सिंटेक्स कि
हमने सीख लिया जी स्ट्रिंग को ऐसे
डिक्लेयर करते हैं या हमने सीख लिया इंटी
जर को ऐसे डिक्लेयर करते हैं ऐसे इसको
प्रिंट कराते हैं प्रोग्रामिंग इज अबाउट द
लॉजिक आप कोई भी लैंग्वेज यूज़ करें लॉजिक
सेम का सेम रहता है ये स्लाइस फंक्शन अब
आप c+ प के अंदर भी लिख सकते हैं आप जावा
के अंदर भी लिख सकते हैं आप जावास्क्रिप्ट
के अंदर भी लिख सकते हैं आप सी शप के अंदर
गो के अंदर पाइथन के अंदर जिस लैंग्वेज के
अंदर लिख सकते हैं लॉजिक य यही रहेगा आपको
फॉर लूप लगाना पड़ेगा उसके अंदर आपको
चीजें ऐसे कॉपी करनी पड़ेंगी और फिर आप
प्रिंट करवा सकते हैं या रिटर्न करवा सकते
हैं लॉजिक सेम रहेगा प्रोग्रामिंग
लैंग्वेज हमारी चेंज हो सकती है नेक्स्ट
सवाल जिसकी बात करेंगे यह है राइट अ
फंक्शन टू काउंट द अरेंस ऑफ वोवेल्स इन अ
स्ट्रिंग यानी कितनी बार वोवेल्स अकर कर
रहे हैं एक स्ट्रिंग में वो हमें काउंट
करना है जैसे हमें एक स्ट्रिंग दी हुई है
हेलो वर्ल्ड हेलो वर्ल्ड के अंदर वोवेल्स
कितनी बार आते हैं एक दो तीन अब जिन
स्टूडेंट्स को नहीं पता वोवेल्स क्या होते
हैं वोवेल्स होते हैं हमारे लेटर्स ए ई आई
ओ एंड यू पांच वोवेल्स होते हैं इंग्लिश
लैंग्वेज के अंदर इन पांचों में से कोई भी
अगर आता है तो काउंट को कर देंगे प्लस
प्लस हमने ऑलरेडी डिस्कस कर लिया कैसे
करना है इसको फॉर लूप लगाना है और कब तक
लगाना है जब तक नल कैरेक्टर नहीं आ जाता
और एक-एक करके कैरेक्टर्स को एनालाइज
करेंगे कैरेक्टर अगर वर्बल आ जाता है तो
प्लस प्लस कर दो नहीं आता तो उसको छोड़ के
आगे बढ़ जाओ
सिंपल तरीका होने वाला है इसके लिए भी एक
फंक्शन बना लेते हैं काफी सारे फंक्शन हम
बना चुके हैं इस कोड के अंदर तो कंफ्यूज
नहीं होना है जो लेटेस्ट फंक्शन जिसको
डिस्कस कर रहे हैं उसकी बात हो रही है
इनफैक्ट मैं क्या करती हूं बाकी सार जो
कोड है ना उसको कॉमेंट आउट कर देती हूं
फॉर सिंपलीसिटी ताकि हमें पता रहेगा हम
बात किस चीज की कर रहे हैं इसको भी कर
देती हूं कमेंट आउट इंट काउंट वॉबल्स इसके
अंदर पास कर रहे होंगे अपनी एक स्ट्रिंग
इंट काउंट वल्स कैरेक्टर एसआर इसके अंदर
हमारे पास स्ट्रिंग आएगी एक वेरिएबल ले
लेते हैं काउंट जो रो से शुरू होगा अब एक
लूप चला लेते हैं जिसमें इंटी जर आ को
इनिश इज करेंगे i के साथ जब तक हमारा
स्ट्रिंग ऑफ i इज नॉट इक्वल टू नल
कैरेक्टर और अब कर लेते हैं i + प् तो हर
बार कंपेयर करेंगे यानी कंडीशन लिख देंगे
इफ एटी ऑफ i इक्व टू इक्वल टू एक और और या
स्ट्रिंग ऑफ i हमारा e के इक्वल हो जाए
उसके बाद लिखेंगे स्ट्रिंग ऑफ i इक्वल टू
इक्वल टू आ और और स्ट्रिंग ऑफ आ इक्व टू
इक्वल टू o और और स्ट्रिंग ऑफ आ इक्वल टू
इक्वल टू य तो चेक कर लिया क्या हमारी आयत
इंडेक्स प जो स्ट्रिंग है हमारे जो
कैरेक्टर है स्ट्रिंग के अंदर वो ए है या
ई है या आई है या ओ है या यू है मतलब
वोवेल्स में से कुछ है तो उस टाइम पे कर
देंगे काउंट प्लस प्लस और एंड में क्या
करना है फंक्शन के रिटर्न कर देंगे काउंट
तो मेन फंक्शन के अंदर अप अपनी इस
स्ट्रिंग के लिए कॉल लगाते हैं काउंट
वोवेल्स को काउंट वोवेल्स में पास कर
देंगे अपनी स्ट्रिंग और जो भी रिटर्न होके
आएगा उसको हम करवा देते हैं प्रिंट
परसेंटेज डी वोवेल्स
आर तो हमने लाइन लिख दिया वोवेल्स प्रिंट
कराने के लिए इसको कर लेते हैं सेव एंड रन
तो तीन वोवेल्स है हेलो वर्ल्ड के अंदर
पहला है ई दूसरा है ओ और तीसरा है ये
दूसरा हो इसके अलावा दूसरा अगर कोई वर्ड
यहां पर लिखे मान लीजिए श्रद्धा हम लिख
लेते हैं तो इसको भी कर लेते हैं सेव एंड
रन तो इसके अंदर दो वोवेल्स हैं मतलब दो
एज आते हैं तो इस तरीके से डिफरेंट
डिफरेंट आपके जो वर्ड्स हैं उसके अंदर आप
वोवेल्स काउंट कर सकते हैं इसी नंबर को
अगर हम माइनस कर दें टोटल लेंथ के साथ
मतलब जितने वोवेल्स हमारे आ गए टोटल लेंथ
निकालें एसटी आर एल एन से और काउंट
वोवेल्स का काउंट माइनस कर दें तो हम टोटल
कॉन्सोनेंट काउंट कर सकते हैं यानी ववलू
कौन से लेटर्स नहीं है उनका काउंट निकाल
सकते हैं या फिर हमें निकालना हो कितनी
बार इस वर्ड के साथ कितनी बार इस वर्ड में
आता है तो h दो बार आता है तो यहां पे बस
कंडीशन चेंज हो जाएगी इफ वाली कंडीशन चेंज
हो जाएगी h से कंपेयर कर लेंगे उनका काउंट
कर लेंगे या डी कितनी बार आता है या ए
कितनी बार आता है तो अलग-अलग तरीके के हम
फंक्शन बना सकते हैं अलग-अलग कंडीशन के
हिसाब से नेक्स्ट जो सवाल जिसकी बात
करेंगे वो है चेक इफ अ गिवन कैरेक्टर इज
प्रेजेंट इन अ स्ट्रिंग र नॉट जैसे हमें
स्ट्रिंग दी है हेलो वर्ल्ड अब हमें एक
कैरेक्टर दिया है साथ में कैरेक्टर सी जो
है डब् हमें चेक करना है ये कैरेक्टर इस
स्ट्रिंग के अंदर प्रेजेंट है या नहीं है
यस और नो तो ड इसके अंदर प्रेजेंट है तो
प्रिंट होगा यस अगर कैरेक्टर स हमारा मान
लीजिए ए होता कैपिटल ए तो कैपिटल ए तो
प्रेजेंट नहीं है स्मल एल प्रेजेंट है तो
उस केस में हम प्रिंट करते हैं नो या फिर
कैरेक्टर स हमारा होता x तो x तो प्रेजेंट
है नहीं हेलो वर्ल्ड में तो इस केस में भी
प्रिंट करते हैं नो तो हमें चेक करना है
हमारा पर्टिकुलर कैरेक्टर स्ट्रिंग के
अंदर प्रेजेंट है या नहीं है क्या लॉजिक
रहेगा एक-एक करके हर एक कैरेक्टर पे
जाएंगे स्ट्रिंग के और चेक कर लेंगे अगर
आयत कैरेक्टर है क्या इक्वल अगले वाला i+
1 है क्या इक्वल सीच के जैसे ही इक्वल हो
जाता है वैसे एस प्रिंट कर दो नहीं तो एंड
में नो प्रिंट कर दो सिंपल लॉजिक के साथ
काम करेंगे तो एक फंक्शन बना लेते हैं
इसको भी कर देते हैं कॉमेंट आउट एक फंक्शन
बनाते हैं इंट चेक इनफैक्ट इसको कर लेते
हैं वॉइड चेक कैरेक्टर इसमें पास करेंगे
सबसे पहले तो अपनी स्ट्रिंग और साथ के साथ
एक कैरेक्टर सीच वॉइड चेक कैरेक्टर जिसमें
पास करेंगे
स्ट्रिंग और हमारा कैरेक्टर सी अब
कैरेक्टर कैसे चेक करेंगे एक लूप लगा
लेंगे फॉर इंट आ इक्व 0 आ जब तक या एटीआर
ऑफ आ जब तक नॉट इक्वल टू हमारा नल
कैरेक्टर आ होता रहेगा प्लस प्लस अगर
हमारा जो एटीआर ऑफ आ है वो सीच के इक्वल
हो जाता है तो उस केस में प्रिंट करवा
देना है कैरेक्टर इज प्रेजेंट और प्रिंट
करवा के यहीं से रिटर्न करवा दो मतलब
फंक्शन को हीं पे ही खत्म कर दो कैरेक्टर
जैसे ही हमें मिल गया वैसे ही फंक्शन खत्म
हो जाएगा तो कोई झंझट ही नहीं रहेगा
कैरेक्टर मिल गया वैसे ही रिटर्न करवा दो
और उसके बाद क्या होगा पूरा का पूरा आगे
के जो चेक होने हैं ना वो नहीं होंगे
क्योंकि कैरेक्टर तो यहां पे मिल गया और
अगर नहीं मिलता तो कुछ नहीं करना सारा का
सारा चेक करना है और लूप अगर खत्म हो गया
और अभी तक रिटर्न नहीं हुआ तो फिर एंड में
हमें प्रिंट करवाना होगा कि कैरेक्टर इज
नॉट प्रेजेंट तो यहां प्रिंट करवा देंगे
कैरेक्टर इज नॉट प्रेजेंट फिर यहां से
रिटर्न कर रहे होंगे हम तो एकएक करके
कैरेक्टर को हम चेक कर रहे हैं कि सीच के
इक्वल है या नहीं स्ट्रिंग का कोई भी
कैरेक्टर उसके बाद अगर कहीं भी मिल जाता
है तो प्रिंट करवा देंगे प्रेजेंट है और
वहां से करवा देंगे रिटर्न अगर नहीं मिलता
है तो एंड में लिखवाना है कि कैरेक्टर
प्रेजेंट नहीं है इसको कर लेते हैं सेव
एंड रन अब मेन फंक्शन के अंदर भी अपना
कैरेक्टर का कोई स्ट्रिंग बना लेते हैं
मान लीजिए हमने स्ट्रिंग बनाई है अपना
कॉलेज कैरेक्टर सीच जो हम भेजना चाह रहे
हैं वो शुरुआत में है ई और कॉल करेंगे चेक
कैरेक्टर फ आर एंड ई यहां पे सी अब इसको
सेव करके रन करते हैं तो कैरेक्टर इज
प्रेजेंट लिखा हुआ आ गया लेकिन यहां पर ई
की जगह अगर हम x कर देते तो क्या होता तो
लिखा हुआ था कैरेक्टर इज नॉट प्रेजेंट तो
इस तरीके से देख सकते हैं कैरेक्टर हमारा
प्रेजेंट है स्ट्रिंग के अंदर या नहीं है
लॉजिक क्या रहना है लॉजिक यही रहना है
स्ट्रिंग को एक-एक करके ट्रैवर्स करेंगे
कैरेक्टर्स को निकालते रहेंगे और अपनी
कंडीशंस को चेक करते रहेंगे तो आई होप कि
स्ट्रिंग के बारे में हमें काफी कुछ सीखने
को मिला क्लास के अंदर कुछ एडिशनल
क्वेश्चंस हैं वो हम सॉल्व कर सकते हैं
नेक्स्ट जिस चैप्टर की हम बात करेंगे वोह
होने वाला है हमारा स्ट्रक्चर्स व्हिच इज़
अ रियली इंपॉर्टेंट चैप्टर जब भी हम बात
करते हैं सी प्रोग्रामिंग की क्योंकि
स्ट्रक्चर्स जो है ना बेसिस फॉर्म करते
हैं c+ प् का स्ट्रक्चर्स पढ़ने के बाद
हमें समझ में आने लग जाएंगी कुछ-कुछ चीजें
जो c+ प के अंदर एजिस्ट करती हैं तो अब हम
शुरुआत करने वाले हैं अपने चैप्टर नाइन की
जिसका नाम है स्ट्रक्चर्स अब इससे पहले
हमने काफी सारे कलेक्शन डटा टाइप्स देखे
हैं जैसे हमने इंटी जर्स का कलेक्शन देखा
एक इंटी जर एरे कैरेक्टर्स का कलेक्शन
देखा एक स्ट्रिंग उसी तरीके से अगर हम एक
ऐसा कलेक्शन बनाना हो जिसमें बहुत सारे
डिफरेंट टाइप्स के डाटा स्टोर्ड हो जैसे
मान लीजिए हमें एक इंट भी स्टोर करना है
एक कैरेक्टर भी स्टोर करना है एक फ्लोट भी
स्टोर करना है और एक स्ट्रिंग भी स्टोर
करनी है अब इन चारों को मिलाकर हम एक एरे
को फॉर्म नहीं कर सकते क्योंकि एरे क्या
होता है एरे एक कलेक्शन ऑफ डाटा होता है
जिनका डेटा टाइप सेम होता है पर यहां पर
हमें ऐसा कलेक्शन बनाना है जिसमें डेटा
टाइप हमारे अलग-अलग हो ऐसे कलेक्शंस को
फॉर्म करने के लिए हम इस्तेमाल करते हैं
स्ट्रक्चर्स का तो स्ट्रक्चर्स की
डेफिनेशन देखें तो स्ट्रक्चर इज अ कलेक्शन
ऑफ वैल्यूज ऑफ डिफरेंट डटा टाइप्स यानी
अलग-अलग आप डाटा टाइप्स ले लेंगे और फिर
उनको सेम एक स्ट्रक्चर के अंदर एक कलेक्शन
के अंदर आप रखना चाहते हैं तो उसको हम
स्ट्रक्चर कहेंगे स्ट्रक्चर का एग्जांपल
क्या हो सकता है कि जैसे एक स्टूडेंट की
हमें इंफॉर्मेशन स्टोर करानी है तो उस
इंफॉर्मेशन को स्टोर कराने के लिए सबसे
पहले हमें उसका नाम स्टोर करवाना पड़ेगा
जो एक स्ट्रिंग टाइप का होगा उसका रोल
नंबर स्टोर करा ना पड़ेगा जो एक इंटी जर
टाइप का होगा और उसका सीजीपीए स्टोर कराना
पड़ेगा जिसको हम फ्लोटिंग वैल्यू ले सकते
हैं तो जब इस तरीके की हमें कोई
इंफॉर्मेशन स्टोर करानी होती है तो उसको
हम कराते हैं स्ट्रक्चर्स की हेल्प से अब
सिंटेक्स क्या होगा एक स्ट्रक्चर को
क्रिएट करने का सिंटेक्स में सबसे पहले हम
स्ट्रक्ट कीवर्ड लिखते हैं स्ट्रक्ट
कीवर्ड हमें बताता है कि हम एक स्ट्रक्चर
क्रिएट करने वाले हैं उसके बाद लिखते हैं
स्ट्रक्चर का नाम जैसे अगर हम स्टूडेंट की
इंफॉर्मेशन स्टोर कराना चाहते हैं तो
उसमें हम डिफरेंट डिफरेंट वैल्यू स्टोर
करा रहे होंगे तो स्ट्रक्चर को हमने नाम
दे दिया स्टूडेंट मान लीजिए आप एक एंप्लॉई
की इंफॉर्मेशन स्टोर करा रहे होते तो इसको
हम नाम देते थे एंप्लॉई अगर हम एक बैंक
अकाउंट होल्डर की इंफॉर्मेशन स्टोर करा
देते तो इसको हम नाम दे देते बैंक अकाउंट
जिसमें हम अकाउंट नंबर आईएफएससी कोड बैंक
का नाम बैंक का एड्रेस ये सारी चीजें जो
है स्टोर करा रहे होते तो यहां पे हमने
अपने स्ट्रक्चर को नाम दिया है स्टूडेंट
और इसके अंदर हमने तीन वैल्यू स्टोर कराई
हैं इनमें से सबसे पहला है कैरेक्टर एरे
यानी हमारी स्ट्रिंग नेम उसके बाद हमारे
पास है एक इंटी जर वेरिएबल जिसका नाम है
रोल नंबर फिर एक फ्लोट वेरिएबल जिसको हमने
नाम दिया सीजीपीए और इस पूरे स्ट्रक्चर को
हम पैरेंस के अंदर लिखते हैं मतलब
स्ट्रक्चर के अंदर जो जो एलिमेंट्स आने
वाले हैं उसको हम पैरेंस के अंदर लिखते
हैं और एंड में हम लगा देते हैं एक
स्टेटमेंट टर्मिनेटर यूजुअली बच्चे लगाना
भूल जाते हैं जिसकी वजह से एरर आता है तो
स्टेटमेंट टर्मिनेटर को हमें नहीं भूलना
है अब एक बार डिस्कस करते हैं कि डेटा
टाइप्स ना दो तरीके के होते हैं एक होते
हैं हमारे इनबिल्ट डेटा टाइप्स जो पहले से
ही हमारी प्रोग्रामिंग लैंग्वेज के अंदर
एजिस्ट करते हैं जैसे हमारा इंटी जर हो
गया हमारा फ्लोट हो गया या फिर हमारा
कैरेक्टर हो गया या इनफैक्ट अरेज भी इसी
कैटेगरी के अंदर आ जाते हैं अब वहीं पर
दूसरी तरफ हमारे आते हैं यूजर डिफाइंड
डेटा टाइप्स यूजर डिफाइंड डेटा टाइप्स को
यूजर बनाते हैं अभी तक अगर हम एक इंटी जर
चाहिए होता था तो वो ऑलरेडी मेमोरी में
एजिस्ट करता था कि इंटी जर का मतलब होता
है कि मेमोरी के अंदर आपके लिए चार बाइट
सेव हो गई हैं अगर कैरेक्टर चाहिए होता था
तो वो भी पहले से एजिस्ट करता था सी
प्रोग्रामिंग बताती है कि कैरेक्टर पहले
से एजिस्ट करता है तो आपको एक बाइट चाहिए
अगर जिसमें आप कोई भी कैरेक्टर कोई भी
लेटर स्पेशल कैरेक्टर स्टोर कराना चाहते
हैं तो ऑलरेडी सी प्रोग्रामिंग में एजिस्ट
करता है पर मान लो अगर हमें ऐसा डेटा टाइप
चाहिए जिसके अंदर फ्लोट के लिए हमें चार
बाइट्स चाहिए इंटी जर के लिए चार बाइट्स
चाहिए और उसमें हमें कैरेक्टर भी स्टोर
कराना चाहते हैं तो एक ऐसा कस्टम डेटा
टाइप यूजर को खुद बनाना पड़ेगा वो ऑलरेडी
सी में एजिस्ट नहीं करता अब ऐसे जो डेटा
टाइप्स होते हैं इनको यूजर डिफाइन कहते
हैं और स्ट्रक्चर हमारा एक यूजर डिफाइन
डाटा टाइप की कैटेगरी में आता है यानी
इसको यूजर खुद डिफाइन कर सकता है तो जैसे
हमारे पास एक इंटी जर एरे होता है इंटी जर
एरे में क्या होता है मान लीजिए हमने एक
इंटी जर एरे बनाया ए आरआर जिसका साइज़
हमने दिया तीन अब इसमें क्या होगा एक तीन
इंटी जर्स जितनी मेमोरी हमारे लिए सेव हो
जाएगी कंप्यूटर की मेमोरी में वैसे ही जब
भी हम स्टूडेंट क्रिएट करते हैं ना तो
स्टूडेंट के क्रिएट होते ही हमारे पास एक
स्ट्रिंग के बराबर मेमोरी एक इंटी जर के
बराबर मेमोरी और एक फ्लोट के बराबर मेमोरी
रिजर्व हो जाती है तो अब हमारे पास एक नया
डटा टाइप आ गया जिसमें हम तीन अलग-अलग
वैल्यूज एक साथ स्टोर करवा सकते हैं और
इसको क्रिएट कैसे करना है ये तो हमने
डिफाइन कर लिया अपने डाटा टाइप को ये चीज
एक बार लिखनी है कि हमारा डाटा टाइप कुछ
ऐसा दिखेगा उसके बाद अगर डटा टाइप को यूज
करना है तो जैसे हम इंटी जर को कैसे यूज
करते थे इंट n = 5 उसी तरीके से यहां पर
हमें लिखना है स्ट्रक्ट स्टूडेंट यह है
हमारा डेटा टाइप स्टूडेंट स्ट्रक्चर उसके
बाद n की जगह हमारे पास s1 आ गया है और अब
अगर हमें s1 के लिए यानी स्टूडेंट के लिए
डिफरेंट डिफरेंट पैरामीटर्स को एक्सेस
करना है जैसे नेम के लिए हम लिखेंगे s1
नेम रोल नंबर के लिए लिखेंगे s1 रोल नंबर
और सीजीपीए के लिए लिखेंगे s1
cp7 5 तो कुछ इस तरीके से हम इसको
डिक्लेयर कर रहे होंगे इसको यूज़ कर रहे
होंगे और फिर इसके अंदर वाले पैरामीटर्स
को भी एक्सेस कर रहे होंगे अब एक्चुअली
कोड के अंदर एक स्ट्रक्चर बनाकर देख लेते
हैं कि इसको लिखा कैसे जाता है सबसे पहले
हम लिखेंगे स्ट्रक्ट कीवर्ड स्ट्रक्ट उसके
बाद लिखेंगे स्टूडेंट हमारे स्ट्रक्चर का
नाम अब इसके अंदर हम तीन चीजें डिफाइन
करने वाले हैं रोल नंबर सीजीपीए और नाम तो
सबसे पहले लिखते हैं इंट रोल उसके बाद
फ्लोट सीजीपीए एंड उसके बाद कैरेक्टर नेम
ऑफ 100 कैरेक्टर्स और एंड में लगा देंगे
स्टेटमेंट टर्मिनेटर तो यह हमने अपना डेटा
टाइप डिफाइन कर दिया है स्ट्रक्चर हमारा
यूजर डिफाइन डाटा टाइप है अब मेन फशन के
अंदर अब स्ट्रक्चर टाइप का एक वेरिएबल
बनाएंगे स्ट्रक्ट स्टूडेंट हमारा टाइप एंड
उसके बाद वेरिएबल का नाम है s1 जिसको हमने
अभी बस इनिश इइ नहीं किया सिर्फ डिक्लेयर
किया है
इनिशियलिज्म
और ये है इसकी प्रॉपर्टीज अब s1 के रोल
प्रॉपर्टी रोल नंबर प्रॉपर्टी को एक्सेस
करना है तो बीच में लगा देंगे डॉट ऑपरेटर
यानी s1 ड रोल नंबर इसको इक्वल टू कर
देंगे हमारी वैल्यू के फिर लिखेंगे s1 सज
इसमें भी कोई वैल्यू हम ऐड कर देते हैं
फिर अब हम लिखना है s1 . n अगर हम इसको
नॉर्मली लिखने लगे जैसे हमने सिंपली लिखा
s1 . n = श्रद्धा तो ये वाला जो सिंटेक्स
है ना अपनी स्ट्रिंग को डिक्लेयर करने का
उसको पास ऑन करने का s1 . ने में ये गलत
है क्यों गलत है क्योंकि स्ट्रिंग्स के
अंदर हमने ऑलरेडी पढ़ा था कि जो
स्ट्रिंग्स एरे नोटेशन से डिफाइन होती है
उसकी वैल्यूज आप चेंज नहीं कर सकते उसमें
वैल्यूज कॉपी कर सकते हैं उस स्ट्रिंग को
कंपेयर कर सकते हैं इनबिल्ट स्ट्रिंग के
फंक्शन यूज कर सकते हैं पर उसकी वैल्यू को
डायरेक्टली आप इज इक्वल टू से चेंज नहीं
कर सकते हां अगर यह कैरेक्टर पॉइंटर होता
तो फिर वो चीज पॉसिबल थी पर यहां पर ये
एरे नोटेशन से डिफाइन हुआ है इसीलिए यहां
पर हमें यूज करना पड़ेगा अपना एक स्ट्रिंग
फंक्शन स्ट्रिंग कॉपी तो उसके लिए ऊपर
लाइब्रेरी इंक्लूड कर लेते हैं स्ट्रिंग ड
ए और नीचे क्या करते हैं इसको करते हैं
कॉमन डाउट और लिखते हैं
स पवा हम किसको किस में कॉपी करना चाहते
हैं हम अपने नाम को s1 . नेम में कॉपी
करना चाहते हैं तो पहली लिखेंगे s1 नेम
दूसरी स्ट्रिंग होगी हमारी हमारा नाउ तो
ये सेकंड स्ट्रिंग हमारी फर्स्ट स्ट्रिंग
के अंदर कॉपी हो जाएगी एंड इसके बाद क्या
करेंगे तीनों प्रॉपर्टीज को हम डिस्प्ले
कराने वाले हैं सबसे पहले लिख देते हैं
स्टूडेंट नेम इज इक्वल टू परसेंटेज s s1 .
n अब जब वैल्यू असाइन करनी थी तब भी s1 .
नेम करना है और जब वैल्यू प्रिंट करनी है
तब भी s1 ड नेम करना है अगर हम डायरेक्टली
सोचे कि s1 को हम यहां पर सिंपली लिख
देंगे और डॉट नहीं यूज करेंगे यानी इसी के
साथ हम सिर्फ s1 की वैल्यू प्रिंट करवाए
उसके बाद हम प्रिंट करने वाले हैं अपने
स्टूडेंट का रोल नंबर परसेंटेज डी से s1
डॉट रोल एंड उसके बाद प्रिंट करेंगे अपने
स्टूडेंट का सीजीपीए परसेंटेज f s1 सज प
और सबके एंड में लगा देंगे बैक स्ल n इसको
कर लेते हैं सेव और इसको रन करके देखते
हैं तो सबसे पहले तो हमारे पास स्टूडेंट
का नाम आ गया है उसके बाद रोल नंबर आ गया
है एंड उसके पास हमारे पास आ गई है
स्टूडेंट का सीजीपीए तो कुछ इस तरीके से
हमारा स्ट्रक्चर जो होता है उसको हम
डिक्लेयर करते हैं सबसे पहले उसके बाद
उसका एक वेरिएबल बनाते हैं फिर वेरिएबल
में पैरामीटर्स को वैल्यू असाइन करते हैं
फिर उस वैल्यू को हम यूज कर सकते हैं कहीं
भी मतलब उसको प्रिंट करवा सकते हैं उस
वैल्यू को चेंज भी कर सकते हैं और उस
वैल्यू को किसी और दू दूसरी वैल्यू को भी
असाइन कर सकते हैं नेक्स्ट चीज इसके अंदर
जो हम पढ़ेंगे कि स्ट्रक्चर को जब हम
डिक्लेयर करते हैं तो मेमोरी के अंदर
एक्चुअली क्या होता है हमने पढ़ा था कि
इंटी जर एरे को डिक्लेयर करते हैं तो
मेमोरी के अंदर तीन कंटीन्यूअस लोकेशंस जो
है ना वो स्टोर हो जाती हैं जैसे इंटी जर
टाइप का हमने एरे बनाया तो उसमें 1 2 3 ये
तीन हमारी मेमोरी की लोकेशंस सेव हो गई
हैं वैसे ही जब हम स्ट्रक्चर बनाते हैं तो
उसके अंदर जो भी डेटा टाइप्स हम डिफाइन
करते हैं उन डेटा टाइप्स के हिसाब से
हमारे मेमोरी के अंदर कुछ-कुछ एरिया है जो
स्टोर हो जाता है वो भी कंटस फैशन में
यानी लगातार जैसे एरे के अंदर एक के बाद
एक के बाद एक ब्लॉक्स होते हैं वैसे ही
यहां पर भी कंटस मेमोरी लोकेशंस होती हैं
जैसे अगर हमने एक स्टूडेंट स्ट्रक्चर
बनाया जिसमें सबसे पहले हमने कैरेक्टर एरे
रखा स्ट्रिंग के लिए तो सबसे पहले एक
स्ट्रिंग के बराबर मेमोरी लोकेशन हमारे
पास स्टोर हो जाएगी जिसको हम नाम दे देंगे
नेम और नेम के अंदर अब हम जितने भी
कैरेक्टर्स अपने नेम स्ट्रिंग के अंदर
स्टोर कराना चाहते हैं वो सारे के सारे
स्टोर हो जाएंगे अब यहां पर हमने साइज जो
दिया है नेम को वो 100 कैरेक्टर के बराबर
है तो नेक्स्ट इंटी जर जो होगा ना वो 100
कैरेक्टर्स बाद एलोकेट होगा तो 21 आ गया
उसके बाद 2110 आएगा तब जाके रोल नंबर को
स्पेस मिलेगी रोल नंबर इंटी जर टाइप का है
तो इसको स्पेस मिलेगी चार बाइट्स की अब
चार बाइट्स के बाद 2114 आएगा जहां पे आएगा
सीजीपीए सीजीपीए हमारा फ्लोट टाइप का है
तो इसको भी उसी के बराबर मेमोरी मिल रही
होगी तो इस तरीके से कंटस फैशन में यानी
लगातार वाले फैशन में एक के बाद एक हमारे
पास मेमोरी लोकेशन स्टोर होती है जब भी हम
एक स्ट्रक्चर को क्रिएट करते हैं ऑब् वियस
कुछ-कुछ कंपाइलर्स के हिसाब से कुछ-कुछ
मशीनस के हिसाब से ये जो फॉर्मेट है हल्का
सा चेंज हो सकता है पर अगर कोई पूछे तो
बाय डिफॉल्ट हम यही अज्यू म करते हैं यही
बताते हैं नेक्स्ट एक प्रैक्टिस क्वेश्चन
कर लेते हैं प्रैक्टिस क्वेश्चन कहता है
राइट अ प्रोग्राम टू स्टोर द डाटा ऑफ थ्री
स्टूडेंट्स एक प्रोग्राम लिखना है उसमें
तीन स्टूडेंट्स का हमें डाटा स्टोर कराना
है तो उसके लिए ऑलरेडी हमने एक स्ट्रक्चर
जो है वो तो क्रिएट ही कर लिया था यानी
हमने अपना स्टूडेंट स्ट्रक्चर बना लिया था
हमने एक स्टूडेंट की इंफॉर्मेशन भी बना ली
है अब क्या करेंगे एक दूसरे स्टूडेंट
स्टूडेंट को क्रिएट करेंगे तो उसको क्रिएट
करने के लिए सारी की सारी इंफॉर्मेशन हम
कॉपी कर सकते हैं सबसे पहले लिख देंगे
यहां पे s2 अब s2 का रोल नंबर लिखेंगे
1660
88.7 यहां पे नाम को हम चेंज कर लेते हैं
और हर जगह कर देते हैं s2 अब सिमिलरली
कॉपी करके एक और स्टूडेंट बनाते हैं इसको
हम नाम देंगे s3 s3 के अंदर भी हम वैल्यूज
को चेंज कर रहे होंगे ऊपर यहां भी चेंज कर
देते हैं s2 यहां भी चेंज कर देते हैं s2
य यहां पर हो गया हमारा s3 एंड s3 तो
शुरुआती जो क्वेश्चंस होते हैं ना उसमें
मैं चाहती हूं कि आप ये कॉपी करने की बजाय
ना इस सिंटेक्स को अगर खुद से फर्स्ट टाइम
लिख रहे हैं तो टाइप करके लिखना है कॉपी
नहीं करना तीनों स्टूडेंट्स के लिए शुरुआत
में कोई नई चीज सीखते हैं ना तो उसको
बिल्कुल बेसिक तरीके से करते हैं इंस्टेड
ऑफ कॉपी पेस्टिंग तो वो ज्यादा टाइम तक
याद रहेगी तो इस तरीके से तीन बार अगर आप
तीन स्टूडेंट्स बना लेंगे ना तो हमारे
स्ट्रक्चर को यूज कैसे करना है उसकी
वैल्यूज को एक्सेस कैसे करना है डिक्लेयर
कैसे करना है वो हमें याद हो जाएगा तो अगर
आप फर्स्ट टाइम खुद से स्ट्रक्चर सीख रहे
और खुद से को सवाल कर रहे हैं तो इसको
बेसिक से लिखना है मतलब कॉपी नहीं करनी
तीनों स्टूडेंट्स की वैल्यूज को अब इसमें
तीनों में s3 हो गया यहां पे चेंज कर देते
हैं रोल नंबर्स और हमारा
सीजीपीए इसको कर लेते हैं सेव एंड रन तो
सबसे पहले फर्स्ट स्टूडेंट की वैल्यूज
हमारे पास आ गई उसके बाद सेकंड स्टूडेंट
की वैल्यूज आ गई एंड उसके बाद थर्ड
स्टूडेंट की वैल्यूज आ गई अब इसकी
फॉर्मेटिंग हम चेंज कर सकते हैं जिस भी
हिसाब से डिस्प्ले करना हो अब यहां पे ना
स्ट्रक्चर्स को यूज़ करके काफी सारे
इंटरेस्टिंग प्रॉब्लम सॉल्व हो सकते हैं
जैसे मान लीजिए आप अपने स्कूल के लिए कोई
सिस्टम बना रहे हैं या कॉलेज के लिए कोई
सिस्टम बना रहे हैं जो स्टूडेंट्स की सारी
इंफॉर्मेशन को स्टोर करता है या फिर आप एक
पूरा का पूरा परसेंटेज कैलकुलेट करना
चाहते हैं जिसमें हर सब्जेक्ट के सेमेस्टर
वाइज मार्क्स स्टोर हो अब ऐसा डाटा स्टोर
कराने के लिए मार्क्स तो खैर सेम टाइप का
हो गया पर स्टूडेंट के पास बहुत सारे
अलग-अलग डिफरेंट टाइप्स का डाटा होता है
उसको स्टोर कराने के लिए अगर आपको एक
सिस्टम बनाना है तो सी में आपको
स्ट्रक्चर्स का इस्तेमाल करना पड़ेगा
जिसमें आप काफी सारी अलग-अलग टाइप की
इंफॉर्मेशन स्टोर करा सकते हैं और अपना
खुद का एक प्रोजेक्ट बना सकते हैं जो आपके
कॉलेज के स्टूडेंट्स के डाटा को हैंडल
करता हो नेक्स्ट टॉपिक की बात करें तो
नेक्स्ट टॉपिक है बेनिफिट्स ऑफ स्ट्रक्चर
यानी स्ट्रक्चर हमने देख लिया कि हां ठीक
है अलग-अलग टाइप का डाटा हम स्टोर करा
लेते हैं पर एक्चुअली कोई
थोरेट्स होते हैं आपके पेपर में सवाल आ
जाए या इंटरव्यू और पूछ ले स्ट्रक्चर्स के
बेनिफिट्स क्या होते हैं जैसे एरे का
बेनिफिट हमने समझा था एरे का बेनिफिट क्या
था कि सेम टाइप का डटा स्टोर कराने के लिए
सबसे पहले तो आपको अलग-अलग वेरिएबल नहीं
बनाने पड़ते मान लीजिए आपको 100 इंटी जर
स्टोर कराने तो आपको 100 डिफरेंट वेरिएबल
याद रखने की जरूरत नहीं है सिंगल एरे
बनाना है और एक एक वेरिएबल इंटी जर को
हमें याद रखना है बाकी सारे हम उससे
एक्सेस कर लेंगे एंड इवन सॉर्ट ंग जैसी जो
एक्टिविटीज होती हैं वो सारी उस पर जैसे
इंक्रीजिंग ऑर्डर में सॉर्ट कर देना
डिक्रीजिंग ऑर्डर में सॉर्ट कर देना एंड
जब हम डिफरेंट डिफरेंट कॉम्प्लेक्शन
एल्गोरिथम्स करेंगे वो बहुत सारे अरेज को
यूज़ करके सॉल्व होते हैं तो वहां पर अरेज
का बेनिफिट आ जाता है वैसे हमसे
स्ट्रक्चर्स का कोई बेनिफिट पूछ सकता है
स्ट्रक्चर का सबसे पहला बेनिफिट होता है
सेव्स अस फ्रॉम क्रिएटिंग टू मेनी वेरिएबल
जैसे अरेज होते हैं अब यहां पे अगर हम
स्टूडेंट के लिए स्ट्रक्चर नहीं बनाते तो
सबसे पहले इसको लिखते s2 रोल नंबर इसको
लिखते s2 सीजी पे इसको s3 रोल नंबर s3
सीजी पे तो कितने सारे अलग-अलग वेरिएबल हो
जाते जिनको हमें डिक्लेयर करना पड़ता तो
हमें ज्यादा वेरिएबल डिक्लेयर नहीं करने
पड़ते क्योंकि स्ट्रक्चर्स पिक्चर में आ
गए हैं दूसरा बेनिफिट ये होता है गुड डेटा
मैनेजमेंट एंड ऑर्गेनाइजेशन अब हमें पता
है हर स्टूडेंट के लिए नाम स्टोर होना है
सीजीपीए स्टोर होना है रोल नंबर स्टोर
होना है हो सकता है कि कहीं पर सीजीपीए की
जगह परसेंटेज स्टोर हो हर स्टूडेंट के लिए
पेरेंट्स का नाम स्टोर हो सकता है हर
स्टूडेंट के लिए उनका आधार आईडी स्टोर हो
सकता है मतलब सारी इंफॉर्मेशन कॉमन रहेगी
तो बार-बार सेम तरीके के वेरिएबल बनाने से
अच्छा है कि अच्छी मैनेजमेंट करें डेटा
मैनेजमेंट भी एक बहुत इंपॉर्टेंट कोर
कांसेप्ट होता है जब हम प्रोग्रामिंग करते
हैं तो अच्छे तरीके से डाटा को कैसे मैनेज
करना है सेम तरीके की इंफॉर्मेशन है तो
उसके लिए सेम डेटा टाइप बना दो जो हम
स्ट्रक्चर की हेल्प से बनाते हैं इसीलिए
सारा जो डाटा होता है ना वो स्ट्रक्चर्ड
फॉर्मेट में हमारे पास आ जाता है नेक्स्ट
अगर बात करें तो नेक्स्ट पढ़ेंगे हम एरे
ऑफ स्ट्रक्चर्स अब हमने पढ़ा था कि हम
इंटी जर्स का एरे बना सकते हैं जैसे
स्टूडेंट्स के हमें रोल नंबर स्टोर करने
हैं तो 100 स्टूडेंट्स के लिए हमने एक एरे
बना लिया स्टूडेंट्स रोल नंबर वैसे ही हम
फ्लोट में अगर प्राइस स्टोर करना चाहते
हैं तो आगे लिख देंगे फ्लोट फिर प्राइस
फिर 100 आइटम्स का प्राइस तो यहां पे पहले
हम डेटा टाइप लिखते हैं फिर वेरिएबल का
नाम और फिर क्वांटिटी पहले डेटा टाइप फिर
वेरिएबल का नाम फिर क्वांटिटी वैसा ही
स्ट्रक्चर्स में होता है स्ट्रक्चर्स के
भी हम ऐसे ही अरेज बना सकते हैं पहले डेटा
टाइप यानी हमारा स्ट्रक्चर स्टूडेंट फिर
वेरिएबल का नाम और फिर उसके बाद क्वांटिटी
पहले डटा टाइप फिर वेरिएबल का नाम फिर
क्वांटिटी तो यहां पे हमने जो एरे ऑफ
स्ट्रक्चर्स डिक्लेयर किया है उसको अगर
समझने निकले तो सबसे पहले तो हमने डेटा
टाइप बता दिया कि स्ट्रक्चर स्टूडेंट है
तीनों अरेज का डेटा टाइप फिर हमने लिया है
ईसी तो यहां पे इलेक्ट्रॉनिक्स के 100
बच्चों की इंफॉर्मेशन स्टोर कराएंगे
स्ट्रक्चर के अंदर तो हमने नंबर दे दिया
है 100 फिर सीओई के 100 बच्चों की
इंफॉर्मेशन स्टोर कराएंगे फिर आईटी के 100
बच्चों की इंफॉर्मेशन स्टोर कराएंगे तो ये
तीन अलग-अलग एरे हो गए अब स्टूडेंट तो
एजिस्ट करते थे ही स्टूडेंट स्ट्रक्चर
हमने ऑलरेडी बना लिया अब यहां पे हम चाहते
हैं कि ईसी के जो 100 बच्चे हैं सीओई
कंप्यूटर साइंस के जो 100 बच्चे हैं और
आईटी के जो 100 बच्चे हैं इनके लिए
अलग-अलग इंफॉर्मेशन स्टोर हो तो आप इनके
लिए अब अलग-अलग एरिज बना लेंगे और एक्सेस
कैसे करेंगे एक्सेस इस फॉर्मेट में करेंगे
कि पहले एरे का नाम लिखना है फिर इंडेक्स
लिखना है फिर डॉट रोल नंबर तो इससे क्या
होगा कि हमने मेमोरी के अंदर अपने 100
स्ट्रक्चर्स बना लिए इसमें यह है हमारा
ईईसीई का रोए स्टूडेंट ये ईसी का फर्स्ट
स्टूडेंट ये ईसी का सेकंड स्टूडेंट एंड सो
ऑन इस स्टूडेंट के अंदर अपने पास अपना एक
नाम एक रोल नंबर और एक सीजीपीए स्टूडेंट
के पास भी अपना एक नाम एक रोल नंबर और एक
सीजीपीए एंड सेम थ्री इंफॉर्मेशन फॉर दिस
स्टूडेंट हर स्टूडेंट के पास अपनी एक
इंडिविजुअल इंफॉर्मेशन है और इस
इंफॉर्मेशन को अगर मान लीजिए इस स्टूडेंट
के ईसी 0 ए स्टूडेंट के हम रोल नंबर को
एक्सेस करना चाहते हैं तो क्या लिखेंगे
ईसी ऑफ 0 डट रोल नंबर अब इसको रोल नंबर
असाइन करना चाहते हैं जो चाहे मान लीजिए
1664 असाइन कर दिया तो वह असाइनमेंट इस
तरीके से पॉसिबल है तो हम सबसे पहले अपने
एरे का नाम लिखेंगे फिर इंडेक्स लिखेंगे
उसके बाद डॉट लगाकर हम लिखेंगे अपनी उस
प्रॉपर्टी का नाम जिसको हम एक्सेस करना
चाहते हैं वैसे ही आई0 रोल नंबर एंड आई0
सीजीपीए अब एक्चुअली एक एरे ऑफ स्टूडेंट्स
बनाकर देखते हैं पुराने वाले कोड को हटा
लेते हैं तो स्ट्रक्चर स्टूडेंट हमने
ऑलरेडी बनाया हुआ है यहां लिखते हैं
स्ट्रक्ट स्टूडेंट अब एरे का नाम हम देने
वाले हैं ईसी ईसी के अंदर हमारे पास 100
बच्चे हैं तो ईसी के रोत बच्चे का अगर
हमें रोल नंबर स्टोर कराना है तो उसको
लिखेंगे 1664 ईसी के इसी बच्चे का अगर
हमें सीजीपीए स्टोर कराना है सीजीपीए तो
इसको हम लिख देंगे 99.2 और इसी बच्चे का
अगर हमें नाम स्टोर कराना है तो फिर से
एटीआर सीपीवाई सबसे पहले लिखेंगे
0 नेम एंड फिर लिखेंगे अपना नाम अब इसी
इंफॉर्मेशन को प्रिंट भी करा सकते हैं
प्रिंट एफ की फॉर्म में सबसे पहले लिखेंगे
नेम परसेंटेज एस अभी सिर्फ नेम प्रिंट
करवा लेते हैं आप फर्स्ट टाइम कोड लिख रहे
हैं तो आपको तीनों प्रिंट करवाने हैं डॉट
नेम एंड इसको कर लेंगे एक बार रन
तो नाम हमारे पास यहां पर प्रिंट होके आ
गया है सिंटेक्स क्या आ रहा नॉर्मल पहले
डटा टाइप लिखना है फिर वेरिएबल का नाम
लिखना है एरे का नाम और फिर एरे का साइज
और उसमें वही इंडेक्स वाले फॉर्मेट से ही
वैल्यूज को एक्सेस करना है जब भी वैल्यूज
असाइन कर रहे हैं या वैल्यूज प्रिंट करवा
रहे हैं या यूज़ कर रहे हैं नेक्स्ट बात
कर लेते हैं इनिशियल इजेशन ऑफ स्ट्रक्चर्स
की अभी तक हमने क्या किया हमने एक
स्ट्रक्चर को डिक्लेयर कर दिया फिर उसका
एक वेरिएबल बना लिया फिर वेरिएबल की
प्रॉपर्टीज को एक-एक करके एक-एक करके हम
असाइन करते हैं लेकिन हम बार बार डॉट
ऑपरेटर यूज़ करने की जगह एक साथ सारी
प्रॉपर्टीज को भी असाइन कर सकते हैं इसको
कहते हैं इनिश इजिंग स्ट्रक्चर्स तो
स्ट्रक्चर्स को किस फॉर्मेट में इनिश इज
करते हैं सबसे पहले अपने स्ट्रक्चर का नाम
लिख देंगे यानी डेटा टाइप उसके बाद अपने
वेरिएबल का नाम और राइट साइड के अंदर लिख
देंगे अपनी तीनों वैल्यूज को जैसे नाम
लिखना है तो नाम पहले लिख दिया उसके बाद
रोल नंबर उसके बाद हमारा सीजीपीए स्टूडेंट
s2 की बात करें तो उसके लिए भी नाम पहले
लिख दिया फिर रोल नंबर फिर सीजीपीए अब अगर
हम राइट साइड में पैरेंस के अंदर रो लिख
देते हैं तो इसका मतलब होता है कि तीनों
वैल्यूज जो होंगी s3 के लिए वो नल वैल्यूज
होंगी मतलब ज़ीरो सब में चला जाएगा
ऑटोमेटिक तो यहां पे हम डिक्लेयर कर रहे
हैं पर ऑटोमेटिक ज़ीरो उनको असाइन हो
जाएगा तो एक सिंगल लाइन में इनिश इज करने
का फायदा यह होता है कि आपको चार डिफरेंट
लाइंस नहीं लिखनी पड़ती पहले आप क्या करते
s1 को डिक्लेयर करते फिर s1 रोल नंबर
बनाते फिर s1 सीजीपीए बनाते पर अब हम ये
सारे के सारे काम सिंगल लाइन में कर पा
रहे हैं एक बार इसको करके भी देख लेते हैं
इसको कर लेते हैं डिलीट एंड स्ट्रक्ट
स्टूडेंट s1 इ इक्व ट सबसे पहले रोल नंबर
लिख लेते हैं 1664 मैं उसी फॉर्मेट में जा
रही हूं जिस फॉर्मेट में स्ट्रक्चर के
अंदर मैंने पैरामीटर्स को डिफाइन किया है
और मैं यही सजेस्ट करती हूं कि जब भी आप
जैसे चीजों को डिक्लेयर करते हैं ना हमेशा
उसी ऑर्डर में जाना चाहिए जिससे अगर कोई
नया इंसान आके आपका कोड पढ़ रहा है ना कोई
दूसरा प्रोग्रामर तो दिस इज़ अ वेरी गुड
प्रोग्रामिंग हैबिट कि जिस ऑर्डर में आप
चीजें डिक्लेयर करते हैं उसी ऑर्डर में
उनको वैल्यूज असाइन करें ताकि देखने में
सिस्टमिक लगे अच्छा हां सबसे पहले रोल
नंबर लिखा है तो यह रोल नंबर ही होगा उसके
बाद सीजीपीए लिखना है तो सीजीपीए हम अपनी
लिख लेते हैं एंड उसके बाद नाम लिख लेते
हैं और इसको कर देते हैं सेव अब वैल्यूज
को हम पहले की तरह एक्सेस कर पाएंगे जैसे
अगर मैं प्रिंट एफ करना चाहूं स्टूडेंट का
रोल नंबर परसेंटेज डी से तो यहां पे हम
लिख सकते हैं s1 डॉट रोल नंबर इसको कर
लेते हैं सेव एंड
रन तो ये क्या हो रहा है नॉर्मली रन कर
रहा है यानी पहले की तरह तो सिंगल लाइन के
अंदर हमने अपना जो है स्ट्रक्चर का
वेरिएबल बनाया और उसके अंदर वैल्यूज असाइन
कर दी एंड उसके बाद नेक्स्ट लाइन में उन
वैल्यूज को हमने यूज़ कर लिया तो इसी
तरीके से अगर आपको पहले से ही पता है सारी
की सारी वैल्यूज एक स्ट्रक्चर के लिए तो
एक ही गो में उसको असाइन करना सबसे बढ़िया
होता है नेक्स्ट बात करते हैं पॉइंट्स टू
स्ट्रक्चर्स जैसे हमारे पॉइंट्स टू एरे
होते हैं पॉइंट्स टू स्ट्रिंग्स होते हैं
पॉइंट्स टू कैरेक्टर्स होते हैं हर एक
वेरिएबल के लिए हम पॉइंटर बना सकते हैं
वैसे ही एक स्ट्रक्चर के लिए भी हम एक
पॉइंटर बना सकते हैं क्योंकि अल्टीमेटली
स्ट्रक्चर भी एक डेटा टाइप ही है अगर हमने
एक स्ट्रक्चर टाइप का वेरिएबल डिक्लेयर
किया है s1 तो उसके लिए पॉइंटर केसे
डिक्लेयर करेंगे पॉइंटर डिक्लेयर करने के
लिए सबसे पहले तो टाइप हमें लिखना पड़ता
है जैसे हम लिखते हैं इंट स्टार पीटीआर और
ऊपर हमने लिखा इंट a और फिर हम लिखते हैं
पीटीआर = m पर a वही सेम फॉर्मेट रहेगा बस
यहां पे इंट की जगह आ जाएगा स्ट्रक्ट
स्टूडेंट फिर हमारा स्टार पीटीआर और
पीटीआर के अंदर हम असाइन कर देंगे m पर
यानी एड्रेस ऑफ s1 तो सारा का सारा
फॉर्मेट वही रखना है बस डेटा टाइप में इंट
फ्लोट कैर उनकी जगह हमें डेटा टाइप रखना
है स्ट्रक्ट स्टूडेंट जिससे हम बता सकें
कि ये स्ट्रक्चर का पॉइंटर है इसको भी एक
बार करके देख लेते हैं हमने ऊपर जो
स्टूडेंट बनाया है s1 उसके लिए एक पॉइंटर
बनाते हैं स्ट्रक्ट स्टूडेंट स्टार पीटीआर
और इस पीटीआर के अंदर असाइन कर देते हैं
एड्रेस ऑफ s1 अब अगर हमें ये सेम रोल नंबर
प्रिंट करवाना है तो सेम रोल नंबर कैसे
प्रिंट करवाएंगे पहले तो हमने s1 रोल लिख
दिया था अब हम पॉइंटर की हेल्प से प्रिंट
करवाना चाहते हैं तो स्टार पॉइंटर हमें
क्या देगा यहां पे स्टार पॉइंटर हमें
पॉइंटर की वैल्यू दे देता है जैसे अगर
मैंने यहां पे स्टार पॉइंटर लिख दिया
एस्टरिस पॉइंटर या वैल्यू एट एड्रेस ऑफ
पॉइंटर तो ये जो वैल्यू है ये है वैल्यू
पूरे के पूरे s1 की यानी अभी मैं इसकी तरफ
पॉइंट करवा रही हूं पर मुझे पर्टिकुलर
सिर्फ रोल नंबर ही चाहिए तो स्टार पॉइंटर
से मेरे पास पूरा s1 आ गया अब मैं इसके
सामने डॉट रोल लगाकर इसका रोल नंबर ले
आऊंगी आई होप ये चीज हमें क्लियर होगी कि
स्टार पॉइंटर से हम पूरे के पूरे s1 पे पे
पॉइंट करवा रहे हैं और जब डॉट रोल कर रहे
हैं तो हमारे पास पूरा रोल नंबर आ रहा है
तो ये है हमारा पूरा का पूरा वेरिएबल और
यह है सिर्फ एक सिंगल पैरामीटर को
डिस्प्ले कराने का तरीका अब इसको सेव करके
रन करवाते हैं तो फर्स्ट टाइम जो रोल नंबर
हमारे लिए प्रिंट हुआ था स्टूडेंट का
सेकंड टाइम भी सेम वैल्यू हमारे लिए
प्रिंट हुई पर इस बार हमने प्रिंट करवाया
पॉइंट्स की हेल्प से एक छोटा सा मैं चेंज
करके देखती हूं ये अगर आप मेरी स्क्रीन को
देखकर कोड लिख रहे होंगे ना तो हो सकता है
आप में से काफी सारे स्टूडेंट्स ये
मिस्टेक कर दें हम क्या मिस्टेक कर देते
हैं हम यहां पर यह जो पैरेंस है ना इसको
लगा देते हैं स्टार के बाद यानी कुछ इस
तरीके से हम चीज़ कर देते हैं कि पैरेंस
यहां आ गया और यहां आ गया यह क्या देता है
यह हमें एरर देता है क्योंकि स्टार को
हमेशा पॉइंटर के साथ रखना है क्योंकि अब
क्या हो रहा है यह पॉइंटर डॉट रोल ले रहा
है और उसके बाद उसमें स्टार ऑपरेटर लगा
रहा है पर हमें पहले स्टार ऑपरेटर लगाना
है पॉइंटर के साथ और फिर हमें डॉट रोल
नंबर उसका लेना है तो यह फॉर्मेट हमेशा
याद रखना है कि जब भी स्टार पॉइंटर हो
स्ट्रक्चर्स के लिए मतलब ऐसा पॉइंटर हो जो
स्ट्रक्चर की तरफ पॉइंट कर रहा है तो उसको
पहले पेंसिस में डालना है फिर हमें डॉट
ऑपरेटर का इस्तेमाल करना है नेक्स्ट देख
लेते हैं अपना एक एरो ऑपरेटर अभी तक हमने
जो स्ट्रक्चर्स की बात की है तो
स्ट्रक्चर्स के अंदर हम क्या करते हैं s1
रोल नंबर या s1 नेम और अगर यही फॉर्मेट
हमें पॉइंटर में लिखना है तो लिखेंगे
स्टार पीटीआर डॉट रोल नंबर या फिर लिखेंगे
स्टार पीटीआर ड नेम पर अगर हम यह वाला
पॉइंटर वाला फॉर्मेट फॉलो करते हैं ना तो
यह बहुत ज्यादा कॉम्प्लेक्शन आ जाता है तो
इस डॉट फॉर्मेट की जगह हम एरो ऑपरेटर का
इस्तेमाल कर सकते हैं यानी अगर हमने कहीं
पर लिखा है स्टार पीटीआर ड कोड तो उसको हम
चेंज कर सकते हैं टू पीटीआर एरो कोड ये
एरो कैसे लिखना है आपकी स्क्रीन पे आएगा
हाइ फन और ग्रेटर दन का ऑपरेटर तो ये अपने
आप में एक एरो फॉर्म करता है तो जब भी आप
ये एरो बीच में लिख देते हैं ना तो इस
सिंटेक्स को आप इस सिंटेक्स में कन्वर्ट
कर देते हैं और एरो ऑपरेटर वाला जो
सिंटेक्स है वो बहुत ही आसान होता है जैसे
पॉइंट्स में आप यूज कर रहे हैं तो कभी-कभी
एस्टरिस को देख के ना लोग कंफ्यूज हो जाते
हैं कि स्टार किसके साथ जुड़ा हुआ है कौन
सी वैल्यू की हम बात कर रहे हैं पर यहां
से बहुत क्लियर हम देख पा रहे हैं कि
पॉइंटर जिस वैल्यू को पॉइंट कर रहा है
उसमें से आप कोड मुझे लाकर दे दो तो स्टार
किसके साथ असाइन करना है पेंसिस कहां पे
लगाने हैं वो वाली प्रॉब्लम हमारी सॉल्व
हो जाती है और सिंपली हम सिर्फ एक एरो को
लगा पाते हैं इसको भी करके देख लेते हैं
अभी हमने क्या किया था पॉइंटर डॉट रोल
प्रिंट करवाया था यही सेम लाइन कॉपी कर
लेते हैं और पेस्ट कर लेते हैं ये है
हमारा स्टूडेंट डॉट रोल विद पॉइंटर अब हम
प्रिंट करवाएंगे स्टूडेंट एरो रोल इसको
करवाने के लिए यहां पर लिखेंगे पीटीआर एरो
यानी हाइन और ग्रेटर दन का साइन और उसके
बाद लिखेंगे रोल नंबर तो उसको कर लेते हैं
सेव एंड रन तो डॉट रोल नंबर किया तो सेम
वैल्यू प्रिंट हुई पॉइंट्स के साथ भी सेम
और जब एरो ऑपरेटर का इस्तेमाल किया तब भी
हमारे पास सेम वैल्यू प्रिंट होकर आ गई है
अपना नाम और अपना सीजी भी इस एरो ऑपरेटर
से हम प्रिंट करवाने वाले हैं ताकि अच्छे
से जो है चीज दिमाग के अंदर बैठ जाए यहां
पर लिखेंगे नेम नेम परसेंटेज एस और यहां
लिखेंगे अपना
सीजीपीए तो अब हमारे पास रोल नंबर भी आ
गया नेम भी आ गया अपना सीजीपी भी आ गया तो
जब भी पॉइंट्स का इस्तेमाल कर रहे हैं तो
सजेशन ये रहता है आपके लिए कि सिंपलीसिटी
के लिए कोड में कि रीड करने वाले को भी
आसानी हो आपको भी आसानी हो अगली बार पढ़
रहे हैं तो कि आप एरो ऑपरेटर का इस्तेमाल
कर ले वरना आप नॉर्मल अगर स्ट्रक्चर का
वेरिएबल बना रहे हैं तो फिर डॉट ऑपरेटर इज
आल्सो फाइन ये अलग-अलग चीजें ना प्रेफरेंस
दे देती है मतलब चॉइस दे देती हैं
प्रोग्रामर को कि आप अपनी मर्जी से अपने
हिसाब से जो आपका मन करे उस फॉर्मेट में
आप अपना कोड लिख पाए तो चॉइस होने से क्या
होता है तो दो-तीन फॉर्मेट दिख जाते हैं
ना तो एक प्रोग्रामर को लगता है मुझे तो
यार ये डॉट वाला सिंपल लग रहा है या मुझे
तो पॉइंटर का एस्ट रिस्क वाला बढ़िया लग
रहा है या मुझे तो एरो वाला सबसे बढ़िया
लग रहा है मुझे तो ये इस्तेमाल करना है तो
थोड़ा पर्सनलाइजेशन वाली फीलिंग आने लगती
है अपने कोड में कि हां हमने अपनी मर्जी
से जो है सिंटेक्स थोड़ा सा चूज किया है
नेक्स्ट बात करते हैं पासिंग स्ट्रक्चर्स
टू फंक्शन जिस तरीके से हम अलग-अलग डेटा
टाइप्स के वेरिएबल को पास कर सकते हैं
वैसे हम स्ट्रक्चर्स के वेरिएबल को भी पास
कर सकते हैं एक फंक्शन के पास जैसे हम एक
इंटी जर टाइप का a इंटी जर टाइप का बी जो
नंबर है वो एक फंक्शन को पास कर देते थे
वैसे ही हम यहां पे स्ट्रक्चर्स के जो
वेरिएबल बनाते हैं स्टूडेंट वन स्टूडेंट
टू स्टूडेंट थ्री उनको भी हम अपने फंक्शंस
के अंदर पास कर सकते हैं जैसे जिन फंक्शंस
के पैरामीटर्स के अंदर एक एक स्ट्रक्चर
आता है उनको किस तरीके से लिखते हैं
नॉर्मली फंक्शन का टाइप लिखते हैं यानी
रिटर्न टाइप और उसके बाद फंक्शन का नाम और
अगर उसके अंदर पैरामीटर स्ट्रक्चर आना है
तो सबसे पहले टाइप लिखेंगे जैसे हम लिखते
थे इंट a तो यहां पर इंट की जगह आ जाएगा
स्ट्रक्ट स्टूडेंट और a की जगह यानी
वेरिएबल के नाम में आ जाएगा हमारे पास s1
तो अगर पास ऑन करना है फंक्शन को पैरामीटर
मान लीजिए हमने कोई स्ट्रक्ट स्टूडेंट
बनाया s1 नाम से मेन फंक्शन के अंदर तो अब
मुझे कॉल करना है अगर प्रिंट इंफो तो
प्रिंट इंफो के अंदर आई कैन सिंपली राइट
s1 जिससे s1 मेरा इस फंक्शन के पास चला
जाएगा तो अब एक फंक्शन लिख लेते हैं इसी
सेम चीज को करने के लिए यहां पर लिखेंगे
वॉइड प्रिंट इंफो और फिर लिखेंगे टाइप
स्ट्रक्ट स्टूडेंट s1 अब अगर ये सेम लाइन
हम यहां पर लिखने की बजाय ऊपर लिख देते और
इसको सेव करवाते तो हमारे पास एरर आ जाता
एरर इसलिए आता क्योंकि स्टूडेंट को अभी
हमने डिफाइन नहीं किया कंपाइलर क्या करता
है ऊपर से लाइन बाय लाइन शुरू करता है
पहले उसने ये लाइन रीड कर यह लाइन रीड करी
फिर यह लाइन रीड करी यहां पे वो कंफ्यूज
हो गया कि इंटी जर फ्लोट कैरेक्टर तो मुझे
पता था यह स्ट्रक्ट स्टूडेंट क्या है अभी
तक क्योंकि उसने स्ट्र स्टूडेंट को पढ़ा
नहीं है इसीलिए पहले जो स्ट्रक्चर
डिक्लेयर कर दिया ना उसी के बाद उसको हम
यूज कर सकते हैं दूसरे डिफरेंट फंक्शंस
में या इनफैक्ट अपने मेन फंक्शन के अंदर
भी अब यहां पे हमने अपने फंक्शन को कर
दिया है डिक्लेयर यहां पे उसको डिफाइन कर
लेते हैं इस फंक्शन के अंदर हम प्रिंट
करवाने वाले हैं अपने तीनों वैल्यूज को तो
स्टूडेंट की अगर इंफॉर्मेशन कभी प्रिंट
करवानी है तो इस फंक्शन को कॉल करेंगे
यहां पे एक और प्रिंट एफ स्टेटमेंट लिख
देते हैं ऊपर स्टूडेंट इंफॉर्मेशन
इस बार हम डॉट ऑपरेटर का इस्तेमाल करेंगे
एरो ऑपरेटर को यूज़ नहीं कर रहे होंगे
यहां लिख देते हैं डॉट रोल नंबर s1 . नेम
और हमारा s1
cp1 के लिए इस प्रिंट इंफो फंक्शन को कॉल
लगाते हैं यहां पर हमने s1 ऑलरेडी एक
क्रिएट कर रखा है अब कॉल लगाएंगे प्रिंट
इंफो को उसमें पास कर देंगे अपना s1 तो
यहां पे s1 को हमने एज आर्गुमेंट पास किया
और इसके अंदर इस s1 के अंदर हमारा जो
आर्गुमेंट है वो कॉपी होकर जाएगा
स्ट्रक्चर्स जो है वो कॉल बाय वैल्यू से
जाते हैं मतलब यहां पर हमने जो स्ट्रक्चर
बनाया है वो यहां पर नहीं है ये s1 एक
दूसरा स्ट्रक्चर है जिसमें हमारे
आर्गुमेंट की एक कॉपी बन रही होगी तो जब
हमने प्रिंट इंफो कॉल किया तो मेमोरी के
अंदर दो स्ट्रक्चर एजिस्ट करेंगे जिन
दोनों का नाम s1 होगा तो इसको कर लेते हैं
सेव और इसको करते हैं अब
रन तो यह स्टूडेंट की पूरी इंफॉर्मेशन
हमारे पास प्रिंट होकर आ गई है अब कॉल बाय
वैल्यू हो गया है कॉल बाय रेफरेंस उसको भी
एक बार हल्का सा चेक कर लेते हैं s1 की
वैल्यू को यानी इसके रोल नंबर को चेंज
करके हम यहां पे इसको कर लेते हैं 1660
पहले 1664 था अब हमने 1660 कर दिया और इस
रोल नंबर को अब मेन फंक्शन के अंदर प्रिंट
करवा देते हैं फंक्शन कॉल के बाद तो क्या
हुआ मेन फंक्शन ने जो रोल नंबर प्रिंट
करवाया वो 1664 ही है ओरिजिनल ही है चेंज
नहीं हुआ क्यों क्योंकि स्ट्रक्चर्स पास
हुए हैं कॉल बाय वैल्यू से वहीं पर अगर ये
वाला जो चेंज है ये हम इस लाइन से पहले
मेन फंक्शन के अंदर ही कर देते तो उस केस
में हमारे पास जो रोल नंबर प्रिंट होकर
आता वो होता 1660 तो मेन फंक्शन के अंदर
चेंज हो सकता है पर दूसरे स्ट्रक्चर की
वैल्यू को चेंज नहीं कर सकता क्योंकि वहां
पर जो पैरामीटर है वो ओरिजिनल आर्गुमेंट
की कॉपी है नेक्स्ट जिस टॉपिक की हम बात
करेंगे उसमें पढ़ने वाले हैं टाइप डेफ
कीवर्ड को अभी तक बहुत सारे हमने कीवर्ड्स
पढ़ लिए हैं केस कीवर्ड पढ़ लिया है इंट
हमारा एक कीवर्ड है फ्लोट एक कीवर्ड है
उसके अलावा स्विच एक कीवर्ड है ब्रेक एक
कीवर्ड है कंटिन्यू एक कीवर्ड है वैसे ही
एक और कीवर्ड होता है सी के अंदर जिसका
नाम है टाइप डेफ टाइप डेफ का काम होता है
टू क्रिएट एन एलियस फॉर डेटा टाइप्स अब
जैसे घर में हमारा जो नाम जिस नाम से हमें
पुकारा जाता है शायद ही वह हमारा असली नाम
हो हर किसी का अपना एक कोई निकनेम होता है
जैसे मान लीजिए आपका दोस्त है कोई सुरेश
और उसका निकनेम है चिंटू अब उसको हम चिंटू
के नाम से बुलाना ज जदा पसंद करेंगे
ज्यादा वो यूसेज रहेगा उसके नाम का राद
देन कि हम उसको उसके ऑफिशियल पूरे नाम से
बुलाए तो वैसे ही काम होता है हमारे टाइप
डेफ का टाइप डेफ का काम है निक नेम्स
क्रिएट कर देना निक नेम्स यानी एलियस जब
एक व्यक्ति के लिए जो स्पाइज होते हैं ना
जैसे जेम्स बॉन्ड आपने देखी होगी तो जेम्स
बॉन्ड का जो एलियस है वो 007 है या फिर
जेम्स बॉन्ड पता भी नहीं है कि उसका असली
नाम है या नहीं तो जितने भी जो मूवी के
एक्टर्स आए जिन्होंने वो रोल जो प्ले किया
है उन सबका नाम जेम्स बॉन्ड है तो मान स
सकते हैं कि जेम्स बॉन्ड एक एलियस की तरह
है यानी वो उस कैरेक्टर के लिए एक निकनेम
है जरूरी नहीं है वो उसका असली नाम है तो
एलियस क्या होते हैं एलियस एक अल्टरनेटिव
एक अलग एक डिफरेंट नाम होता है जिससे हम
उसी चीज को बुलाते हैं तो अगर हमें अपने
डेटा टाइप्स के लिए एलियस क्रिएट करना
होता है तो हम यूज़ करते हैं अपने टाइप
डेफ कीवर्ड का अब ये एलियस हम अपने इंटी
जर डाटा टाइप के लिए भी क्रिएट कर सकते
हैं फ्लोट के लिए भी कर सकते हैं अपने केर
के लिए भी कर सकते हैं पर ये ना ऑलरेडी
छोटे डाटा टाइप्स हैं इनके लिए और छोटे का
वेरिएबल हम क्या ही क्रिएट कर सकते हैं
ज्यादा से ज्यादा हम क्या कर देंगे
कैरेक्टर को सीच के नाम से बुलाने लग
जाएंगे फ्लोट को एफएल के नाम से बुलाने लग
जाएंगे इंट को आई के नाम से बुलाने लग
जाएंगे पर बुलाना नहीं चाहिए क्योंकि आई
ऑलरेडी हम काफी ज्यादा लूप्स में इस्तेमाल
कर लेते हैं पर इनका असली यूसेज यानी टाइप
डेफ का असली यूसेज आता है जब हम
स्ट्रक्चर्स की बात करते हैं क्योंकि
स्ट्रक्चर को तो आप कुछ भी नाम दे सकते
हैं जैसे यहां पर मैंने एग्जांपल लिया है
कि हमने एक स्ट्रक्चर बनाया इसको हमने नाम
दे दिया कंप्यूटर इंजीनियरिंग स्टूडेंट पर
हर बार जब भी हम स्ट्रक्चर का वेरिएबल
डिक्लेयर करेंगे उसको हम कंप्यूटर
इंजीनियरिंग स्टूडेंट नहीं लिखना चाहते
इसीलिए कंप्यूटर इंजीनियरिंग स्टूडेंट की
जगह मतलब हर बार मैं लिखूं स्ट्रक्ट
कंप्यूटर इंजीनियरिंग स्टूडेंट उसकी जगह
मैं एक सिंपल नाम जाती हूं तो व सिंपल नाम
मैंने ले लिया सीओई सीओई में स्टूडेंट s1
और इस सीओई का मतलब है कंप्यूटर
इंजीनियरिंग स्टूडेंट नाम का स्ट्रक्चर तो
यह चीज कैसे पॉसिबल हो पाएगी यह पॉसिबल हो
पाएगी टाइप डेफ कीवर्ड से तो स्ट्रक्चर को
जब भी हम डिफाइन करते हैं ना उसमें पहले
टाइप डेफ उसके बाद स्ट्रक्चर एंड उसके बाद
हमारे स्ट्रक्चर का पूरा नाम फिर नॉर्मली
उस स्ट्रक्चर के सारे के सारे पैरामीटर्स
को डिफाइन करना है पैरेंस को बंद कर देना
है और फिर उसका एलियस लिख देना है यानी यह
है असली नाम हमारे स्ट्रक्चर का और यह है
उसका निक नेम जिससे हम उसको बुला रहे
होंगे एलियस लिख देंगे उसके बाद लिख देंगे
स्टेटमेंट टर्मिनेटर और अब अगर हमें उसी
स्ट्रक्चर का एक वेरिएबल बनाना है तो
सिंपली एलियस को लिखना है यानी सिर्फ सीओई
लिखेंगे यहां पे सीओई स्टूडेंट वन राद देन
कंप्यूटर ए इंजीनियरिंग स्टूडेंट वन तो एक
बार करके देखते हैं सबसे पहले क्या करेंगे
मेन फंक्शन में अपने कोड को हटा देते
हैं अपने एसिस्टिंग स्टूडेंट के लिए एक
एलियस बनाते हैं तो यहां लिखेंगे टाइप डेफ
तो स्ट्रक्चर स्टूडेंट के सामने सिंपली
टाइप डेफ लिख देना है और लास्ट में उसका
एलियस तो स्टूडेंट के लिए एलियस हमने बना
दिया स्टू इसको कर लेते हैं सेव तो पहले
अगर हम क्या करते थे पहले लिखते थे
स्ट्रक्ट स्टूडेंट
s1 इसकी जगह अब हमें सिंपली लिखना पड़ेगा
s2 यानी इस पूरे स्ट्रक्ट स्टूडेंट को
सिर्फ एयू ने रिप्लेस कर लिया अब ना हमें
स्ट्रक्ट बताना पड़ा ना हमें स्टूडेंट
बनाना पड़ा सिंपली हम एसटी यू लिख सकते
हैं अगर डिफरेंट एक एग्जांपल ले तो उसमें
लिख सकते हैं टाइप डेफ
स्ट्रक्ट कंप्यूटर
इंजीनियरिंग स्टूडेंट जिसके अंदर हम यह
सेम तीनों वैल्यूज जो हैं वो लिख रहे
होंगे और इसका एलियस हमने बना दिया
सीओई तो अब हम इसको सीओई के नाम से भी
बुला सकते हैं इस लंबे नाम की जगह सीओई का
एक वेरिएबल बना लेते हैं सीओई s1 अब इस s1
में हम सारी की सारी वैल्यूज को असाइन कर
देते हैं रोल नंबर इ इक्व 1664 s1 सीजीपीए
इ 9.2 वहीं पर एटीआर सीपीवाई भी कर सकते
हैं जिसमें पास कर देंगे s1 नेम एंड उसके
बाद हमारा नाम इन वैल्यूज को नॉर्मली हम
प्रिंट भी कर सकते हैं प्रिंट कैसे करेंगे
स्टूडेंट नेम इज
परसेंटेज s s1 नेम तो वो पूरा स्ट्रक्ट
कंप्यूटर इंजीनियरिंग स्टूडेंट की जगह
सिंपली हमें एक छोटा सा प्यारा सा नाम
लिखना पड़ा जिसको लिखने में भी टाइम नहीं
लगा समझने में भी टाइम नहीं लगा और फिर
हमने सारे के सारे पैरामीटर्स को डिफाइन
कर दिया इसको भी एक बार रन करके देख लेते
हैं रन करके हमारे पास सही आउटपुट आ र है
तो अगर आप एक स्ट्रक्चर बना रहे हैं और
उसका नाम आप चाहते हैं कि यार अब मुझे तो
कंप्यूटर इंजीनियरिंग पूरा लिखना पड़ेगा
इन केस कोई नया प्रोग्रामर आता है यहां पे
मैं सिर्फ सीओई नहीं लिख सकती क्योंकि
सीओई बच्चों को समझ में आता होगा टीचर्स
को समझ में आता होगा पर एक नए कोडर को समझ
में नहीं आएगा तो वहां पे आप हां
स्ट्रक्चर को डिफाइन करते हुए पूरा नाम
लिखिए पर बाकी जगह कोड में जब भी यूज करना
है तो उसको बार-बार लिखने का क्या पॉइंट
है तो वहां पे आप छोटा सा निकनेम दे दो
अपने स्ट्रक्चर को यही सेम चीज हम डिफरेंट
इंटी जर के लिए भी कर सकते हैं फ्लोट के
लिए भी कर सकते हैं कैरेक्टर के लिए भी कर
सकते हैं पर करते नहीं है क्योंकि उनके
ऑलरेडी बहुत ही छोटे-छोटे नाम है तो उनको
एलियस देने का ज्यादा कोई मतलब बनता नहीं
है मोस्टली केसेस में इसीलिए टाइप डेफ को
जब भी इस्तेमाल करते हैं मोस्टली
स्ट्रक्चर्स के केसेस में उसका इस्तेमाल
होता है अब स्ट्रक्चर्स पर बेस्ड कुछ
सवालों को हम सॉल्व कर लेते हैं इनमें से
सबसे पहला सवाल है एंटर एड्रेस एड्रेस में
क्या हाउस नंबर आपका ब्लॉक नंबर या इसको
गली नंबर भी कह सकते हैं हमारी सिटी और
हमारी स्टेट ऑफ फाइव पीपल अब यहां पे जो
सबसे पहली चीज हम नोटिस करेंगे कि हमें
लोगों का एड्रेस जो है वो स्टोर कराना है
जिसमें हाउस नंबर ब्लॉक नंबर सिटी और
स्टेट ये चार पैरामीटर्स है अब पांच लोगों
के लिए चार पैरामीटर सेम है इसमें जो हाउस
नंबर होगा यह कोई इंटी जर टाइप का होगा
ब्लॉक नंबर होगा यह भी हमारा इंटी जर टाइप
का हो सकता है सिटी जो होगी वो हमारी
स्ट्रिंग होगी और स्टेट भी हमारी क्या
होगी स्ट्रिंग होगी तो यहां पे बेसिकली
हमें कह रहे हैं अलग-अलग टाइप को आप ग्रुप
करके एक एड्रेस बना दो तो यहां हमारे
दिमाग में चमकेगा कि हमें तो जी स्ट्रक्चर
टाइप का एक वेरिएबल चाहिए होगा और इस
स्ट्रक्चर के हमें ऐसे पांच वेरिएबल चाहिए
होंगे पांच स्ट्रक्चर्स चाहिए होंगे पांच
लोगों की इंफॉर्मेशन स्टोर कराने के लिए
तो उ इस में क्या करेंगे एक एरे ऑफ
स्ट्रक्चर्स बना देंगे पहले स्ट्रक्चर
डिफाइन करेंगे एड्रेस नाम का फिर उसका एरे
बना देंगे और फिर पांच लोगों की
इंफॉर्मेशन उस एरे के अंदर स्टोर करा
लेंगे इसको एक बार थोड़ा सा गहराई में
जाके देखते हैं हम सबसे पहले क्या करेंगे
सबसे पहले लिखेंगे स्ट्रक्ट फिर हमारे
स्ट्रक्चर का नाम एड्रेस उसके अंदर अपने
स्ट्रक्चर की इंफॉर्मेशन को लिखेंगे
इंफॉर्मेशन में सबसे पहले आ जाएगा हमारा
इंटी जर हाउस नंबर उसके बाद आ जाएगा इंटी
जर ब्लॉक फिर आ जाएगा हमारा कैरेक्टर
स्ट्रिंग
हमारी सिटी इसको 100 कैरेक्टर्स का बना
लेते हैं एंड उसके बाद आ जाएगी हमारी
कैरेक्टर स्ट्रिंग हमारा स्टेट इसको भी
100 कैरेक्टर्स का बना लेते हैं एंड यहां
पे हो जाएगा हमारा एड्रेस तो इस तरीके से
हमें अपना एड्रेस नाम का स्ट्रक्चर बनाना
है उसके बाद इसी सेम स्ट्रक्चर का हम एक
एरे बना लेंगे यानी क्या लिखेंगे स्ट्रक्ट
एड्रेस यह हो गया हमारा टाइप इनफैक्ट हम
इसको टाइप डेफ से क्या कर सकते हैं एलियस
भी बना सकते हैं यहां लिख देंगे टाइप डेफ
यहां लिख देंगे हमारा एडीडी तो हर जगह हम
एडीडी लिख सकते हैं इंस्टेड ऑफ राइटिंग
स्ट्रक्ट एड्रेस पर यहां पर अभी के लिए
स्ट्रक्ट एड्रेस ही देख लेते हैं फिर लिख
देंगे अपने वेरिएबल का नाम एड्रेसस कितने
लोगों के लिए पांच लोगों के लिए तो इस
तरीके से यह बन जाएगा हमारा एरे ऑफ
स्ट्रक्चर्स अब इसमें पांचों लोगों की
इंफॉर्मेशन को या तो यूजर से इनपुट करा लो
या खुद से जो भी है वैल्यू असाइन करके
उसको हम प्रिंट करवा सकते हैं अब कोड करके
देख लेते हैं सेम चीज का इस कोड को यहां
से डा देते हैं और अब बनाते हैं एक नया
स्ट्रक्चर स्ट्रक्ट एड्रेस नाम से इसके
अंदर सबसे पहले स्टोर कराएंगे इंट हाउस
नंबर उसके बाद इंट ब्लॉक फिर लिखेंगे
कैरेक्टर सिटी ऑफ 100 फिर कैरेक्टर स्टेट
ऑफ 100 और यहां पे स्टेटमेंट टर्मिनेटर
तोय एड्रेस नाम का हमने स्ट्रक्चर बना
लिया अब इसका एक एरे बना लेते हैं
स्ट्रक्ट एड्रेस एरे को नाम छोटा दे देते
हैं तो एड्स नाम इसको दे देते हैं और इसको
साइज रखते हैं पांच एक फंक्शन बना लेते
हैं एड्रेस की इंफॉर्मेशन को प्रिंट
करवाने के लिए और मेन फंक्शन के अंदर यूजर
से इनपुट ले लेते हैं तो सबसे पहले इनपुट
लेने के लिए
प्रिंट एंटर इंफो फॉर पर्सन वन पर्सन वन
के लिए इंफॉर्मेशन एंटर
होगी स्कैन कर लेंगे हम उस इंफॉर्मेशन को
सबसे पहले हमारे पास हाउस नंबर आएगा तो
एड्स ऑफ 0 डॉट हाउस नंबर सेम तरीके से
हमारे पास आएगा हमारा ब्लॉक तो यहां लिख
देंगे डस
डॉ0 ड ब्लॉक अब हमारे पास आएगी हमारी
स्ट्रिंग यानी हमारी सिटी तो डॉट सिटी एंड
फिर हमारा स्टेट और यहां पर क्योंकि हम
इंटी जर लिख रहे हैं तो यहां पर हमें
लगाना पड़ेगा m पर ताकि हम एड्रेस ऑफ
ब्लॉक या एड्रेस ऑफ हाउस नंबर तक पहुंच
जाए उसी सेम तरीके से हम चार और लोगों की
इंफॉर्मेशन जो है एंटर करा लेंगे यहां पर
लिख देते हैं टू और ये सारी इंफॉर्मेशन
प्रिंट कराने के लिए एक फंक्शन भी बना
लेते हैं इसका नाम लिखते हैं प्रिंट
एड्रेस जिसमें पास करेंगे हम स्ट्रक्चर
एड्रेस एंड इस फंक्शन में लिख लेते हैं
एड्रेसस इस एड्रेस को अब कंबाइन करके
प्रिंट करवाते हैं कंबाइन करके कैसे
प्रिंट करवाएंगे सबसे पहले लिखेंगे हाउस
नंबर परसेंटेज डी हाउस नंबर के बाद
लगाएंगे कॉमा इसके बाद लिखेंगे अपना ब्लॉक
नंबर परसेंटेज डी ब्लॉक नंबर के बाद
लिखेंगे परसेंटेज s हमारी सिटी और फिर
परसेंटेज एस हमारा स्टेट तो यहां पर लिख
देते हैं ऐड डॉट सबसे पहले आएगा हमारा
हाउस नंबर फिर ऐड डॉट हमारा ब्लॉक फिर ऐड
डॉट हमारी सिटी एंड देन फाइनली ड डॉट
हमारा स्टेट तो एक सिंगल लाइन में पूरा का
पूरा एड्रेस हमें स्टोर कराना है जैसे
हमारा नॉर्मली डेली लाइफ में पूरा एड्रेस
हम सिंगल लाइन में लिखते हैं तो इसको कर
लेते हैं सेव एंड इस पूरे के पूरे कोड को
रन करेंगे पहले हम अपने मेन फंक्शन से
क्या करते हैं वैल्यू जो है उसके लिए
प्रिंट एड्रेस फंक्शन कॉल करते हैं सबसे
पहले कॉल लगाएंगे एड्स ऑफ जीरो के लिए एंड
सिमिलर तरीके की चार और कॉल्स हम लगाने
वाले हैं हल्की सी फॉर्मेटिंग जो इसको ठीक
कर लेते हैं कि अच्छी फॉर्मेटिंग मुझे कोड
के अंदर बहुत अच्छी लगती है फोर अब इसको
सेव करके रन कर लेते हैं तो काफी सारी
इंफॉर्मेशन हमें ऐड करनी पड़ेगी तो इस
इंफॉर्मेशन को जल्दी जल्दी ऐड कर लेते हैं
पहले हमने हाउस नंबर एंटर किया है फिर
हमने ब्लॉक नंबर एंटर किया दोनों इंटी
जर्स पहले एंटर करने हैं फिर दो
स्ट्रिंग्स एंटर करनी है पहले सिटी फिर
हमारी
स्टेट पांच लोगों की हमने इंफॉर्मेशन एंटर
कर दिया और पांचों का हमारे पास एड्रेस आ
गया है एड्रेस वन हमने ये एंटर किया था
एड्रेस टू में ये एंटर किया था एड्रेस
थ्री में ये एंटर किया था एड्रेस फोर में
ये और एड्रेस फाइव में ये तो ये सारी की
सारी इंफॉर्मेशन हम अलग-अलग तरीके से एंटर
करवा रहे हैं इस सेम सवाल के अंदर हमने
काफी सारे कांसेप्ट सीख लिए सबसे पहला कि
स्ट्रक्चर को कैसे डिफाइन करने हैं दूसरा
स्ट्रक्चर को फंक्शन के अंदर कैसे यूज
करना है तीसरा यह कि स्ट्रक्चर का एरे
कैसे बनाना है ओबवियसली इनपुट आउटपुट तो
है ही तो एक सिंगल सवाल में काफी सारे
कांसेप्ट हमारे रिवाइज हो गए नेक्स्ट सवाल
जिसकी बात कर रहे होंगे क्रिएट अ
स्ट्रक्चर टू स्टोर वेक्टर्स एंड देन मेक
अ फंक्शन टू रिटर्न सम ऑफ टू वेक्टर्स
सबसे पहले बात करते हैं कि वेक्टर होता
क्या है एक्चुअली इसको अगर मैं सर्च करूं
वेक्टर्स तो वेक्टर्स में ऊपर हमारे पास
ऐसे तरीके के कुछ फिगर्स आते हैं तो
वेक्टर्स ज्योमेटिक एंटिटीज दैट हैव
मैग्निटिया या मैथ्स पढ़ा होगा उनको
ऑलरेडी पता होगा कि वेक्टर्स क्या होते
हैं वेक्टर्स हमारे कुछ-कुछ एंटिटीज होती
हैं जिसकी एक डायरेक्शन होती है और साथ के
साथ उसकी एक
मैग्निटिया हमारा y एक्सिस अब वेक्टर्स को
कैसे डिफाइन कर सकते हैं वेक्टर्स होती
हैं हमारे x और y एक्सिस वाले 2d प्लेन पे
स्ट्रेट लाइंस एक मान लीजिए ये स्ट्रेट
लाइन है तो इस लाइन को इस पर्टिकुलर लाइन
को हम एक वेक्टर कहते हैं इस वेक्टर का
मतलब इस स्ट्रेट लाइन का इस एरो का हमारे
x एक्सिस से कुछ डिस्टेंस होगा इस
डिस्टेंस को हम कह देते हैं y कैपिटल y रख
लेते हैं और इसका y एक्सिस से कुछ
डिस्टेंस होगा इसको कह देते हैं कपि x तो
एक वेक्टर को इस लाइन को जब हमें
रिप्रेजेंट करना हो तो इसको रिप्रेजेंट
करते हैं इन दो वैल्यूज की फॉर्म में तो
इन दो वैल्यूज को कैसे लिखा जाता है इसको
लिखा जाता है x आ कैप + y ज कैप तो अब ये
रिप्रेजेंट करता है x एक्सिस में डिस्टेंस
ये रिप्रेजेंट करता है y एक्सिस में
डिस्टेंस तो इस तरीके का फार्मूला रहता है
इससे हम प्रोग्रामर्स को कोडर्स को मैथ
वाली चीज में नहीं घुसना सिंपल कांसेप्ट
याद रखना है कि जब भी वेक्टर को डिफाइन
करना है तो उसके लिए एक x पैरामीटर होगा
एक y पैरामीटर होगा यहां से हमें सिंपल सी
बात पता चली कि जब भी वेक्टर को कोड के
अंदर लिखना है तो एक स्ट्रक्चर बनाना
पड़ेगा उस स्ट्रक्चर के अंदर एक x वाली
वैल्यू लेंगे और एक y वाली वैल्यू लेंगे
और देन मेक अ फंक्शन टू रिटर्न सम ऑफ टू
वेक्टर्स अब सम ऑफ टू वेक्टर्स को कैसे
कैलकुलेट किया जाता है मैथ के अंदर मान
लीजिए हमारे पास पहला वेक्टर है x1 आ कैप
् y1 ज कैप और दूसरा वेक्टर है हमारे पास
x2 आ कैप + y2 ज कैप तो इन दोनों का सम
हमारे पास निकल कर आता है x1 + x2 i कैप
यानी यह अलग वेरिएबल के अंदर स्टोर होगा ्
y1 + y2 j कैप और यह अलग वेरिएबल के अंदर
स्टोर होगा तो एक वेरिएबल की वैल्यू सेम
के पास जाती है दूसरे वेरिएबल की वैल्यू
सेम के पास जाती है तो इस तरीके से हम सम
लेंगे इसको कोड की हेल्प से करेंगे तो
ज्यादा हमें अच्छे से बेटर तरीके से
चीज़ें समझ आएंगी सबसे पहले क्या करते हैं
एक स्ट्रक्चर बनाते हैं स्ट्रक्ट वेक्टर
वेक्टर के लिए स्ट्रक्चर बनाएंगे अब एक
वेक्टर के दो कॉम्पोनेंट्स होते हैं एक x
कॉम्पोनेंट होगा एक y कॉम्पोनेंट होगा तो
यहां लिखेंगे इंट x और यहां लिखेंगे इंट y
अब इसके लिए हम 2d एरिया भी बना सकते थे
पर स्ट्रक्चर बनाने का फायदा ये होता है
कि हमें पता रहेगा कि एक वेक्टर के दो
कॉम्पोनेंट्स होते हैं एक x होता है एक y
होता है 2d एरे में या एरे में हमें ट्रैक
करना पड़ता कि कौन सा कहां पर है 2d एरे
भी इसका एक काफी अच्छा हम सॉल्यूशन कह
सकते हैं वडी एरे में हमें काफी सारी
परेशानी आती पर वेक्टर से हम बनाएंगे तो x
वा कॉम्पोनेंट हमारे लिए थोड़ा बेटर रहेगा
समझने में अब पहला वेक्टर बनाते हैं
स्ट्रक्ट वेक्टर v1 v1 को वैल्यू असाइन कर
देते हैं x में वैल्यू रखी पाच y में
वैल्यू रखी 10 एंड अब सेम तरीके से हम
बनाते हैं दूसरा वेक्टर हमारा v2 v2 के
अंदर आ जाता है पहली वैल्यू तीन और दूसरी
वैल्यू सात तो ये पहला वेक्टर हमने बना
लिया ये बना लिया हमने दूसरा वेक्टर अब
हमें क्या करना है इन दोनों वेक्टर्स का
ये स्टेटमेंट टर्मिनेटर यहां पे नहीं
भूलना इन दोनों वेक्टर्स का हमें एक सम
वेक्टर कैलकुलेट करना है सम वेक्टर के लिए
पहले बना लेते हैं स्ट्रक्ट वेक्टर सम सम
को इनिश इज कर देते हैं जीरो के साथ मतलब
अभी इसमें कोई वैल्यू नहीं और हमें बनाना
है एक फंक्शन सम कैलकुलेट करने के लिए तो
उसमें लिख देते हैं वॉइड कैलकुलेट सम इसके
अंदर तीन वेक्टर्स पास होंगे सबसे पहला जो
होगा स्ट्रक्ट वेक्टर वो होगा v1 उसके बाद
आएगा स्ट्रक वेक्टर v2 उसके बाद आएगा
स्ट्रक वेक्ट
सम इस फंक्शन को बनाने के लिए को यहां
डिफाइन कर लेते हैं हमें क्या करना है सम
का जो x कॉम्पोनेंट होगा वो होगा v1 का x
कॉम्पोनेंट प्लस v2 का एक कॉम्पोनेंट और
सम का जो y कॉम्पोनेंट होगा वो होगा v1 का
y कॉम्पोनेंट प्लस v2 का y कॉम्पोनेंट तो
आई होप ये चीज समझ आई होगी कि सम का जो
एक् कॉम्पोनेंट होगा वो v1 और v2 के एक्स
से बनेगा और सम का जो y कॉम्पोनेंट होगा
वो v1 और v2 के वा से बनेगा अब एक हल्की
सी चीज जो हम यहां मिस आउट कर रहे हैं वो
ये है कि फंक्शन कॉल जब भी होती है वो पास
बाय वैल्यू होती है तो यहां जो सम हमने
वैल्यूज असाइन करी है ये मेन फंक्शन के
अंदर रिफ्लेक्ट नहीं करेंगे इसीलिए इनको
रिफ्लेक्ट करने के लिए या तो हम पॉइंटर
पास करें या फिर इसी फंक्शन के अंदर
प्रिंट करवा लेते हैं अपने सम को प्रिंट
सम ऑफ एक
इज परसेंटेज डी सम ड एक्स एंड सेम फॉर
हमारा वा कॉम्पोनेंट सम ऑफ y इज सम
डवा यहां पे लगा देते हैं ब स् ए और मेन
फंक्शन के अंदर कॉल लगा देंगे कैलकुलेट सम
को कैलकुलेट सम में पास करेंगे v1 v2 एंड
हमारा सम वेक्टर सेव एंड
रन तो यह v1 में हमने पास किया था 5 आ कैप
10 ज कैप v2 में पास किया था 3 आ कैप 7 ज
कैप तो सम क्या हुआ एक्स कॉम्पोनेंट का 5
प् 3 = 8 और वा कॉम्पोनेंट के लिए 10 + 7
= 17 तो इस तरीके से हम दो वेक्टर्स का सम
भी निकाल सकते हैं ये एक्चुअली यहां पे
हमें अच्छे से यूज के समझ नहीं आते जब हम
शुरू शुरू में कांसेप्ट सीखते हैं मान
लीजिए आप एक शूटर का गेम बना रहे हैं c और
c+ प काफी सिमिलर होते हैं c+ प् के अंदर
भी जैसे स्ट्रक्चर्स होते हैं वैसे ही हम
क्लासेस बना सकते हैं वो सी के अंदर
एजिस्ट नहीं करती तो वो जब आप c+ प्
पढ़ेंगे या जावा पढ़ेंगे तब हमें पता
चलेगा क्लास क्या होती है पर स्ट्रक्चर
जैसी ही होती है तो वहां पे जब हम गेम
डेवलपमेंट में c+ प का यूज करते हैं तो
उसमें बहुत बार हमें क्या करना पड़ता है
वेलोसिटी डिफाइन करनी पड़ती है बुलेट को
किस स्पीड से हम फायर करने वाले हैं किस
स्पीड से हमारा जो मेन कैरेक्टर है उसकी
स्पीड कैसे दिखाएंगे उसकी वेलोसिटी क्या
होगी अगर किसी ने कोई चीज फेंक के मारी है
या मान लीजिए जैसे हमारा एंग्री बर्ड्स
होता था उसमें क्या वेक्टर्स रहेंगे क्या
डायरेक्शन रहेगी क्या मैग्नी ूडल स्टोन को
या बर्ड्स को थ्रो करने का वो सारा जो काम
होता है उसमें इसी तरीके के स्ट्रक्चर्स
यूज़ होते हैं इसी तरीके की कैलकुलेशन
चलती है जो मैथ और फिजिक्स के फॉर्मूले से
आती है पर उसको कोडिंग में हम कन्वर्ट कर
देते हैं नेक्स्ट जिस सवाल को हम सॉल्व कर
रहे होंगे यह है क्रिएट अ स्ट्रक्चर टू
स्टोर
कॉम्प्लेक्शन
कॉम्प्लेक्शन नंबर्स क्या होते थे एक ऐसा
नंबर होता था जिसका कुछ पार्ट रियल होता
था और कुछ पार्ट इमेजिनरी होता था तो कुछ
पार्ट इसका रियल होगा कुछ पार्ट इमेजिनरी
होगा बिल्कुल वेक्टर की तरह हमें एक
स्ट्रक्चर बनाना है इसको नाम हम दे देंगे
कॉम्प्लेक्टेड टाइप का और अपना इ इनरी
पार्ट वो भी इंटी जर टाइप का इस तरीके का
कुछ स्ट्रक्चर हम बना रहे होंगे और एरो
ऑपरेटर से वैल्यू को जो है हमें प्रिंट
करवाना है तो सबसे पहले ऊपर क्या करेंगे
ऊपर एक स्ट्रक्चर बना लेते हैं स्ट्रक्ट
कॉम्प्लेक्टेड मेंट टर्मिनेटर तो ये हो
गया हमारा
कॉम्प्लेक्शन के अंदर एक्चुअली कॉम्लेक्स
नंबर को क्रिएट करेंगे सबसे पहले लिखेंगे
स्ट्रक
कॉम्प्लेक्शन पार्ट रखना चाहते हैं एट अब
इसको प्रिंट कैसे करवाएंगे प्रिंट करवाना
है एरो ऑपरेटर से और एरो ऑपरेटर के लिए
चाहिए हमें पॉइंटर तो सबसे पहले पॉइंटर
बना लेते हैं पॉइंटर का टाइप क्या होगा
स्ट्रक्ट
कॉम्प्लेक्टेड ऑफ नंबर वन अब प्रिंट
करवानी है वैल्यूज तो उनको प्रिंट करवा
सकते हैं इमेजिनरी पार्ट इज इक्वल टू
परसेंटेज d पॉइंटर से कैसे प्रिंट करवाते
थे सबसे पहले लिखेंगे पैरेंस या यहां पे
हम एरो ऑपरेटर यूज करेंगे तो पीटीआर एरो
रियल यहां पे होगा रियल और यहां पे होगा
पीटीआर एरो इमेजिनरी एंड बै स्ल n तो इसको
कर लेते हैं सेव और इसको अब करते हैं हम
रन तो रियल पार्ट हमारे पास प्रिंट होकर आ
गया फाइव और इमेजिनरी पार्ट हमारे पास
प्रिंट होकर आ गया एट इस तरीके से आप
इमेजिनरी रियल नंबर्स के साथ भी जैसे
मैग्नी ूडल हो तो वो होता है अंडर स्कोर
इमेजिनरी पार्ट का स्क्वायर प्लस रियल
पार्ट तो अब अगर कॉम्प्लेक्शन का मैग्नी
ट्यूड जैसे निकालना होता है या वेक्टर्स
का मैग्नी ूडल होता है तो वो होता है
हमारा अंडर रूट इमेजिनरी पार्ट का
स्क्वायर प्लस रियल पार्ट का स्क्वायर तो
उसको भी हम कैलकुलेट करके निकाल सकते हैं
तो हम इन्हीं स्ट्रक्चर पर बेस्ड और थोड़े
से
कॉम्प्लेक्टेड करने की पूरी काबिलियत रखते
हैं नेक्स्ट एक
थोरेट्स आपके कांसेप्ट को टेस्ट करने के
लिए है यू हैव टू स्टोर द मार्क्स ऑफ़ 30
स्टूडेंट्स 30 बच्चों के मार्क्स स्टोर
करने हैं मार्क्स हमारे या तो इंटी जर
टाइप के होंगे या फ्लोट टाइप के होंगे अब
इसमें से क्या इस्तेमाल करेंगे फ्लोट टाइप
के मार्क्स हम यहां पे अज्यू कर रहे हैं
या तो एरे ऑफ 10 फ्लोट्स बना लो या एक
स्ट्रक्चर बना लो अब यहां पर 30 बच्चों के
मार्क्स अगर स्टोर करने हैं और हर वैल्यू
हमारी फ्लोट टाइप की है तो यहां स्मार्ट
डिसीजन ये होगा कि एरे ऑफ 10 फ्लोट्स बना
लो एरे ऑफ 10 फ्लोट्स बनाने का फायदा क्या
होगा स्ट्रक्चर के ऊपर सबसे पहला तो यह कि
स्ट्रक्चर्स का मेजर इस्तेमाल तब होता है
जब अलग-अलग टाइप्स के हम चीजें जो हैं वो
एक साथ कलेक्ट कर रहे होते हैं पर यहां पे
हमें सेम टाइप के 30 चीजें कलेक्ट करनी है
यानी फ्लोट टाइप की तो उसके लिए बेटर होगा
कि हम एरे बना सक बना हम दोनों सकते हैं
दोनों से सवाल हमारा सॉल्व हो जाएगा पर
ज्यादा स्मार्ट ये होगा ज्यादा
एक्सपीरियंस डिसीजन ये होगा कि आप एरे ऑफ
10 या इनफैक्ट यहां पे 30 फ्लोट्स बना रहे
हो नेक्स्ट सवाल हमारा है मेक अ स्ट्रक्चर
टू स्टोर बैंक अकाउंट इंफॉर्मेशन ऑफ अ
कस्टमर कोई एबीसी बैंक है उसमें बैंक
अकाउंट की आपको इंफॉर्मेशन स्टोर करनी है
और उसके लिए एक एलियस भी बनाना है यानी
यहां इस्तेमाल कर रहे होंगे हम टाइप डेफ
का अब बैंक अकाउंट के लिए हम क्याक
इंफॉर्मेशन स्टोर कर सकते हैं एक हो सकता
है अकाउंट होल्डर का नेम एक हो सकता है
अकाउंट नंबर इसके अलावा एक हो सकता है
हमारा आईएफएससी कोड पर इतना डिटेल में
नहीं जाएंगे अभी के लिए बस नेम और हमारे
अकाउंट नंबर को स्टोर कराएंगे इसके लिए एक
स्ट्रक्चर बना लेते हैं स्ट्रक बैंक
अकाउंट बैंक अकाउंट के अंदर क्या-क्या
स्टोर होगा सबसे पहले स्टोर होगा अकाउंट
नंबर इंट अकाउंट नंबर उसके बाद स्टोर होगा
हमारा स्ट्रिंग कैरेक्टर जिसका नाम होगा
नेम ऑफ 100 कैरेक्टर्स अब यहां पे हमें
इसके लिए एलियस बनाना है तो एलियस बनाने
के लिए सबसे पहले लिख देंगे टाइप डेफ और
बैंक अकाउंट की जगह इसको हम लिखेंगे
एसीसीसी सिर्फ अकाउंट और इसको लिख देते
हैं अकाउंट नंबर तो एसीसी के नाम से हम
अपने स्ट्रक्चर के जो हैं वेरिएबल को
डिक्लेयर कर सकते हैं सबसे पहले बनाएंगे
एसीसी एसीसी टाइप का अकाउंट वन इसमें
वैल्यूज पहले से ही असाइन कर लेते हैं
अकाउंट नंबर होगा टूथ और नेम हमारा आ
जाएगा श्रद्धा उसी तरीके से हमें कोई और
अकाउंट बनाना हो तो दूसरा हम अकाउंट खोल
सकते हैं अकाउंट टू इसमें अकाउंट नंबर जो
है इंक्रीज हो जाएगा बाय वन नेम हमारा
चेंज हो जाएगा सेम तरीके से अकाउंट थ्री
हम बना सकते हैं इसमें भी इंक्रीज हो
जाएगा बाय वन और नेम हमारा चेंज हो जाएगा
तो ये क्या हुआ अकाउंट नंबर हम चेंज कर
सकते हैं नेम चेंज कर सकते हैं और सिर्फ
एसीसी लिखना पड़ा पूरा यह स्ट्रक्ट बैंक
अकाउंट हमें नहीं लिखना पड़ा वैल्यूज को
भी ऐसे ही प्रिंट करवा सकते हैं प्रिंट ए
अकाउंट नंबर इज इक्वल ट परसेंटेज d
ए1 अकाउंट नंबर एंड नेम = परसेंटेज s
ए1 ने इसको कर लेते हैं सेव एंड रन तो
अकाउंट नंबर हमारा 12 2 3 आ गया नेम हमारा
श्रद्धा आ गया और यह पूरा स्क्रीन पर
प्रिंट होकर आ गया तो इस तरीके से हम हम
एलिस बना सकते हैं उनको क्रिएट कर सकते
हैं टाइप डेफ की हेल्प से और अपने
स्ट्रक्चर्स को यूज करके ना बहुत-बहुत
इंटरेस्टिंग चीजें हम कर सकते हैं सी में
तो यहां पे मैं एक स्पेशल होमवर्क
प्रॉब्लम दूंगी यहां पे कोई अलग से
प्रॉब्लम्स नहीं है होमवर्क प्रॉब्लम ये
होगा कि या तो अपने स्कूल के लिए या अपने
कॉलेज के लिए या किसी कंपनी के लिए ना एक
हमें ऐसा डेटाबेस क्रिएट करना है
स्ट्रक्चर्स की हेल्प से जिसमें हम वहां
पे रहने वाले लोगों की इंफॉर्मेशन को
स्टोर करें फॉर एग्जांपल हम एग्जांपल यहां
पे ले रहे हैं कॉलेज का तो कॉलेज में एक
स्ट्रक्चर आपको स्टूडेंट की फॉर्मेशन
स्टोर करने के लिए बनाना पड़ेगा एक
स्ट्रक्चर टीचर्स की इंफॉर्मेशन स्टोर
करने के लिए बनाना पड़ेगा और एक स्ट्रक्चर
हम कह सकते हैं कि बाकी का जो स्टाफ है
एडमिन वाला जो स्टाफ होता है उसकी
इंफॉर्मेशन स्टोर करने के लिए बना लेंगे
तो ये तीनों स्ट्रक्चर्स की हेल्प से पहले
आप इंफॉर्मेशन सेव करेंगे आप इसमें
डिफरेंट डिफरेंट सेग गन भी कर सकते हैं
जैसे स्टूडेंट की इंफॉर्मेशन तो ले ली
उसमें भी हम अलग-अलग अरेज बना सकते हैं कि
ये सीओई के स्टूडेंट हैं ये फर्स्ट ईयर के
स्टूडेंट हैं ये सेकंड ईयर के हैं थर्ड
ईयर आईटी के स्टूडेंट हैं ये फोर्थ ईयर
मैकेनिकल के स्टूडेंट हैं उस तरीके से से
आपको देखना पड़ेगा कि किस हिसाब से आप
इंफॉर्मेशन स्टोर कराना चाहते हैं तो ये
होमवर्क प्रॉब्लम यह है कि अपने पर्टिकुलर
कॉलेज के लिए आपके कॉलेज में जो जो
ब्रांचेस हैं जिस-जिस तरीके से सिस्टम
रहता है उस हिसाब से आपको एक पूरा सिस्टम
क्रिएट करना है स्ट्रक्चर्स की हेल्प से
जिसमें आप इंफॉर्मेशन को स्टोर करा सके
उसमें यूजर इंफॉर्मेशन एंटर भी कर सके और
उसको आप इंफॉर्मेशन प्रिंट भी करा कर दे
सके अब हम शुरुआत करने वाले हैं अपने
चैप्टर 10 के साथ जिसका नाम है फाइल इनपुट
आउटपुट अब इसको समझने के लिए सबसे पहले एक
बार अपने कंप्यूटर की मेमोरी को थोड़ा सा
समझते हैं हमारे कंप्यूटर के अंदर दो
तरीके की मेमोरी एजिस्ट करती है इनमें से
एक होती है वोलेटाइल मेमोरी वोलेटाइल यानी
जैसे ही कंप्यूटर की पावर बंद करी जैसे ही
आपने प्लग निकाल दिया लैपटॉप एकदम से बंद
हो गया बैटरी डिस्चार्ज हो गई वैसे ही ये
मेमोरी उड़ जाती है और दूसरे टाइप की
मेमोरी होती है हमारी नॉन वोलेटाइल मेमोरी
ये मेमोरी अपने अंदर ऐसा डाटा स्टोर करती
है जो पावर जाने से चेंज नहीं होता वो
वैसे का वैसा रहता है जैसे आप जब भी अपने
कंप्यूटर को खोले हो सकता है आपने कोई गेम
डाउनलोड किया हो तो हर बार वो गेम आपको
दिखाई देगा उसको आप खोल सकते हैं या आपने
कटर की पावर खत्म हो जाती है आपका लैपटॉप
जो है स्विच ऑफ हो जाता है तो क्या होगा
वापस से आप आएंगे तो हो सकता है वह फाइल
आपको ना दिखे या फिर उसमें जो आपने नए
चेंजेज किए थे वो आपको ना दिखें क्योंकि
वो स्टोर्ड थे हमारी वोलेटाइल मेमोरी में
अब कंप्यूटर के अंदर वोलेटाइल मेमोरी रैम
होती है इसको हम रैंडम एक्सेस मेमोरी भी
कहते हैं अब बेसिक्स ऑफ कंप्यूटर साइंस
में हमें पता होगा एक रम होती है एक रोम
होती है बहुत तरीके की मेमोरी होती है
कंप्यूटर के अंदर यहां पे हम मान रहे हैं
वोलेटाइल मेमोरी की जब भी बात कर रहे हैं
तो रम की बात कर रहे हैं और नॉन वोलेटाइल
की जब भी बात कर रहे हैं तो हार्ड डिस्क
की बात कर रहे हैं हार्ड डिस्क के अंदर
कंप्यूटर के अंदर काफी सारा आप डाटा स्टोर
कर सकते हैं इनफैक्ट उस डाटा को निकाल कर
आप किसी और अपने दोस्त को देकर आ सकते हैं
किसी और कंप्यूटर में आप जाकर ट्रांसफर कर
सकते हैं तो लोग यूजुअली क्या करते हैं
अपना जो सारा डाटा उनको बैकअप करना होता
है ना वो हार्ड डिस्क के अंदर बैकअप कर
लेते हैं फिर उसको निकाल देते हैं
कंप्यूटर की नई हार्ड डिस्क लगा देते हैं
इस तरीके से सालों सालों बहुत सारे लोग
बहुत सारा अपना डाटा जमा करते रहते हैं अब
हमारे काम की बात यहां पे यह होगी कि
कंप्यूटर की जो वोलेटाइल मेमोरी है और जो
नॉन वोलेटाइल मेमोरी है इनके बीच में डाटा
जो है ट्रांसफर होता रहता है जैसे आपका जो
कंप्यूटर प्रोग्राम है ना वह स्टोर्ड होता
है हमारे रम में तो प्रोग्राम आ जाता है
वोलेटाइल मेमोरी का पार्ट और हो सकता है
आपके कंप्यूटर सिस्टम में काफी ऐसी फाइल्स
हो जो पड़ी हो तो वो पड़ी होंगी हमारे
हार्ड डिस्क के अंदर तो कंप्यूटर
प्रोग्राम जो है उन फाइल्स को राइट कर
सकता है और उनको रीड भी कर सकता है तो
कंप्यूटर प्रोग्राम यानी रम के अंदर का
कोई पार्ट एक्सेस करना चा जा रहा है
फाइल्स को जो पड़ी है नॉन वोलेटाइल मेमोरी
यानी हमारी हार्ड डिस्क में तो ये जो
प्रोसेस रहता है इसको हम सी की हेल्प से
भी कर सकते हैं डिफरेंट डिफरेंट
प्रोग्रामिंग लैंग्वेजेस में डिफरेंट
डिफरेंट तरीके होते हैं फाइल्स को एक्सेस
करने के और इस चैप्टर के अंदर हम समझने
वाले हैं फाइल में इनपुट आउटपुट यानी फाइल
आओ स के अंदर किस तरीके से परफॉर्म होता
है तो सबसे पहले बात करते हैं कि फाइल
होती क्या है फाइल मेमोरी के अंदर एक
कंटेनर होता है इन अ स्टोरेज डिवाइस टू
स्टोर डाटा यहां पे हमारा स्टोर डिवाइस हो
जाएगा हमारी हार्ड डिस्क तो हार्ड डिस्क
के अंदर डिफरेंट डिफरेंट कंटेनर्स होते
हैं इनको हम चंक ऑफ मेमोरी भी कह सकते हैं
हर एक चंक ऑफ मेमोरी के अंदर काफी सारा
डाटा स्टोर्ड होगा और उसी डाटा को हम फाइल
करह देते हैं जैसे स्कूल्स के अंदर
कॉलेजेस के अंदर हमारी कुछ फाइल स्टोर्ड
होंगी जो हमारी टीचर्स के पास होंगी हमारे
एडमिन डिपार्टमेंट के पास होंगी उन फाइल्स
में हमारा कुछ पर्सनल डाटा स्टोर्ड होगा
मान लीजिए मेरी फाइल है जिसका नाम है
श्रद्धा खापर मेरा कोई क्लासमेट हो सकता
है उसकी फाइल उसके नाम से हो सकती है तो
इस तरीके से जैसे रियल लाइफ में फाइल्स
होती हैं वैसे ही कंप्यूटर सिस्टम के अंदर
भी डिफरेंट डिफरेंट फाइल्स होती हैं
इनफैक्ट अगर हमने पहले कभी कंप्यूटर चलाया
तो हमने जरूर किसी ना किसी फाइल को देखा
होगा अपने सिस्टम के अंदर अब जब भी हम
फाइल्स की बात करते हैं ना उसमें हमें ये
हमेशा याद रखना है r इज वोलेटाइल अब उसके
जो कंटेंट्स हैं दे आर लॉस्ट व्हेन
प्रोग्राम टर्मिनेट यानी प्रोग्राम जैसे
ही खत्म हो जाता है हमारे सी का प्रोग्राम
जैसे ही खत्म होता है हमारी जो डाटा है वो
अपने आप साफ हो जाता है क्योंकि हमारा
प्रोग्राम रम के अंदर है प्रोग्राम रम के
अंदर है मतलब हमारे प्रोग्राम के वेरिएबल
भी रम के अंदर है इसीलिए अपना जो हम c का
कोड लिखते हैं ना जिसमें हम इंट n का कोई
वेरिएबल बना लेते हैं एरे बना लेते हैं
अपनी स्ट्रिंग बना लेते हैं ये सारे के
सारे रम के अंदर आते हैं और सारे के सारे
वोलेटाइल मेमोरी में है जैसे ही आपका
प्रोग्राम खत्म होगा ये वेरिएबल भी मेमोरी
से साफ हो जाएंगे इसीलिए फाइल्स आर यूज्ड
टू पसेस द डेटा तो ऐसा क्या करें कि अगर
हम चाहते हैं हमारे जो वेरिएबल हैं हमारा
जो डटा है वो रम में ना रहकर किसी
परमानेंट स्टोरेज में चला जाए हम उस डटा
को किसी ना किसी तरह स्टोर कर पाएं तो
उसके लिए हम यूज करते हैं फाइल्स का जैसे
मान लीजिए आपने एक प्रोग्राम बनाया था अभी
हमने स्ट्रक्चर्स वाले में कि आपको स्कूल
का या कॉलेज का स्टूडेंट्स का डाटा जो है
इनपुट लेना है अपनी प्रोग्राम में अब जैसे
ही आपका प्रोग्राम खत्म होगा वो डाटा
लॉस्ट हो जाएगा अगली बार वापस से अपना
डाटा लेने के लिए आपको दोबारा प्रोग्राम
चलाना पड़ेगा और यूजर से दोबारा मांगना
पड़ेगा पर आप चाहते हैं कि आप एक ही बार
मांगे यूजर से उसको कहीं पे स्टोर करा लें
तो उसको स्टोर कहां कराएंगे उसको
परमानेंटली स्टोर करा रहे होंगे हम फाइल्स
नाम की चीजों में हमारे कंप्यूटर सिस्टम
के अंदर अब सबसे पहले बात करते हैं कि
फाइल्स पे हम क्या-क्या ऑपरेशंस कर सकते
हैं फाइल को ना वैसे ही इमेजिन करना है
जैसे रियल लाइफ की हमारी फाइल होती है बस
वैसी ही फाइल हमारे कंप्यूटर सिस्टम के
अंदर होती है सबसे पहला ऑपरेशन होता है कि
फाइल को हम क्रिएट कर सकते हैं दूसरा हम
फाइल को ओपन कर सकते हैं उसको क्लोज कर
सकते हैं किसी भी फाइल के डाटा को पढ़ने
के लिए पहले उसको खोलना पड़ेगा और पढ़ने
के बाद उसको बंद करना पड़ेगा उसमें से हम
डेटा को रीड कर सकते हैं और उसमें डाटा
लिख भी सकते हैं यानी डाटा को राइट भी कर
सकते हैं सबसे पहले बात कर लेते हैं
टाइप्स ऑफ फाइल्स की हमारे सिस्टम के अंदर
ना मेजर्ली हम दो टाइप्स ऑफ फाइल्स जो हैं
उनकी बात करेंगे जिनमें से सबसे पहली
हमारी टेक्स्ट फाइल्स टेक्स्ट फाइल्स के
अंदर डाटा टेक्चुअल होता है यानी उसको अगर
आप खोल के देखेंगे ना आपको रियल डाटा
दिखेगा उसमें ए बी सी डी ए सेंटेंसेस लिखे
होंगे या कुछ नंबर्स लिखे होंगे मतलब उसका
जब खोला हुआ डाटा आपको दिखाई देगा तो वो
सेंस बनाएगा हमारे लिए दूसरी तरह की
फाइल्स होती है हमारी बाइनरी फाइल्स
बाइनरी फाइल्स के अंदर डाटा जो होता है वो
रो व की फॉर्म में स्टोर्ड होता है या एक
बड़ा सा सीक्वेंस होगा जिसमें रोज और वनस
होंगे और वो हमारे लिए कोई सेंस नहीं बना
रहा होगा उस तरीके की फाइल को हम बाइनरी
फाइल कहते हैं अब बाइनरी फाइल के भी
अलग-अलग फॉर्मेट हो सकते हैं जैसे
एक्सटेंशंस की बात करें तो ड हमारी बाइनरी
फाइल होती है ड
mp3mp
4jp जिसमें हमारी फोटोज वगैरह होती हैं वो
ये सारी के सारे हमारे बाइनरी फाइल्स के
एक्सटेंशंस हैं और नॉन बाइनरी फाइल्स की
बात करें तो ड txx.com
भी एक टीटी फाइल है अगर डॉट जावा की बात
करें तो वो भी एक टी एकटी फाइल है क्योंकि
उसमें लिखा हुआ डाटा हमें समझ आएगा और
उसमें हम एडिट करेंगे तो वो चेंजेज हमें
दिखाई देंगे वो हमारे लिए सेंस बनाएंगे तो
हमारी एक टेक्स्ट फाइल्स होती हैं और
हमारी एक बाइनरी फाइल्स होती हैं अब यहां
पर मेजर्ली हम टेक्स्ट फाइल्स के ऊपर काम
करेंगे क्योंकि बाइनरी में कोड करना हमें
नहीं आता बट अगर हम सी का कोड लिखने चले
तो उससे सी से हम बाइनरी फाइल्स को भी
एडिट कर सकते हैं उनको भी रीड राइट क्लोज
ओपन सब कुछ कर सकते हैं पर एग्जाम पॉइंट
ऑफ व्यू से या इंटरव्यू पॉइंट ऑफ व्यू से
मोस्टली जो हमें चीजें पूछी जाएंगी वो
टेक्स्ट फाइल से रिलेटेड होंगी सबसे पहले
बात करते हैं फाइल्स को हम एक्सेस कैसे
करें हमने बोल दिया हमारा एक रम है जिसके
अंदर हमारा प्रोग्राम है वेरिएबल है और वो
चाह रहा है कि किसी परमानेंट डाटा स्टोरेज
को वो क्रिएट करे और उसमें से डाटा को
इनपुट आउटपुट करें यानी रीड करें राइट
करें उस फाइल को ओपन करें क्लोज करें पर
ये सारा का सारा काम कैसे होगा ये सारा
काम होता है हमारे फाइल पॉइंट्स की हेल्प
से अब कंप्यूटर के अंदर सी के अंदर हम जो
फाइल होती है ना इट इज अ हिडन स्ट्रक्चर
स्ट्रक्चर ही होता है फाइल एक पर हिडन
होता है मतलब हमसे छुपा होता है उस
स्ट्रक्चर के अंदर हम कोई चेंजेज नहीं कर
सकते कोई बदलाव नहीं लेकर आ सकते इसीलिए
उसका पूरा जो डिक्लेरेशन होती है ना उस
स्ट्रक्चर की वो हमसे हिडन होती है और हर
सिस्टम के हिसाब से अपनी एक अलग फाइल का
स्ट्रक्चर होता है जैसे आप
परट स्टोरेज से जब भी डाटा को रीड करने
जाते हैं तो एक स्ट्रक्चर के अंदर वह सारा
का सारा डाटा रीड इन होता है और वह
स्ट्रक्चर बनाना जरूरी है जब भी हम किसी
भी फाइल को ओपन कर रहे हैं अब उस
स्ट्रक्चर को ना एक फाइल पॉइंटर जो है व
पॉइंट करता है तो फाइल पॉइंटर दैट पॉइंट्स
टू द स्ट्रक्चर एंड इज यूज टू एक्सेस द
फाइल इज कॉल्ड द फाइल पॉइंटर फाइल पॉइंटर
एक स्पेशल टाइप का पॉइंटर होता है जिसका
टाइप तो हमारा फाइल होता है क्योंकि फाइल
का हमने स्ट्रक्चर बना दिया है तो उस फाइल
पॉइंटर की हेल्प से हम एक फाइल को को ओपन
कर सकते हैं क्लोज कर सकते हैं उसमें
चीजें लिख सकते हैं उससे चीजें पढ़ सकते
हैं एंड इनफैक्ट फाइल्स को क्रिएट भी कर
सकते हैं अब उसको लिखने का सिंटेक्स कुछ
ऐसा होता है कि सबसे पहले हम टाइप लिखते
हैं टाइप हो गया यहां पे हमारा फाइल
क्योंकि फाइल इज अ स्ट्रक्चर उसके बाद
हमने लिखा एस्ट रिस्क यानी स्टार उसके बाद
हम कोई भी वेरिएबल लिख सकते हैं यहां पे
क्योंकि एक फाइल का पॉइंटर है इसलिए हमने
एफ पीटीआर लिख दिया अगर आप पीटीआर लिख दें
या
fp4 काना नाम है हमारे लिए हम एफ पीटीआर
यूज करेंगे ताकि ये थोड़ा डिस्टिंक्शन रहे
कि नॉर्मल वेरिएबल के पॉइंटर पीटीआर होते
हैं और फाइल के पॉइंट्स को हम एफपीटीआर कह
रहे हैं तो सबसे पहले अपने कोड के अंदर ना
ये एफपीटीआर बना ही लेते हैं लिखेंगे हम
एफ आई एल ई मतलब हमारा फाइल टाइप और उसके
बाद लिखेंगे स्टार f पटी आ तो हमने क्या
किया फाइल टाइप का हमने एक पॉइंटर
डिक्लेयर कर दिया एफपीटीआर अब इस पॉइंटर
का यूज कैसे करना है मतलब इससे फाइल्स ओपन
कैसे होंगी तो फाइल को ओपन करने के लिए और
क्लोज करने के सिंटेक्स की अगर बात करें
सबसे पहले बात करते हैं फाइल को ओपन करने
की तो एक बार हमने एफ पीटीआर को क्रिएट कर
दिया उसके बाद हमारे पास एक फंक्शन होता
है एफ ओपन नाम से अब मोस्टली जो हम फाइल्स
के फंक्शन डिस्कस करेंगे ना उनके सामने एक
एफ होगा जिससे बहुत क्लियर पता चल जाता है
कि एक फाइल का फंक्शन है फिर चाहे वो
क्लोज करने के लिए ओपन करने के लिए हो
कैरेक्टर्स को रीड करने के लिए हो राइट
करने के लिए हो बहुत सारी चीजें करने के
लिए पर एक कॉमन चीज रहेगी कि फाइल्स के
फंक्शन के सामने एफ होता है ताकि दूर से
ही दिख जाए कि ये फाइल का फंक्शन है तो
फाइल को ओपन करने के लिए f ओपन नाम का एक
फंक्शन होता है यह दो पैरामीटर्स लेता है
इनमें से सबसे पहला पैरामीटर होता है फाइल
का नाम अगर मान लीजिए हमने कोई फाइल बनाई
है
टेड txt.gz
मोड हमें बताता है कि हमें फाइल के अंदर
रीड करना है या फाइल के अंदर राइट करना है
या कुछ और काम करना है क्योंकि हमारे
प्रोग्राम को हमारे सिस्टम को पता होना
चाहिए कि किसी भी फाइल को अगर हम खोल रहे
हैं तो उसको किस मोड में खोल रहे हैं किस
इंटेंशन के साथ खोल रहे हैं क्योंकि
कुछ-कुछ सिस्टम लेवल पे चेंजेज होते हैं
जो होने होते हैं अगर आपको रीड करना है
फिर तो वो बफर लेवल की कुछ चीजें इंटरनली
चल रही होती हैं जो अभी के लिए इतना हम
डिटेल में नहीं जाएंगे बेसिकली हमारे
सिस्टम को पता होना चाहिए कि हमारा
इंटेंशन क्या है किसी भी फाइल को ओपन करने
के पूछे ताकि वो हमारे काम को ना और थोड़ा
सा आसान बना सके अगर हम पहले ही बता देंगे
हमें तो जी राइट करना है तो वो काम को
आसान बना के देगा रीड करना है तो उस काम
को आसान बना के देगा इस पर्सपेक्टिव से हम
मान लेते हैं अब यहां पे हमने फाइल पॉइंटर
में असाइन कर दिया क्या हमने अपनी फाइल को
ओपन कर दिया उसमें दो पैरामीटर्स को पास
करके और फाइनली एफ पीटीआर में उसकी वैल्यू
असाइन कर दी यानी इस एफ ओपन ने क्या किया
होगा फाइल का एक पॉइंटर रिटर्न कर दिया
होगा जिसको हमने एफपीटीआर में स्टोर कर
दिया तो ये स्टेटमेंट होती है फाइल को ओपन
करने ने के लिए अब फाइल को ओपन करने के
लिए पहले फाइल का होना जरूरी है तो एक
फाइल हम क्रिएट कर लेते हैं अपने सेम
फोल्डर के अंदर यहां पर जाएंगे यह जो आइकन
है न्यू फाइल का न्यू फाइल से बनाएंगे .
txt.gz
f ओपन के अंदर पहला पैरामीटर फाइल का नाम
है यानी टेस्ट ड
txt.gz भी प्रैक्टिस करेंगे ना या आप किसी
कॉलेज के अपने पुराने क्वेश्चंस देख लेंगे
काफी सारे आसान क्वेश्चंस आते हैं इस
टॉपिक से मतलब जैसे एरे जैसे टॉपिक से आप
बहुत डिफिकल्ट क्वेश्चन निकाल सकते हो पर
फाइल्स ऐसा टॉपिक है जो अपने आप में हल्का
सा
कॉम्प्लेक्शन भी यहां से सवाल पूछेंगे तो
वो हल्के से हमारे आसान होंगे तो रीकैप कर
लेते हैं फाइल का हमने एफपीटीआर नाम का
पॉइंटर बनाया एफपीटीआर के अंदर फाइल को
ओपन करके उसमें असाइन कर दिए वैल्यू एफ
ओपन फंक्शन हमने यूज़ किया जिसमें पास किए
दो पैरामीटर्स एक हमारी फाइल का नाम और एक
हमारा मोड अब फाइल को जैसे हमने ओपन किया
वैसे ही फाइल को क्लोज कर सकते हैं क्लोज
करने के लिए फंक्शन हमारा होता है एफ
क्लोज एफ क्लोज को लिखने का सिंटेक्स बहुत
आसान है एफ और फिर क्लोज और अंदर सिर्फ उस
फाइल का पॉइंटर डाल दो जिस फाइल को हमें
क्लोज करना है अब क्लोज करने के पीछे
लॉजिक ये है कि जब भी हम किसी फाइल को
खोलते हैं ना हमारा सिस्टम आ जाता है हमें
रिसोर्सेस देने के लिए कि आपको इतनी
मेमोरी चाहिए होगी आपको यह रिसोर्स चाहिए
होगा वो रिसोर्स चाहिए होगा क्योंकि आप एक
इंपॉर्टेंट चीज करने वाले क्योंकि अपनी
परमानेंट मेमोरी से कोई डाटा को रीड करना
एक इंपॉर्टेंट काम है सिस्टम के लिए तो
उसने हमें रिसोर्सेस दे दिए पर अब अगर
हमारी फाइल का काम हमारे लिए एक बार खत्म
हो गया मतलब हमने रीड भी कर लिया उसमें
राइट भी कर लिया काम खत्म हो गया तो अब
हमें वो रिसोर्सेस कायदे से अपने सिस्टम
को वापस दे देने चाहिए हमारी मर्जी है
वैसे अगर हम फाइल क्लोज ना भी करें तो भी
परेशानी नहीं आएगी पर जब भी हम बड़े कोड्स
लिखते हैं ना उसके अंदर बहुत ज्यादा
एडवाइज किया जाता है बहुत ज्यादा अच्छी
प्रैक्टिस है कि आप एंड ऑफ द प्रोग्राम
में जब आपका काम खत्म हो गया है फाइल के
साथ तो फाइल को क्लोज जरूर कर दें क्योंकि
आपके सिस्टम के जो रिसोर्सेस हैं ना वो जा
रहे होते हैं फाइल को ओपन करने से आपका
सिस्टम स्लो हो रहा होता है तो सिस्टम की
एफिशिएंसी बढ़ाने के लिए आपको अपनी फाइल्स
को हमेशा क्लोज करना है ताकि कंपाइलर को
पता चल जाए कि यहां पे फाइल का काम खत्म
हो गया है तो अब हमें काम तो करना नहीं है
पर हम अपनी फाइल को क्लोज कर देते हैं लिख
देते हैं यहां पे एफ क्लोज और अंदर पास कर
देंगे फाइल पॉइंटर f पीटीआर तो ये क्या
हुआ यहां फाइल ओपन हुई थी हमने कुछ काम
करना नहीं था तो हमने सिंपली यहां पे एफ
क्लोज से फाइल को कर दिया क्लोज नेक्स्ट
बात करते हैं कि फाइल में क्या-क्या हम
मोड्स में हम किसी फाइल को खोल सकते हैं
अभी सबसे पहले मोड हमने जो पढ़ा वो था r
वाला यानी हम फाइल को पढ़ने के लिए रीड
करने के लिए ओपन कर रहे हैं दूसरा है
हमारा आरबी आरबी मोड में अगर ओपन करते हैं
तो रीड होती है फाइल इन बाइनरी फॉर्मेट तो
ये यूजुअली बाइनरी फाइल्स के लिए होगा
हमारे अभी इतने काम का नहीं है पर हां अगर
आपके क्वेश्चन पेपर में आपके अगर कॉलेज के
अंदर टेस्ट के अंदर सवाल आ जाता है कि
किसी बाइनरी फाइल को आप ओपन करो या बाइनरी
फॉर्म में आप ओपन करो तो फिर आपको ध्यान
रखना है कि आरब हमें मोड की तरह यूज़ करना
होता है आर नहीं अब इन दोनों के बारे में
ना एक स्पेशल चीज है ये दोनों फंक्शंस के
बारे में एक स्पेशल चीज ये है कि अगर मान
लो फाइल एजिस्ट ही नहीं करती आप कॉल करना
चाह रहे हैं h स और लोड स को कभी किसी ने
बनाया ही नहीं तो क्या होगा तो पॉइंटर के
अंदर आकर नल स्टोर हो जाएगा तो राइट मोड
में तो रीड मोड में और रीड बाइनरी मोड में
दोनों के अंदर अगर आपकी फाइल एजिस्ट नहीं
करती है तो पॉइंटर के अंदर एक नल पॉइंटर
वो बन जाएगा यानी न लाके स्टोर हो जाएगा
नेक्स्ट बात करते हैं हमारे राइट की राइट
मोड के अंदर आपका इंटेंशन ये है कि फाइल
के अंदर आप कुछ लिखना चाहते हैं और राइट
बाइनरी यानी आप अपनी फाइल के अंदर बाइनरी
फॉर्मेट में कुछ लिखना चाहते हैं अब यहां
पे भी एक स्पेशल चीज आ जाती है जब भी आप
फाइल को लिखने जाते हैं ना और अ मान लीजिए
आपने फिर से दोबारा लोड स को खोलने की
कोशिश की राइट करने के लिए उसमें चीजें पर
हेलो डॉट स एजिस्ट नहीं करता तो ये दोनों
फंक्शंस यानी राइट और राइट बाइनरी उस फाइल
को क्रिएट कर देंगे अगर वो एजिस्ट नहीं
करती आपने फाइल नहीं बनाई पर आप लिखना
चाहते हैं तो चलिए हम आपके लिए क्रिएट कर
देते हैं इस तरीके का सिस्टम रहता है और
अगर फाइल ऑलरेडी एजिस्ट करती है मान लीजिए
आपकी एक फाइल है जिसके अंदर आपने कुछ-कुछ
डाटा स्टोर कराया है और आप उसको राइट या
राइट बाइनरी फॉर्मेट में खोलते हैं इन
मोड्स में खोलते हैं तो सबसे पहले आपकी
फाइल खुलेगी फिर उसके अंदर का डाटा डिलीट
हो जाएगा एंड उसके बाद इनको जो डाटा राइट
कराना होगा वो वो राइट करा देंगे तो आपकी
पूरी फाइल का जो डाटा है वो ओवरराइट हो
जाता है अगर आप राइट या राइट बाइनरी से
खोलते हैं लेकिन आप चाहते हैं पुराना डाटा
भी सेव्ड रहे और उसमें नीचे आके मेरा नया
डाटा जो है वो स्टोर हो जाए तो उस केस में
हम यूज़ करते हैं अपेंड का यानी ए को एज अ
मोड यूज करते हैं अपेंड करने का मतलब है
पुराने में लाके जोड़ देना तो आपका नए
वाला डाटा पुराने वाले डाटा के बाद ऐड
होना शुरू होगा तो ये पांच सबसे
इंपॉर्टेंट मोड्स हैं जो हम यूज कर सकते
हैं जब भी हम किसी फाइल को ओपन करते हैं
अब सबसे पहले एक बेस्ट प्रैक्टिस देख लेते
हैं बेस्ट प्रैक्टिस हमारी यह है कि अगर
हम किसी फाइल को रीड करने के लिए ओपन कर
रहे हैं ना तो उसमें से डाटा रीड करने से
पहले सबसे पहले हमें यह चेक कर लेना चाहिए
कि क्या हमारी फाइल एजिस्ट भी करती है तो
फाइल एजिस्ट करती है या नहीं उसके लिए हम
कोड लिख लेते हैं हम मान लीजिए एक फाइल
ओपन करने की कोशिश कर रहे हैं जिसका नाम
है न्यू टेस्ट अब अगर न्यू टेस्ट एजिस्ट
नहीं करती होगी तो हमने अभी डिस्कस किया
कि एफ पीटीआर के अंदर रीड मोड में है तो
एफ पीटीआर के अंदर क्या आ गया होगा नल आ
गया होगा तो इसमें हम कंडीशन लगा सकते हैं
कि इफ ए पीटीआर इज इक्व टू इ इक्वल टू नल
उस केस में हम प्रिंट करवा देंगे फाइल डजन
एजिस्ट पर अगर ऐसा नहीं
है तो मतलब फाइल हमारी खुल गई है और अब हम
फाइल को कर देंगे अपनी क्लोज तो बहुत
सिंपल सी चीज करी हमने हमने ऑलरेडी पढ़
लिया था कि रीड मोड में फाइल को खोलते हैं
अगर और फाइल हमारी एजिस्ट नहीं करती तो
क्या होगा एफ पीटीआर के अंदर नल आ जाएगा
तो उसी पे हमने चेक लगा दिया कि एफ पीटीआर
अगर नल है तो प्रिंट करवा दो फाइल एजिस्ट
नहीं करती और एफ पीटीआर में अगर कोई
वैल्यू आई है तो ठीक है अभी कोई काम नहीं
है तो उसको हम क्लोज करवा देंगे अगर कोई
काम होता तो यहां पे इस तरीके से हम कोई
स्टेटमेंट लिख लेते उस काम को करवाने के
लिए तो इसको एक बार सेव भी कर लेते हैं और
रन भी कर लेते हैं देखते हैं क्या आउटपुट
आता है फाइल डजन एजिस्ट क्योंकि न्यू
टेस्ट नाम की फाइल एजिस्ट ही नहीं करती
अभी हमने बनाई नहीं अब यहीं पर अगर हम r
की जगह w लिख देते तो क्या होता राइट मोड
में हमारे लिए ये न्यूटेस्ट ड txt.gz
t एक्सटी खोलना चाहते हैं तो कंपाइल एंड
रन तो एट दी एंड क्या हुआ यह अचानक से एक
न्यू टेड t एकटी फाइल हमारे लिए आ गई और
इस फाइल को खोल भी सकते हैं अभी फाइल खाली
है क्योंकि उसमें कुछ राइट तो हमने किया
नहीं है पर वो फाइल क्रिएट जरूर हो गई
हमारे लिए नेक्स्ट बात करते हैं रीडिंग
फ्रॉम अ फाइल अब आपने फाइल ओपन करना सीख
लिया क्लोज करना सीख लिया उसमें से डटा
कैसे पढ़ा जाए ओपन तो हमने कर लिया अब
उसका डटा कैसे पढ़ा जाए तो डेटा हम पढ़ते
हैं फाइल पॉइंटर की हेल्प से सबसे पहले
मान लीजिए तो डेटा को पढ़ने के लिए हम
स्कैन एफ और प्रिंट एफ की जगह एफ स्कैनफ
और एफ प्रिंट एफ दो फंक्शंस का इस्तेमाल
करते हैं इनसे हम अलग-अलग टाइप का डाटा
पढ़ सकते हैं वो स्ट्रिंग डेटा भी हो सकता
है वो कैरेक्टर डेटा भी हो सकता है वो
इंटी जर डटा भी हो सकता है फ्लोट डेटा भी
हो सकता है तो एफ स्कैनफ में जैसे स्कैनफ
के अंदर जैसे स्कैन एफ की अगर बात करें
स्कैन एफ क्या करता था सबसे पहले ले लेता
था फॉर्मेट
स्पेसिफाइड ऑफ वेरिएबल तो दो पैरामीटर्स
इसके अंदर होते थे पर हमारे एफ स्कैनफ के
अंदर तीन पैरामीटर्स हैं जिनमें से पहला
है हमारा फाइल पॉइंटर दूसरा है हमारा
फॉर्मेट
स्पेसिफाइड ऑफ वेरिएबल तो सबसे पहले बता
देंगे कौन सी फाइल से हमें डाटा रीड करना
है तो एफ स्कैन एफ लिखेंगे अंदर फाइल
पॉइंटर उसके बाद लिखेंगे कि किस तरीके का
डाटा हमारा रीड हो रहा है मान लीजिए एक
कैरेक्टर हम रीड कर रहे हैं उस फाइल से और
उसके बाद उस कैरेक्टर को कहां पे रीड करके
स्टोर कराना है तो उसके लिए हमने ऑलरेडी
एक कैरेक्टर नाम का वेरिएबल बना लिया है
तो उसके लिए ऑलरेडी हमने कैरेक्टर टाइप का
वेरिएबल बना लिया है सी जिसमें हम अपने
डटा कैरेक्टर करके रीड करेंगे अब ये डाटा
रीड कैसे हो पा रहा है जैसे स्कन एफ क्या
करता है हम कीबोर्ड से अलग-अलग कीज को
प्रेस करते हैं और स्कैनफ उनको रीड करता
रहता है वैसा ही कुछ सिस्टम है एफ स्नफ का
फाइल के अंदर जो डाटा सारा का सारा लिखा
होता है ना उसको हमें अज्यू करना है कि वो
भी कीबोर्ड की कीज की तरह प्रेस हो रहा है
और जैसे-जैसे वो डाटा हमारा हमें मिलता
रहता है वैसे-वैसे वो एफ स्कैनफ से स्कैन
होता रहता है यानी इनपुट होता रहता है
इसको एक बार कोड से भी करके देख लेते हैं
हमारी टेस्ट के अंदर हम हमने ऑलरेडी एल जो
है वो लिख के सेव कराया हुआ है और हम रीड
करना चाह रहे हैं एक कैरेक्टर अपनी फाइल
से तो सबसे पहले क्या करेंगे कैरेक्टर बना
लेते हैं सी अब करेंगे स्कैन एफ जिसमें
सबसे पहले फाइल पॉइंटर पास करेंगे उसके
बाद पास करेंगे अपना फॉर्मेट स्पेसिफाइड
यानी परसेंटेज सी एंड उसके बाद अपने
वेरिएबल का एड्रेस एड्रेस ऑफ सी अब प्रिंट
कर देंगे हमने जो भी वेरिएबल रीड किया है
कैरेक्टर इज इक्वल टू परसेंटेज सी और इस
कैरेक्टर सी प्रिंट करवा देंगे और एट दी
एंड क्या करेंगे अपनी फाइल को कर देंगे
क्लोज बाय एफ
पीटीआर इसको सेव कर लेते हैं और एक बार
करते हैं रन तो यहां पे कुछ प्रिंट नहीं
हुआ कुछ इसलिए प्रिंट नहीं हुआ क्योंकि
हमने न्यू टेस्ट को खोल रखा है हमें टेस्ट
को खोलना है और यहां पे बै
n क्लियर कंपाइल रन तो रन करके अभी भी
कैरेक्टर की जो वैल्यू है वह प्रिंट नहीं
हुई हमारे पास इसीलिए प्रिंट नहीं हुई
क्योंकि हमने इसको खोला हुआ है अभी भी
राइट मोड में इसको रीड मोड में हमें खोलना
पड़ेगा एक बार दोबारा से कंपाइल एंड रन कर
लेते हैं कंपाइल एंड रन तो हमारे पास आ
गया हमारा कैरेक्टर इ इक्वल टू a इसने
क्या किया
स्कैन करवा के उसको सेम वेरिएबल के अंदर
स्टोर करवा देते हैं जैसे सीच की वैल्यू
तो हमने ऑलरेडी प्रिंट कर दी अब दोबारा से
अगले कैरेक्टर को भी सीच में ही रीड कर
लेते हैं और यहां पे प्रिंट करवा देते हैं
और ये सेम चीज हम बार-बार करेंगे पांच बार
क्योंकि हमें पूरे एल को रीड करना है इसको
भी सेव करके रन करवाते हैं तो यहां ध्यान
से अपनी आउटपुट स्क्रीन को हम देखें तो
सबसे पहले ए उसने रीड किया फिर p रीड किया
फिर दोबारा से कैरेक्टर में पी रीड किया
एंड फिर फोर्थ कैरेक्टर जो उसने रीड किया
वो एल है एंड फिफ्थ कैरेक्टर इज ई तो एक
तरीके से एक कैरेक्टर बाय कैरेक्टर जा जा
के हमारा जो पूरा का पूरा वर्ड है वो रीड
हो गया है अब यहां मान लीजिए हम कैरेक्टर
स्टोर नहीं करते हम स्टोर कर लेते कुछ
नंबर जैसे 1 2 3 4 5 6 8 9 8 तो इन नंबर्स
को अब हमने स्टोर कर दिया अब कैरेक्टर को
स्टोर नहीं करते वो भी केस लेख लेते हैं
इस बार हमें रीड करना है इंटी जर टाइप का
डाटा इसको सीच ही रखते हैं और इंटी जर
टाइप के लिए यहां हर जगह हमें चेंज करना
पड़ेगा बस परसेंटेज डी
एंड सिंस हमारे तीन ही नंबर्स हमने जो है
लिखे हुए हैं यानी यहां पर टेस्ट के अंदर
तीन ही नंबर्स हैं तो हम तीन ही बार स्कैन
करके प्रिंट करवाएंगे इसको कर लेते हैं
सेव एंड रन एक बार तो सबसे पहले हमारे लिए
1 2 3 रीड होके आ गया इसने एक साथ 12 23
को क्या किया अपने एक इंटी जर के अंदर
स्टोर करा दिया फिर 456 को एक इंटी जर के
अंदर स्टोर करा दिया और प्रिंट करवा दिया
फिर 898 को सिंगल इंटी जर के अंदर स्टोर
करवा के प्रिंट करवा दिया तो यहां पे अगर
फ्लोटिंग वैल्यूज होती स्ट्रिंग्स होती
हमारे दूसरे तरीके के इंटी जर्स होते हैं
तो सारी की सारी चीजें जो है ना स्कैन एफ
से हम स्कैन कर सकते हैं और उनको अपनी
स्क्रीन पे प्रिंट कर सकते हैं स्कैनफ से
नहीं एफ स्कैनफ से व्हिच इज यूज
एक्सक्लूसिवली फॉर फाइल्स अब जैसे हम फाइल
से रीड कर सकते हैं डाटा वैसे ही राइट भी
कर सकते हैं राइट करने के लिए हमारा
फंक्शन जो यूज होता है वो होता है एफ
प्रिंट एफ एफ प्रिंट एफ के अंदर भी तीन
हमारे अ पैरामीटर्स जो है पास होते हैं
पहला होता है हमारा फाइल पॉइंटर दूसरा
होता है हमारा फॉर्मेट
से वेरिएबल की वैल्यू प्रिंट करवानी है इस
फॉर्मेट स्पेसिफीज पे तो इसको भी करके देख
लेते हैं हम क्या करेंगे हमारी जो फाइल है
यानी टेस्ट फाइल के अंदर हमने स्टोर कराया
लिखने वाले हैं तो यहां पे हटा लेते हैं
तो सबसे पहले लिखते हैं एफ प्रिंट एफ एफ
प्रिंट एफ के अंदर सबसे पहले आर्गुमेंट
जाएगा हमारा फाइल पॉइंटर उसके बाद जाएगा
हमारा कैरेक्टर कैरेक्टर में सबसे पहले हम
भेजना चाहते हैं अपने एम को एंड इसी तरीके
से डिफरेंट डिफरेंट कैरेक्टर्स को भेजते
रहेंगे ए एन जी एंड ओ इसको कर लेते हैं
सेव एंड अब इसको रन करके देखते
हैं शुरुआत में एक बार टेस्ट भी कर लेते
हैं ड t एकटी के अंदर अभी एल है और जैसे
ही हम इस कोड को रन करेंगे ना वैसे ही
इसके अंदर एल से चेंज होके मैंगो हो गया
है तो फाइल का जो पूरा का पूरा टेक्स्ट था
पूरा का पूरा डाटा था उसको हम रिप्लेस कर
देते हैं जब भी हम राइट करते हैं पर इस
बार अगर हम अपेंड करना चाहे मतलब अपेंड
मोड में अगर इस फाइल को खोले तो मैंगो जो
है अब देखते हैं क्या आउटपुट आता है इसके
बाद एक और मैंगो जुड़ गया अब इस केस में
यानी जब हमने अपेंड किया तो हमारा पुराने
वाला डाटा जो है वो इरेज नहीं हुआ हमने उस
डाटा में कुछ एडिशनल चीजें ऐड कर दी है
नेक्स्ट बात करते हैं कि अगर हमें सिर्फ
एक कैक्ट टर बाय कैरेक्टर किसी फाइल को
रीड करना हो एक तो है कि आप परसेंटेज सी
लगाकर फॉर्मेट स्पेसिफाई लगाकर आप एफ
प्रिंट एफ या एफ स्कैनफ से करें वरना इसके
लिए दो स्पेशल फंक्शंस भी होते हैं फाइल्स
के अंदर जिसमें से सबसे पहला फंक्शन है एफ
गेट सी और दूसरा फंक्शन है एफ पुट सी एफ
गेट सी क्या करता है गेट सी यानी गेट
कैरेक्टर तो फाइल के अंदर से कैरेक्टर को
लेकर आता है और एफ पुट सी पुट कर देता है
एक कैरेक्टर को फाइल के अंदर तो यह
कैरेक्टर्स को रीड करने के लिए यूज़ होता
है और ये कैरेक्टर्स को फाइल के अंदर राइट
करने के लिए यूज़ होता है दोनों का जो
सिंटेक्स है वो काफी आसान सा है एफ गेट स
के अंदर आप सिंपली क्या करते हैं फाइल
पॉइंटर अपना डाल देते हैं यानी पहले जो
हमारा सिंटेक्स चल रहा था एफ स्कैनफ से हम
क्या कर रहे थे सबसे पहले फाइल पॉइंटर
डालते थे उसके बाद डालते थे परसेंटेज सी
एंड उसके बाद डालते थे उस कैरेक्टर का
एड्रेस जिसमें हमें रीड करके डाटा को
स्टोर करवाना है अब हमने यहां पे ये वाला
स्टेप और ये वाला स्टेप हटा दिया तो चीजें
जो है है आसान हो जाएंगी यहां पे सिंपली
पास करना है फाइल पॉइंटर और यह फाइल
पॉइंटर क्या करेगा सिंपली हमारे फंक्शन के
अंदर जाएगा और यह फंक्शन हमें रिटर्न करके
दे देगा वो कैरेक्टर जो इसने रीड किया है
हमारी फाइल के अंदर से सिमिलर चीज हमारा
पुट स करेगा पुट स क्या करेगा पहले वो
कैरेक्टर ले लेगा जिसको फाइल के अंदर राइट
करना है फिर ले लेगा उस फाइल का पॉइंटर
जिसके अंदर राइट करना है और सिंपली उस
फाइल के अंदर जाके उस कैरेक्टर को वो राइट
कर देगा इन दोनों से भी मतलब एफ पुट सी और
एफ गेट सी से भी अपने डाटा को रीड कर लेते
हैं पहले हमने क्या किया था एफ प्रिंट
किया था अबकी बार अपनी फाइल को खोलते हैं
सबसे पहले रीड मोड में रीड मोड में
खोलेंगे और यहां पर लिखेंगे एफ गेट सी
पीटीआर अब यहां से तो कैरेक्टर हमें
रिटर्न हो जाएगा पर उसको प्रिंट भी करवाना
पड़ेगा साथ के साथ तो प्रिंट एफ कर लेते
हैं परसेंटेज
सी दिस इ एफ
पीटीआर अब इस कोड को पांच बार हम कॉपी
करवा देते हैं
टेस्ट के अंदर जो है अपना वापस से एल जो
है उसको रीइंस्टॉल कर देते हैं अब अपने
कोड को सेव करके एक बार रन करते हैं
आउटपुट हम एनालाइज करेंगे कि सेम आएगा
क्या और आउटपुट सेम आया यानी हमारे
कैरेक्टर बाय कैरेक्टर जो है फाइल से रीड
हो हो के हमारी स्क्रीन के ऊपर हमारे लिए
प्रिंट हो गए हैं यूजिंग एफ गेट सी ऐसे ही
हम अगर राइट मोड में अपनी फाइल को खोले और
इस बार हम राइट करना चाहते हैं इसको भी
कॉमेंट आउट कर देते हैं सिंपली हमें लिखना
है f पुट सी उसके अंदर सबसे पहले लिखेंगे
अपना कैरेक्टर एंड हमारे फाइल का
पॉइंटर सेम चीज करने की कोशिश करेंगे
हमारी टेस्ट फाइल के अंदर एल स्टोर्ड है
उसको हम रिप्लेस करना चाह रहे हैं मैंगो
से तो राइट मोड में इस फाइल को खोलने वाले
हैं और मैंगो लिखने वाले हैं एफ पुट सी की
हेल्प से इसको भी सेव करके रन करते हैं
तो अब टेस्ट फाइल को देखें तो हमारे लिए
मैंगो आ गया इंस्टेड ऑफ एल तो कैरेक्टर के
लिए अगर करना हो तो कैरेक्टर के लिए f
स्कैन एफ भी कर सकते हैं या एफ गेट सी भी
कर सकते हैं पर अगर हमें बाकी जो डटा
टाइप्स हैं जैसे स्ट्रिंग हो गया इंटी जर
हो गया फ्लोट हो गया तो उन सब के लिए हमें
पता है कि हमें एफ स्कैनफ या एफ प्रिंट एफ
ही यूज़ करना पड़ेगा नेक्स्ट बात करते हैं
ईओएफ की ईओएफ एक स्पेशल चीज है जिसको एंड
ऑफ फाइल भी कहा जाता है अब ये जो ईओएफ है
ना अलग-अलग लैंग्वेजेस में एजिस्ट करता है
सी का ईओएफ कैपिटल ईओएफ होता है जावा के
अंदर भी स्मॉल ईओएफ होता है तो ईओएफ होता
है एंड ऑफ फाइल जब हम एफ गेट सी से
कैरेक्टर्स को रीड करते हैं तो जैसे ही
हमारी फाइल के अंदर एक-एक करके एक-एक करके
कैरेक्टर रीड कर करके हमारे सारे कैरेक्टर
खत्म हो जाते हैं तो हमारा एफ गेट सी
रिटर्न करता है ईओएफ और ईओएफ रिटर्न करने
का मतलब है ईओएफ इज लाइक नल जैसे नल
रिटर्न होता था तो हमें पता चलता था फाइल
एजिस्ट ही नहीं करती वैसे ही ईओएफ जब
रिटर्न होता है तब हमें पता चलता है कि हम
अपने फाइल के एंड पे पहुंच गए हैं मतलब
हमने सारे के सारे डाटा को ट्रेव्स कर
लिया है उसको रीड कर लिया अब हमारी फाइल
के अंदर कोई ऐसा डाटा नहीं है जिसको हमने
रीड ना किया हो तो एफ गेट स से जब भी डटा
को रीड करते हैं इसका फायदा यह होता है
कैरेक्टर्स को रीड करने का कि ईओएफ हमें
मिल जाता है डाटा को पढ़ने के बाद जैसे
मान लीजिए हमारी फाइल के अंदर हमने काफी
सारा डाटा स्टोर करा दिया दिस इज अ रैंडम
स्ट्रिंग ऑफ वर्ड्स तो इस तरीके का काफी
सारा डाटा हमने स्टोर करा दिया और इस पूरे
डाटा को हम रीड करना चाहते हैं तो इस पूरे
डटा को रीड करने के लिए हमें इसको
कैरेक्टर बाय कैरेक्टर रीड करना पड़ेगा
प्लस एंड में हम एक लिमिट लगा देंगे कब तक
रीड करना है जब तक ईओ नहीं आ जाता तो उसके
लिए एक सिंपल सा कोड लिख के देखते हैं आप
नोटिस करेंगे हर एक कोड के अंदर फाइल को
ओपन करने का और क्लोज करने का ये दोनों
लाइन तो कांस्टेंट ही हैं फाइल पॉइंटर को
डिक्लेयर करने के बाद अब इस जो फाइल है
इसको हम रीड मोड में खोलने वाले हैं और
इसको कैरेक्टर बाय कैरेक्टर रीड करेंगे तो
सबसे पहले कैरेक्टर बना लेते हैं सी जो
सारी की सारी वैल्यूज को रीड करने वाला है
अब सी के अंदर सबसे पहले फर्स्ट कैरेक्टर
को रीड करवाते हैं फर्स्ट कैरेक्टर कैसे
रीड करवाएंगे एफ गेट सी उसके अंदर डाल
देंगे एफ पीटीआर तो एफ गेट सी के अंदर एफ
पीटीआर डाल के हम अपने कैरेक्टर को अपने
कैरेक्टर को रीड कर लेंगे और उसको सी नाम
के वेरिएबल में स्टोर करा देंगे इसके बाद
क्या करेंगे एक वाइल लूप लगा देते हैं
वाइल लूप क्यों क्योंकि हमें बार-बार
बार-बार बार-बार लूप की फॉर्म में एक-एक
करके कैरेक्टर को रीड करना है जैसे टेस्ट
के अंदर जाएं तो सबसे पहले t को रीड
करेंगे फिर हम एच को रीड करेंगे फिर हम आई
को रीड करेंगे फिर हम ए को रीड करेंगे फिर
ये जो स्पेस है हम इसको रीड कर रहे होंगे
फिर दोबारा से आई को ए को इस तरीके से
पूरी की पूरी स्ट्रिंग ऑफ वर्ड्स को
इनफैक्ट यहां पे पैराग्राफ होता पूरा आपने
google2 कर दिया परसेंटेज सी उसी कैरेक्टर
को जिसको हमने अभी रीड किया है एंड दोबारा
से रीड कर लो यानी सीच के अंदर अब नई
वैल्यू ले लेंगे f गट स से इसके अंदर एफ
पीटीआर एंड फाइनली एक नेक्स्ट लाइन हम
प्रिंट करवा देते हैं अपने कंसोल पे इस
कोड को हल्का सा ध्यान से समझते हैं
कैरेक्टर सीए हमने एक डमी कैरेक्टर ले
लिया है इसके अंदर डाटा रीड करवा करवा के
फाइल से यहां पे स्टोर करा देंगे पहला
कैरेक्टर रीड करवाया और फिर एक लूप लगा
दिया लूप के अंदर तब तक कैरेक्टर्स को रीड
करते रहना है जब तक एंड ऑफ फाइल नहीं आ
जाता तो ये कंडीशन दिखाती है जब तक
कैरेक्टर इज नॉट इक्वल टू एंड ऑफ फाइल अब
प्रिंट करवाते रहेंगे सीच को फिर दोबारा
से अगला कैरेक्टर रीड कर लेंगे फिर उसको
प्रिंट करवा देंगे दोबारा से अगला
कैरेक्टर रीड कर लेंगे फिर से प्रिंट करवा
देंगे फिर से कैरेक्टर रीड कर लेंगे जब तक
इस कैरेक्टर के अंदर हमारे पास एंड ऑफ
फाइल नहीं आता जैसे ही एंड ऑफ फाइल आया
कंसोल पे नेक्स्ट लाइन प्रिंट करवा देंगे
और अपनी फाइल को कर देंगे क्लोज इसको कर
लेते हैं सेव और अब इसको टर्मिनल से करते
हैं
रन तो हमारी स्क्रीन के ऊपर पूरा का पूरा
वही सेंटेंस प्रिंट होके आ गया है दिस इज
अ रैंडम स्ट्रिंग ऑफ वर्ड्स जो हमने अपनी
टेक्स्ट फाइल के अंदर डाला था तो जब भी
पूरी की पूरी फाइल को रीड करना हो एफ गेट
सी का यूज़ कर लें और उसको ट्रैक कैसे
करना है एंड ऑफ फाइल की हेल्प से अब सबसे
पहले सवाल कर लेते हैं सवाल हमारा कहता है
मेक अ प्रोग्राम टू रीड फाइव इंटी जर्स
फ्रॉम अ फाइल हमें एक फाइल लेनी है और
उससे पांच इंटी जर्स को रीड करना है तो
अपनी टेस्ट फाइल के अंदर पांच इंटी जर्स
को लिख लेते हैं 1 2 3 4 एंड 5 इसको कर
लेते हैं सेव अब एक प्रोग्राम बनाते हैं
इनफैक्ट इस प्रोग्राम को क्या करेंगे
शुरुआत से ही बनाएंगे फाइल पॉइंटर हमने ले
लिया अब फाइल को करेंगे ओपन तो f पीटीआर =
इ f ओपन सबसे पहले पास करेंगे फाइल का नाम
च इज टेस्ट डटी एकटी उसके बाद पास करेंगे
हमारा मोड हमें करना है रीड अब इंटी जर
वेरिएबल बना लेंगे n जिसमें हम नंबर्स को
रीड करने वाले हैं एफ स्कैनफ परसेंटेज डी
उससे पहले एफ
पीटीआर और स्टोर करवा लेंगे नंबर को n में
उसके बाद करा देंगे उस नंबर को स्क्रीन पर
प्रिंट नंबर इ इक्वल टू परसेंटेज
डी और यह सेम चीज हमें पांच नंबर के लिए
रिपीट करनी
है तो इस पूरे कोड को सेव कर लेते हैं और
लास्ट में अपनी फाइल को क्लोज करना हमें
भूलना नहीं है उसके अंदर लिख देते हैं एफ
पीटीआर सेव एंड
रन यह हमारे लिए कुछ एरर जनरेट हो गया है
क्योंकि यहां पे हमें लगाना था एड्रेस ऑफ
n हम पास कर देंगे अपने एफ स्कैनफ
में इसको कर लेते हैं सेव एंड नाउ रन तो
नंबर्स एक-एक करके रीड हो गए वन 2 3 4 एंड
फाइव उसी ऑर्डर में रीड हुए हैं जिस ऑर्डर
में हमने अपनी फाइल के अंदर लिखे हुए थे
नेक्स्ट क्वेश्चन कर लेते हैं मेक अ
प्रोग्राम टू इनपुट स्टूडेंट इंफॉर्मेशन
फ्रॉम अ यूज़र एंड एंटर इट टू अ फ़ाइल तो
यूज़र से क्या करेंगे स्टूडेंट की
इंफॉर्मेशन ले लेंगे इसमें इंफॉर्मेशन में
हम लेने वाले हैं स्टूडेंट का नाम उसके
बाद स्टूडेंट की ऐज ले लेते हैं मार्क्स
ले लेते हैं या फिर इसको सीजीपीए कह देते
हैं ताकि हम फ्लोट टाइप भी बना सकें तो यह
तीन इंफॉर्मेशन स्टूडेंट की ले लेते हैं
और इस को एक फाइल के अंदर हम स्टोर
कराएंगे तो इसको कर लेते हैं डिलीट सबसे
पहले एक फाइल को ओपन करते हैं एफ पीटीआर
में एफ ओपन अब जिस फाइल को हम ओपन करने
वाले हैं ना वो एजिस्ट नहीं करती इसको हम
नया जो है क्रिएट करेंगे इसको नाम दे देते
हैं स्टूडेंट ड t एकटी और इसको ओपन कर रहे
हैं राइट मोड में राइट मोड में ओपन करें
तो अगर एजिस्ट भी नहीं करती तो भी खुद
क्रिएट हो जाएगी अब सबसे पहला हमारा काम
है यूजर से इंफॉर्मेशन इनपुट लेना तो यूजर
से इंफॉर्मेशन लेने के लिए सबसे पहले
लिखते हैं प्रिंट एफ
एंटर नेम एक स्ट्रिंग बना लेते हैं
कैरेक्टर नेम ऑफ 100 कैरेक्टर्स परसेंटेज
s और यहां पर लिख देते हैं नेम अब स्कैनफ
कर लेते हैं अपने नेम को परसेंटेज एस एंड
हमारा नेम उसके बाद क्या करेंगे उसके बाद
एंटर करवा लेंगे स्टूडेंट की एज उसके लिए
भी एक वेरिएबल बना लेते हैं इंट एज एंड
फ्लोट सीजीपीए तो थोड़ा सा अलग-अलग
पार्ट्स हो गए फाइल वाला पार्ट है ये
हमारे इंटरनल वेरिएबल वाला वा पार्ट है
यहां पे हम यूजर से इंफॉर्मेशन ले रहे हैं
कंट्रोल सी कंट्रोल v यहां पे एंटर करा
लेंगे सीजीपीए परसेंटेज f अब हमें क्या
करना है इस सारी की सारी इंफॉर्मेशन को
अपने फाइल के अंदर लिखना है यानी एफ ओपन
से जो हमने फाइल ओपन की उसके अंदर सारी
इंफॉर्मेशन को लिखना है तो उसके लिए यूज
करेंगे हम एफ प्रिंट एफ का कैसे करेंगे
सबसे पहले लिखते हैं एफ प्रिंट एफ उसके
अंदर पास करेंगे एफ पीटीआर अब हम सबसे
पहले अपनी स्ट्रिंग को लिखना चाहते हैं तो
लिखेंगे नेम और स्ट्रिंग के बाद हम लगाना
चाहते हैं कॉमा एंड कॉमा के बाद हम चाहते
हैं नेक्स्ट लाइन में जो है इंफॉर्मेशन
चली जाए या इनफैक्ट इस इंफॉर्मेशन को टैब
स्पेसेस से फॉर्मेट करते हैं फिर लिखेंगे
एफ प्रिंट एफ एफ पीटीआर इसके बाद हम
डिस्प्ले करना चाहते हैं अपनी एज और पास
कर देंगे अपनी एज को एफ प्रिंट एफ एफ
पीटीआर परसेंटेज एफ हमारा सीजीपीए एक बार
सेव करते हैं सबसे पहले नाम प्रिंट होगा
फिर टैब का स्पेस आएगा फिर एज प्रिंट होगी
फिर टैब का स्पेस आएगा फिर सीजी पे होगा
ये सारा का सारा स्टूडेंट फाइल के अंदर
होने वाला है जिसको हम नया क्रिएट करेंगे
एंड में हम क्लोज कर देंगे फाइल को अब एक
बार रन करते हैं कोड को जो एरे है वो खुद
में एक पॉइंटर है तो ये कैरेक्टर एरे जो
है नेम वो खुद में पॉइंटर है तो यहां एम
परसेंट लगाने की जरूरत नहीं है इसको कर
लेते हैं क्लियर एंड नाउ रन तो नाम हमने
एंटर कर दिया एज हमने एंटर कर दी मार्क्स
यानी सीजीपीए एंटर कर दिया और अब ऑटोमेटिक
हमारे लिए स्टूडेंट जो है फाइल क्रिएट हो
गई है नाम हमारा आ गया है फिर टैब की
स्पेस आई है फिर एज आ गई है फिर टैब की
स्पेस आई है फिर हमारे मार्क्स आ गए हैं
इस तरीके से हम फॉर्मेट कर सकते हैं अपनी
डाटा को इनफैक्ट इस डाटा को अलग तरीके से
फॉर्मेट करना होता तो यहां हम लिख देते
स्टूडेंट नेम उसके बाद लिखते स्टूडेंट एज
और सारी इंफॉर्मेशन जो है ना नेक्स्ट
नेक्स्ट लाइन में हमें करवानी होती है और
यहां लिखते हैं स्टूडेंट सीजीपीए इसको भी
एक बार सेव कर लेते हैं दोबारा से रन
करवाते हैं नेम हमने दोबारा से एंटर किया
अपनी एज एंटर की दोबारा से हमने मार्क्स
एंटर किए इस बार हमारी फाइल ऑलरेडी एजिस्ट
करती थी जिसका नाम है स्टूडेंट स्टूडेंट
को खोलेंगे तो अब हमारा डाटा इस फॉर्मेट
में हमारे पास आ गया पह नेम फिर नेक्स्ट
लाइन के अंदर एज फिर नेक्स्ट लाइन के अंदर
सीजीपीए तो अलग-अलग तरीके की अगर हमें
फॉर्मेटिंग करनी है फाइल के अंदर राइट
करते हुए तो हम वो भी कर सकते हैं नेक्स्ट
करते हैं अपना क्वेश्चन नंबर 63 क्वेश्चन
हमारा कहता है राइट अ प्रोग्राम टू राइट
ऑल द ऑड नंबर्स फ्रॉम वन टू n इन अ फाइल
यानी एक फाइल हमें क्रिएट करनी है और उसके
अंदर वन से लेकर n तक जितने भी ऑड नंबर्स
आते हैं ना वो उसमें राइट करने हैं और ये
n जो है ये n हमें दे रहा होगा हमारा यूजर
तो यूजर से n इनपुट करेंगे वन से लेकर n
तक लूप चलाएंगे जो जो ड नंबर है उसको
निकालेंगे और फाइल के अंदर राइट कर देंगे
तो इनको कर लेते हैं क्लोज अपने प्रोग्राम
के अंदर एक नई फाइल जो है उसको ओपन करने
की कोशिश करते हैं राइट से एफ पीटीआर इट
एफ ओपन अपनी फाइल का नाम ऑड डटी एक्सटी
एंड उसको ओपन कर रहे हैं हम राइट मोड में
तो राइट मोड में ओपन कर रहे हैं तो एजिस्ट
नहीं करती तो भी खुद से क्रिएट हो जाएगी
अब यूजर से रीड कर लेते हैं इंटी जर एंड
प्रिंट एंटर ए
स्कैनफ परसेंटेज
डी एंड
n इसके बाद लूप चला लेते हैं इंट आ = 0 आ
जब तक लेसन इक्व टू n है इनफैक्ट आ को
शुरू करते हैं वन से लेकर n तक i प् प् अब
ऑड चेक करने के लिए लिखना पड़ेगा इफ आ
मॉडलो 2 इज नॉट इक्वल टू 0 जब i डिवाइड बा
2 रिमाइंडर में रो नहीं देगा मतलब हमारा
नंबर ऑड है तो नंबर ऑड है तो अब हमें इसको
फाइल में राइट करना है फाइल में कैसे राइट
करेंगे एफ प्रिंट एफ की हेल्प से एफ
प्रिंट एफ कर देंगे सबसे पहला पैरामीटर
पास करेंगे अपना फाइल पॉइंटर जिसके अंदर
हमें राइट करना है उसके बाद पास कर देंगे
टाइप फॉर्मेट
स्पेसिफाई और इन नंबर्स को सेपरेट कर
लेंगे एक टैब स्पेस के साथ इनफैक्ट
नेक्स्ट लाइन में प्रिंट करवा देंगे सबको
इसको कर लेते हैं सेव एंड एंड में हमने
फाइल को क्लोज कर दिया है अब इसको रन
करवाते हैं मान लीजिए हमें शुरू के 10 ऑड
नंबर चाहिए तो ऑटोमेटिक ऑड .
tx1 तक जितने भी नंबर्स ऑड हैं वो हमारे
लिए प्रिंट हो गए 1 3 5 7 एंड 9 नेक्स्ट
क्वेश्चन करते हैं नेक्स्ट क्वेश्चन कहता
है कि एक फाइल के अंदर दो नंबर्स लिखे हुए
हैं एक नंबर है a दूसरा नंबर है b ये फाइल
के अंदर ऑलरेडी नंबर लिखे हुए हैं अब राइट
अ प्रोग्राम टू रिप्लेस देम विद देयर सम
हमें क्या करना है हमारी मान लीजिए यह एक
फाइल है इसके अंदर ऑलरेडी टू और थ्री दो
नंबर्स लिखे हुए हैं हमें इन दोनों को
फाइल से रीड करना है a में दो ले आएंगे b
में तीन ले आएंगे और इस फाइल को अंदर से
साफ करके मतलब इसका डाटा डिलीट करके दोनों
नंबर्स का सम हमें इसमें लिखना है यानी
इसके अंदर सिर्फ पांच होना चाहिए एट दी
एंड ऐसा सा कुछ हमारा सिस्टम रहेगा तो
लॉजिक क्या होगा इसके पीछे करने का सबसे
पहले तो डाटा को रीड कर लेंगे पहले फाइल
को खोलेंगे रीड मोड में उसके बाद फाइल को
क्लोज करने के बाद खोलेंगे अपने राइट मोड
में और राइट मोड में जैसे ही खोलेंगे तो
डटा अपने आप क्या हो जाएगा ओवरराइट हो
जाएगा तो पुराना डाटा डिलीट तब तक हम उस
डाटा को इंट a और b में अपने लोकल वेरिएबल
के अंदर स्टोर करा लेंगे तो इसके लिए भी
कोड लिखते हैं सबसे पहले फाइल क्रिएट कर
लेते हैं सम txt.gz
इसके अंदर पास करेंगे एफ पीटीआर एंड उसके
बाद हमारा फॉर्मेट
स्पेसिफीज करने वाले इंटी जर बी के लिए
इंट बी एंड एड्रेस ऑफ बी अब ए और बी को
हमने रीड कर लिया एंड अब हम फाइल को क्लोज
कर देते हैं फाइल को क्लोज करने के बाद अब
दोबारा खोलेंगे इसको सेम पॉइंटर की हेल्प
से दोबारा खोल सकते हैं अपने राइट मोड में
तो राइट मोड में खोलेंगे और फाइल के अंदर
प्रिंट एफ कर देंगे डाटा को ऐड करवा देंगे
ए
पीटीआर परसेंटेज डी हमारा सम यानी a ् b
को अब दोबारा से फाइल को कर देंगे क्लोज
तो सबसे पहले हमने a और बी को रीड किया
फाइल से फाइल को क्लोज कर दिया और अगली
बार खोला उसको राइट मोड में राइट मोड में
क्या किया राइट मोड में अब फाइल के अंदर
ओवरराइट कर दिया a + b यानी दोनों नंबर्स
का सम और दोबारा से कर दिया फाइल को क्लोज
अब इसको रन करते हैं अपने सम
txt.gz ने क्या किया टू और थ्री को
रिप्लेस कर दिया फाइव के साथ ये हमारे
काफी सारे हमने फंक्शंस डिस्कस कर लिए हैं
जो फाइल के ऊपर होते हैं आप डिफरेंट
डिफरेंट सवाल सॉल्व कर सकते हैं फाइल्स की
हेल्प से और बहुत ही सिंपल सवाल होते हैं
बस क्या करना होता है तीन-चार फंक्शंस याद
करने हैं याद करने की सबसे अच्छी टिप यह
है कि ऑलरेडी एजिस्टिफाई
के लिए आप एफ लगा दो और बहुत ही इजी
सिंटेक्स है मतलब एफ ओपन और एफ क्लोज बहुत
इजी मैं कहूंगी वो फंक्शंस हैं जो दिमाग
में बैठ जाते हैं और अब पढ़ते हैं अपने
लास्ट और नेक्स्ट चैप्टर की तरफ जो है
चैप्टर 11 जिसमें पढ़ेंगे डायनेमिक मेमोरी
एलोकेशन के बारे में तो अब हम शुरुआत करने
वाले हैं अपने चैप्टर 11 और अपने लास्ट
चैप्टर के साथ जिसका नाम है डायनेमिक
मेमोरी एलोकेशन अब डायनेमिक मेमोरी
एलोकेशन की बात करने से पहले ये समझते हैं
कि मेमोरी किस तरीके से एलोकेट होती है जब
भी हम एक प्रोग्राम लिखते हैं एक होता है
स्टैटिक मेमोरी एलोकेशन एक होता है
डायनेमिक मेमोरी एलोकेशन जब भी हम कोई सी
का प्रोग्राम लिखते हैं और उसके अंदर हम
कोई वेरिएबल बनाते हैं तो सी का कंपाइलर
क्या करता है उस वेरिएबल का डेटा टाइप देख
लेता है है और उस हिसाब से मेमोरी पहले से
ही एलोकेट कर देता है यानी रिजर्व कर देता
है पर कभी-कभी ऐसे केसेस आ सकते हैं
जिसमें हमारी जो रिक्वायरमेंट है ना
मेमोरी की वो कोड के बीच में चेंज हो सकती
है जैसे अगर मान लीजिए आपने कोई एरे बनाया
है और उस एरे में आप स्टोर कराना चाहते
हैं कि आपकी क्लास में कितने बच्चे
एनरोल्ड हैं तो आपकी क्लास में मान लीजिए
30 बच्चे हैं और 30 बच्चों के हिसाब से
आपने एरे बना दिया लेकिन साल के बीच में
तीन नए बच्चे आपकी क्लास में एनरोल कर
जाते हैं तो उसके लिए क्या आप एक नया एरे
बनाएंगे जिसका साइज 33 होगा उसमें पुरानी
वाली वैल्यूज भी कॉपी करेंगे और नए वाली
वैल्यूज भी कॉपी करेंगे तो ये थोड़ा सा ना
ट्रिकी सिचुएशन हो जाती है जिसमें एनर्जी
बहुत वेस्ट होती है इसीलिए डायनेमिक
मेमोरी एलोकेशन की हमें जरूरत पड़ती है
क्योंकि एक ऐसा तरीका है जिससे हम
प्रोग्राम के बीच में डिसाइड कर सकते हैं
कि हमें कितनी मेमोरी चाहिए अगर हमने पहले
कम ले ली थी तो उसको ज्यादा कर सकते हैं
अगर पहले ज्यादा ले ली थी तो रिसोर्सेस
बचाने के लिए उस मेमोरी को प्रोग्राम के
बीच में हम कम कर सकते हैं तो डायनेमिक
यानी रन टाइम में हम डिसाइड कर पाएंगे कि
मेमोरी कितनी आ एलोकेट होनी है तो
डायनेमिक मेमोरी एलोकेशन होता है टू
एलोकेट मेमोरी टू अ डाटा स्ट्रक्चर
ड्यूरिंग द रन टाइम तो दो टाइम्स होते हैं
एक होता है हमारा कंपाइल टाइम और एक होता
है हमारा रन टाइम कंपाइल यानी जब सी का जो
कंपाइलर है वो रन कर रहा है और वो एनालाइज
कर रहा है कितनी मेमोरीज इंटी जर वेरिएबल
को चाहिए होगी कितनी मेमोरीज फ्लोट
वेरिएबल को चाहिए होगी कितनी मेमोरी एक
स्ट्रिंग को चाहिए होगी और फिर होता है
हमारी रन टाइम मेमोरी एलोकेशन रन टाइम
यानी जब हमारा कोड एक्चुअली रन कर रहा है
जब कंसोल की विंडो खुली हुई है उसमें यूजर
कुछ इनपुट कर रहा है कुछ आउटपुट प्रोड्यूस
हो रहा है प्रोग्राम के शुरू और खत्म होने
के बीच के टाइम को रन टाइम कहते हैं अब ये
जो डायनेमिक मेमोरी एलोकेशन हम करना चाहते
हैं ना इसके लिए हमें कुछ फंक्शंस चाहिए
होते हैं उन फंक्शंस को यूज करके हम
मेमोरी के साथ डायनेमिक खेल रहे होते हैं
तो चार फंक्शंस की हम इस टॉपिक में इस
चैप्टर में बात कर रहे होंगे मेजर्ली
जिनमें से सबसे पहला फंक्शन है हमारा मैलक
मैलक स्टैंड्स फॉर मेमोरी एलोकेशन दूसरा
है हमारा कैलक कैलक इज कंटीन्यूअस एलोकेशन
तीसरा है हमारा फ्री फंक्शन और चौथा है
हमारा री एलोक यानी री एलोकेशन अब इन
चारों फंक्शंस के बारे में हम डिटेल में
इस पूरे के पूरे चैप्टर में पढ़ रहे होंगे
और चारों फंक्शन बहुत आसान है लिखने
इनफैक्ट मैं बात करूं तो एक कंप्यूटर
प्रोग्राम अभी तक जितने हमने 10 चैप्टर
पढ़ लिए हैं ना ये चैप्टर सबसे आसान होना
चाहिए क्योंकि इसमें सिर्फ चार ही फंक्शन
है और बहुत इजी तरीके से हम इसको समझने
वाले हैं सबसे पहले फंक्शन की बात करते
हैं पहला फंक्शन है हमारा मैलक अब मैलक
फंक्शन का काम होता है कुछ पर्टिकुलर
अमाउंट ऑफ मेमोरी को एलोकेट कर देना मान
लीजिए आपको चाहिए 14 बाइट्स की मेमोरी या
30 बाइट्स की मेमोरी तो मलक आपको वो
मेमोरी लाके दे देगा कोड के बीच में इट
टेक्स द नंबर ऑफ बाइट्स टू बी एलोकेटेड
मेमोरी को जिन टर्म्स में मेजर करता है
जिन टर्म्स में लाके देता है वो बाइट्स
वाली टर्म है यानी बाइट्स में आपको इसको
बताना पड़ेगा इतने बाइट्स ऑफ मेमोरी मुझे
चाहिए एंड इट विल रिटर्न अ पॉइंटर ऑफ टाइप
वॉइड वो क्या करेगा हमारी जो टोटल मेमोरी
है उसके अंदर उन पर्टिकुलर बाइट्स का मान
लीजिए x बाइट्स आपने भेजी एक चंक ले लेगा
और उसको एक पॉइंटर असाइन कर देगा पीटीआर
जिसका टाइप होगा वॉइड और इस पॉइंटर के
थ्रू अब आप इस मेमोरी को जो है एक्सेस कर
पाएंगे तो x नंबर ऑफ बाइट्स ले लेगा उस
हिसाब से मेमोरी के अंदर जगह बनाएगा x
नंबर ऑफ बाइट्स की वो आपको रिटर्न करके दे
देगा और उसका क्या रिटर्न करेगा उसका
पॉइंटर रिटर्न करेगा उस पॉइंटर का टाइप
होता है हमारे पास वॉइड इसको लिखने का
सिंटेक्स क्या रहता है सबसे पहले हम लिखते
हैं मैलक मैलक के अंदर जाएंगी हमारी नंबर
ऑफ बाइट्स अब यहां पे नंबर ऑफ बाइट्स हमने
कुछ इंटरेस्टिंग चीज दी है पहले लिखा है
पांच फिर मल्टीप्लाई किया है साइज ऑफ इंट
से अब ये जो साइज ऑफ होता है ना ये साइज
ऑफ हमारा एक फंक्शन होता है और ये फंक्शन
क्या करता है ये फंक्शन किसी भी डेटा टाइप
का साइज हमें रिटर्न कर देता है अगर हमने
लिखा साइज ऑफ इंट तो इंटी जर का साइज
रिटर्न कर देगा अगर हमने लिखा साइज ऑफ
फ्लोट तो फ्लोट का साइज रिटर्न कर देगा
अगर हमने लिखा साइज ऑफ कैरेक्टर तो
कैरेक्टर का साइज रिटर्न कर देगा अब मेरी
मशीन के हिसाब से मुझे पता है ये रिटर्न
करेगा चार फ्लोट में भी चार और कैरेक्टर
में एक हो सकता है आपकी मशीन 32 बिट की हो
या कोई और सिस्टम पे आप काम कर रहे हो तो
उस केस में इंटी जर का साइज क्या पता है
ये टू रिटर्न करे आपके लिए या किसी और डटा
टाइप का कोई और साइज रिटर्न करें तो
डिपेंड करता है कि आपका सिस्टम क्या है
अपने सिस्टम के हिसाब से अगर आपको जानना
है कि यह डेटा टाइप कितनी बाइट्स ऑफ़
मेमोरी मेरे लिए लेता है तो वो ये साइज ऑफ
फंक्शन रिटर्न करके दे देगा तो एक बार
साइज ऑफ को देख भी लेते हैं सबसे पहले काम
कैसे करता है अगर मैं प्रिंट करना चाहूं
परसेंटेज डी साइज ऑफ इंट एंड इसके साथ-साथ
साइज ऑफ फ्लोट एंड साइज ऑफ कैरेक्टर इसको
एक बार मैं सेव कर लेती हूं और रन करती
हूं वार्निंग्स को हमें इग्नोर करना है
हां तो साइज ऑफ इंटी जर हमारे पास चार
बाइट्स आ गया साइज ऑफ फ्लोट भी चार बाइट्स
आ गया और साइज ऑफ कैरेक्टर आया है सि बाइट
तो ये साइज ऑफ ऑपरेटर होता है जिसकी हेल्प
से हम किसी भी डेटा टाइप का साइज अपने पास
निकाल कर ला सकते हैं तो यहां पे हमने
क्या किया मैलक के अंदर हमने पांच को
मल्टीप्लाई कर दिया है साइज ऑफ इंटी जर से
अब इंटी जर का साइज क्या है इंटी जर का
साइज है चार तो ये क्या करेगा 20 बाइट्स
की मेमोरी हमें लाकर दे देगा अगर मान
लीजिए आप 14 बाइट्स की मेमोरी लेना चाहते
हैं तो आपके लिए क्या होगा 14 बाइट्स
रिजर्व हो जाएंगी अब इसमें आप क्या कर
सकते हैं 12 बाइट्स के अंदर तो आप चार
इंटी जर स्टोर करा सकते हैं और दो बाइट के
अंदर आप दो कैरेक्टर स्टोर करा सकते हैं
पर मुझे तो जी पांच इंटी जर ही स्टोर
कराने थे इस मेमोरी में इसीलिए मैंने ऐसी
मेमोरी ली जो इंटी जर का मल्टीपल है
इसीलिए 5 मलाड बा 4 तो 20 बाइट्स की
मेमोरी मालक मुझे लाकर दे देगा मुझे
एक्चुअली लाकर दिया है इस मेमोरी का
पॉइंटर जिसका टाइप है वॉइड तो ये वॉइड
टाइप का पॉइंटर है पर मुझे तो एक इंटी जर
टाइप का पॉइंटर चाहिए था इसीलिए मैंने
यहां पे इसको कर दिया है टाइपकास्ट और ये
टाइपकास्ट के लिए हम स्टार इंट नहीं इंट
स्टार लिखते हैं तो इंट स्टार टाइप का
मुझे मेमोरी मिल गया है जिस मेमोरी में
मेरे पास 20 बाइट्स हैं यानी उसमें मैं
पांच इंटी जर्स को स्टोर करा सकती हूं और
यह पूरा का पूरा पॉइंटर मैंने इस वेरिएबल
पीटीआर में लाके स्टोर कर दिया है अब इस
मेमोरी को एक्सेस करना होगा तो पीटीआर की
फॉर्म में एक्सेस करेंगे आल्सो मालक को
यूज करने के लिए हमें ऊपर एक एसटीडी एई
बीड ए नाम की स्टैंडर्ड लाइब्रेरी जो है
इंक्लूड करनी पड़ती है जो हमें कैपेबल
बनाती है डीएमए के यानी डायनेमिक मेमोरी
एलोकेशन के तो एक बार इसको करके देख लेते
हैं ऊपर इंक्लूड करते हैं हैश इंक्लूड
एटीडी ए आई बीड
ए पहले बनाते हैं एक इंटी जर
पॉइंटर अब इस पॉइंटर को असाइन कर देंगे
मैलक ने जो मेमोरी हमें दी मैलक से कितनी
मेमोरी चाहिए हमें 5 इंटी जर्स के बराबर
तो साइज ऑफ इंटी जर और इस पॉइंटर को हम
टाइपकास्ट कर देंगे टू इंट पॉइंटर तो ये
हमारा पॉइंटर आ गया है जो पॉइंट कर रहा है
यहां 20 बाइट्स ऑफ मेमोरी को अब अगर ऐसी
सिचुएशन आ जाती है जिसमें लॉक हम मान
लीजिए यहां पे लिख दें फ करोड़ या करोड़
से भी कोई बड़ा नंबर तो एक पॉइंट आएगा जब
हम इतनी मेमोरी मांग रहे होंगे जो हमारे
सिस्टम के पास है ही नहीं तो ऐसा जब केस
आता है जब हमारा सिस्टम हमें हमारी
रिक्वायर्ड नंबर ऑफ बाइट्स नहीं दे पाता
तो उस केस में यहां पे रिटर्न होता है नल
सो हमारे पीटीआर की वैल्यू नल हो जाएगी जब
हमारा सिस्टम हमें रिक्वायर्ड नंबर ऑफ
बाइट्स नहीं दे पाएगा इसीलिए सोच समझ के
यहां पे ठीक-ठाक नंबर लिखना है जो
कैपेसिटी हमारे सिस्टम की है उसी हिसाब से
अब मुझे अगर इस मेमोरी के अंदर चीजें
स्टोर करानी हो जैसे मान लो लीजिए मेरे
पास पांच इंटी जजर्स के साइज की मेमोरी आ
गई है अब मुझे उसके अंदर पांच इंटी जर्स
एक्चुअली स्टोर कराने हैं तो उसके लिए
स्टोर कराने का तरीका बिल्कुल वैसा स ही
होगा जैसे हम अरेज को यूज करते हैं अरेज
में क्या होता है हमारे पास फिक्स साइज की
मेमोरी होती है यहां पे हम क्या कर रहे
हैं डायनेमिक साइज की मेमोरी को ले रहे
हैं तो इनको भी हम रेज की तरह यूज कर सकते
हैं बस साइज यहां पर फिक्स नहीं है इतनी
सी सिंपल चीज है जैसे जरूरत लोकेशन पे मैं
वन को स्टोर करा दूं फर्स्ट पे मैं थ्री
को स्टोर करा दूं फिर पीटीआर ऑफ टू में
मैं पांच को स्टोर करा दूं पीटी ऑफ 3 में
मैं सात को स्टोर करा दूं और पीटीआर ऑफ 4
में मैं स्टोर करवा दूं ना को तो इस तरीके
से पांचों इंटी जर लोकेशंस पे मैंने कोई
ना कोई वैल्यू स्टोर करा दि है एंड नाउ आई
कैन रन अ लूप लूप लगाकर इन सारी वैल्यूज
को मैं प्रिंट करवा सकती हूं i = 0 से i <
5i प् प् पीटीआर ऑफ आ तो जैसे एरे की
लोकेशंस को एक्सेस करते हैं और उसके बाद
उसमें वैल्यूज को स्टोर कराते हैं फिर उन
वैल्यूज को एक्सेस करके प्रिंट करवाते हैं
सेम वही प्रोसेस रहेगा जब भी हम मैलक से
मेमोरी एलोकेट करके एक पॉइंटर यूज करेंगे
इसको एक बार रन भी करके देख लेते हैं तो
हमारे पास सारे के सारे जो मैंने इंटी
जर्स थे स्टोर कराए थे अपनी मेमोरी के
अंदर वो मेरे पास रिटर्न होके आ गए हैं और
इनके साथ अगर कुछ ऑपरेशन करना है कोई
चेंजेज करना है तो उसी हिसाब से कर सकते
हैं ये जो मेमोरी है ये हमारी रन टाइम पे
एलोकेट हुई है कंपाइल टाइम पे एलोकेट नहीं
हुई है तो इस तरीके से तो हमने मेमोरी
एलोकेट कर दिया है अब नेक्स्ट बात करते
हैं अपने प्रैक्टिस क्वेश्चन की सवाल
हमारा कहता है राइट प्रोग ग्रम ये मैंने
डब्ल्यू एपी शॉर्ट फॉर्म इसकी लिख दि है
टू एलोकेट मेमोरी टू स्टोर फाइव प्राइसेस
अब प्राइसेस जनरली जो होते हैं हमारे
फ्लोट टाइप के होते हैं तो पांच फ्लोट
टाइप के प्राइसेस हमें स्टोर करने हैं
अपनी मेमोरी के अंदर तो वो कैसे करेंगे
उसको डायनेमिक करने का तरीका यह है कि हम
बना ले एक पॉइंटर जो पॉइंट कर रहा होगा
मैलक से एलोकेटेड मेमोरी पांच प्राइसेस
यानी साइज ऑफ फ्लोट और इसको टाइप कास्ट कर
देंगे टू फ्लोट पॉइंटर अब पीटीआर के अंदर
हम प्राइस अपने स्टोर करा सकते हैं यह जो
है चीजें सारी कन्वर्ट हो जाएंगी टू हमारी
फ्लोटिंग वैल्यूज इसको भी सेव करके रन
करते हैं एक बार दिस विल बी फ्लोटिंग
पॉइंटर और हम प्रिंट करवाना चाह रहे हैं
परसेंटेज f को तो ये हमारी सारी फ्लोटिंग
वैल्यूज हमारे पास प्रिंट होकर आ गई हैं
ये वैल्यूज जो है हम यूज़र से भी इनपुट ले
सकते हैं या अपने खुद से भी डिफाइन कर
सकते हैं और फिर इनके साथ डिफरेंट फंक्शंस
परफॉर्म कर सकते हैं बेसिकली जो भी हम
नॉर्मल मेमोरी के साथ कर सकते थे वो सब हम
डायनेमिक एलोकेटेड मेमोरी के साथ कर सकते
हैं अब नेक्स्ट समझते हैं अपने कैलक
फंक्शन को कैलक का मतलब होता है
कंटीन्यूअस एलोकेशन यानी इससे जो आप
मेमोरी एलोकेट करेंगे वो कंटीन्यूअस फैशन
में आएगी
जैसे अगर आपने 20 बाइट्स की मेमोरी एलोकेट
करी तो वो कंटीन्यूअस फैशन में आपके लिए
एलोकेट होगी और एक और चीज होती है कैलक से
मेमोरी को डिफाइन करने की डिक्लेयर करने
की एलोकेट करने की कि हर जो वैल्यू होती
है वो इनिशियल इज हो जाती है विद जरो मान
लीजिए आपने पांच इंटी जर के बराबर मेमोरी
जो है ली तो सारे के सारे इंटी जर्स में
बाय डिफॉल्ट जरो स्टोर हो जाएगा अगर आपने
पांच फ्लोट के बराबर ली तो उसमें बाय
डिफॉल्ट
0.0.0 ये वैल्यू स्टोर हो रही होगी तो जब
भी आपको मेमोरी डायनेमिक लेनी है और उसमें
नल वैल्यूज यानी ज़ीरो वैल्यूज असाइन करनी
है तो सिंपली क्या यूज़ करना है कैलक का
यूज़ कर लेना है इसको डिफाइन करने का
सिंटेक्स ये रहता है कि हम सिंपली लिखते
हैं कैलक और पहले जैसे हम बाइट्स भेजते थे
इस बार हम टोटल नंबर ऑफ बाइट्स नहीं
भेजेंगे इस बार हम भेजेंगे कि कितनी
लोकेशंस हमें चाहिए नंबर ऑफ लोकेशंस और पर
लोकेशन क्या साइज चाहिए तो पर लोकेशन साइज
हमें चाहिए एक इंटी जर के बराबर और पांच
इंटी जर्स की हमें लोकेशन चाहिए पहले क्या
करते थे टोटल नंबर ऑफ बाइट्स बेचते थे तो
इन दोनों को मल्टीप्लाई कर देते इस बार वो
नहीं करना इस बार अलग-अलग पैरामीटर्स
भेजने हैं और फिर यह भी रिटर्न करेगा हमें
वॉइड पॉइंटर वॉइड पॉइंटर को हमने टाइप
कास्ट कर दिया टू इंटी जर पॉइंटर और अब इस
पीटीआर की हेल्प से हम मेमोरी को एक्सेस
कर सकते उसमें वैल्यूज असाइन कर सकते हैं
उसकी वैल्यूज प्रिंट कर सकते हैं एक बार
इसका भी कोड लिख के देखते हैं पहली बार जो
हमने मेमोरी एलोकेट की थी उसमें चेंज कर
देते हैं उसको टू कैलक अब कैलक में कुछ भी
ना असाइन नहीं करेंगे मतलब ना वन लिखेंगे
थ्री लिखेंगे यह सब असाइनमेंट नहीं करेंगे
और सिंपली देखेंगे प्रिंट क्या होगा हमारे
लिए तो यहां पे पास करने हैं दो
पैरामीटर्स एक होगा हमारा टोटल नंबर ऑफ
हमें कितने स्लॉट्स चाहिए एक होगा क्या
साइज होगा ईच ब्लॉक का तो ये हर किसी
वैल्यू के लिए हमारे पास 0.0 आ गया वहीं
पर अगर हम इस मेमोरी को मैलक से करते और
फिर इसको रन करने की कोशिश करते हैं अब
यहां पे इस केस में हमारे मैलक ने भी 0.0
प्रिंट करवाया है पर ये जरूरी नहीं है
मतलब इसकी कोई गारंटी नहीं देता हमारा
प्रोग्राम कि हर बार 0.0 ही प्रिंट
करवाएगा हो सकता है उन ब्लॉक्स ऑफ मेमोरीज
में कुछ रैंडम नंबर आपके लिए प्रिंट करवा
दे आपके सिस्टम में मैलक कभी भी गारंटी
नहीं लेगा कि 0.0 ही आएगा कुछ केसेस में आ
सकता है कुछ केसेस में नहीं आएगा पर अगर
आपको रो से इनिश इज कराना है तो हमेशा
कैलक का यूज़ करना है क्योंकि वो आपके लिए
गारंटी ले सकता है अब नेक्स्ट बात करते
हैं अपने प्रैक्टिस क्वेश्चन की सवाल
हमारा कुछ ऐसा है कि राइट अ प्रोग्राम टू
एलोकेट मेमोरी ऑफ़ साइज n ये n साइज की
हमें मेमोरी एलोकेट करनी है वेयर n इज
एंटर्ड बाय द यूजर अब n साइज कहने का क्या
मतलब है कि n मल्टीप्ला बाय साइज ऑफ इंट
यहां पे हम ले रहे होंगे कि n इंटी जर्स
के साइज की हमें मेमोरी एलोकेट करनी है तो
इसको भी देख लेते हैं सबसे पहले बनाएंगे
एक इंटी जर पॉइंटर पीटीआर और एक इंटी जर n
अब यूजर से अपना इंटी जर n इनपुट ले लेंगे
एंटर
n नेक्स्ट हम क्या करेंगे अब इस n साइज की
मेमोरी हमें एलोकेट करनी है तो
pt01 n तक i + एंड हर बार हम प्रिंट करवा
रहे होंगे परसेंटेज डी पीटीआर ऑफ आ को तो
हमें चार साइज की जो है मेमोरी चाहिए तो
यह चार इंटी जर्स हमारे पास एलोकेट होकर आ
गए और हर इंटी जर के अंदर बाय डिफॉल्ट
ज़ीरो स्टोर्ड है नेक्स्ट देखते हैं हम
फ्री को फ्री भी एक सबसे इंपॉर्टेंट
फंक्शन है इनके अंदर फ्री अब ऐसा होता है
कि कैलक मैलक जो डायनेमिक मेमोरी प एलोकेट
करते हैं वह अपने आप फ्री नहीं होती जैसे
थोड़ा सा गहराई में समझते हैं इस चीज को
हमने कोई का प्रोग्राम लिखा उसके अंदर
हमने बनाया एक इंटी जर n और उसके अलावा n
को हमने बीच-बीच में यूज़ किया और फिर बाद
में मतलब ये बहुत लंबा प्रोग्राम है इसमें
हजारों लाइन है और इंटी जर n का यूज सिर्फ
फर्स्ट लाइन में और सेकंड लाइन में यूज़
हो रहा है तो c का कंपाइलर स्मार्ट है वो
क्या करेगा देख लेगा बाद में यूज़ नहीं हो
रहा तो इसके बाद वोह n को करा देगा फ्री
क्योंकि उसने देख लिया कि n जो है
स्टैटिकली एलोकेटेड है यानी शुरू में ही
एलोकेट हो गई थी इसको मेमोरी और उसको पता
है कि सी के कंपाइलर को पता है आगे क्या
होने वाला है इस मेमोरी के साथ उसने देख
लिया इस मेमोरी को कोई छेड़ ही नहीं रहा
इनकी मेमोरी को तो वो सेकंड लाइन के बाद
इस मेमोरी को फ्री करा देता है ताकि फालतू
की जो रिसोर्सेस हैं ना वो प्रोग्राम
होल्ड अप करके ना रखे पर डायनेमिक जो आप
मेमोरी एलोकेट करते हैं ना उसके बारे में
सी के कंपाइलर को कुछ नहीं पता होता तो उस
केस में क्या होता है अगर आपने मैलक या
कैलक से कोई मेमोरी एलोकेट की तो सी के
कंपाइलर को नहीं पता कि आगे जाके कोड में
उस मेमोरी को कोई एक्सेस भी कर रहा है
नहीं कर कर रहा कोई उसमें चेंजेज होने
वाले हैं या नहीं होने वाले इसीलिए वो उस
मेमोरी को वैसे का वैसा रखता है तो यहां
रिस्पांसिबिलिटी आ जाती है प्रोग्रामर पर
कि हमारा काम हो जाता है फिर उस मेमोरी को
फ्री करना उस मेमोरी को अगर हम यूज़ नहीं
कर रहे तो हम बीच प्रोग्राम में उसको फ्री
कर सकते हैं कि अब इस वेरिएबल को यूज नहीं
करना इस मेमोरी को आप फ्री कर दो और फ्री
कराने के लिए हम यूज़ करते हैं फंक्शन
फ्री सो वी यूज इट टू फ्री मेमोरी दैट इज
एलोकेटेड यूजिंग मैलक एंड कैलक और बहुत
सिंपल फॉर्मेट है इसको लिखने का बहुत
सिंपल सिंटेक्स है सिर्फ लिखेंगे फ्री और
अंदर डाल देंगे पॉइंटर ये वो पॉइंटर है जो
उस मेमोरी को पॉइंट कर रहा है जिसको हमें
फ्री कराना है तो इसके लिए भी एक
प्रोग्राम लिख लेते हैं छोटा सा हमने अभी
कैलक से जो है n इंटी जर्स को एलोकेट किया
था और एंड ऑफ द प्रोग्राम में हम इस
मेमोरी को कर देंगे फ्री तो पीटीआर जिस
मेमोरी को पॉइंट कर रहा था उसको फ्री कर
देंगे और दोबारा से पीटीआर को क्या करेंगे
पॉइंट करा देंगे किसी और मेमोरी की तरफ
जैसे यही स्टेटमेंट अगर हम दोबारा लिखना
चाहे तो इंटी जर n की जगह अब सिर्फ दो
इंटी जर्स की मेमोरी होगी और उसको भी हम
करा देंगे
प्रिंट इस कोड के अंदर हमने क्या किया
पहले तो n साइज की मेमोरी ले ली उसपे
पॉइंटर पॉइंट कर रहा है वो साइज हमने जो
भी वैल्यूज थी प्रिंट करवा दी फिर फ्री कर
दिया उस मेमोरी को अब उसी सेम पॉइंटर को
हम एक्सेस करा रहे हैं दो साइज की मेमोरी
पे और फिर अब हम उसकी वैल्यूज को प्रिंट
करवा रहे हैं तो पहले हम चार इंटी जर्स की
मेमोरी लेना चाहते हैं तो ये चार इंटी जर
हमारे लिए प्रिंट हो गए फिर हमने फ्री कर
दिया मेमोरी को अब हमारे पास टोटल दो इंटी
जर्स की मेमोरी है तो जीरो जीरो प्रिंट हो
जाएगा तो आई होप होप कि हम यहां पे फायदा
देख पा रहे हैं कि अगर इंटी जर पॉइंटर
होते हैं तो उसमें हम चेंजेज जो है
यूजुअली नहीं कर पाते पर डायनेमिक एलोकेट
मेमोरी के साथ हम कोड के बीच में उसको
फ्री कर पाते हैं एलोकेट कर पाते हैं
नेक्स्ट एक सवाल करते हैं सवाल ये है फ्री
द मेमोरी एलोकेटेड विद कैलक तो इस मेमोरी
को हमने फ्री कर दिया ऑलरेडी हम ये सवाल
कर चुके हैं नेक्स्ट बात करते हैं रिलक
रिलक का मतलब होता है रिएलोकेशन ऑफ मेमोरी
यानी किसी मेमोरी को दोबारा एलोकेट करना
जैसे अभी हमने एग्जांपल देखा था कि आपकी
क्लास के अंदर 30 बच्चे थे 30 बच्चों का
रोल नंबर स्टोर कराने के लिए आपने मेमोरी
रिजर्व कर ली व्हिच इज इक्वल टू 30 मल्ला
बाय साइज ऑफ इंट अब आपकी क्लास में तीन और
नए बच्चे आते हैं तीन और नए बच्चे आते हैं
तो आपको तीन और नए बच्चों का साइज जो है
वो एक्स्ट्रा ऐड करवाना पड़ेगा उस मेमोरी
के अंदर तो सेम चंक ऑफ मेमोरी में आप
थोड़ी सी मेमोरी और जोड़ सकते हैं जिससे
क्या होगा सेम पॉइंटर को यूज करते हुए आप
एक्स्ट्रा इंफॉर्मेशन भी ऐड करते जाएंगे
अपने कोड के अंदर तो रिएलोकेट यानी
इंक्रीज भी कर सकते हैं मेमोरी को डिक्रीज
भी कर सकते हैं मेमोरी यूजिंग द सेम
पॉइंटर एंड साइज़ सेम पॉइंटर को यूज़ करके
मेमोरी को बढ़ा भी सकते हैं कम भी कर सकते
हैं कम क्यों करेंगे किस केस में कम
करेंगे जब हमने शुरुआत में बहुत सारी
मेमोरी ले ली और प्रोग्राम के बीच में
हमें पता चला कि इतनी मेमोरी तो चाहिए ही
नहीं जैसे मान लीजिए आप कोई अ कॉलेज चला
रहे हैं जिसका आपने सिस्टम बनाया ऑनलाइन
उसमें आपको लग रहा है कि आपने एक डिजिटल
मार्केटिंग का कोर्स निकाला और उसमें 1000
बच्चे एनरोल करने वाले हैं तो आपने हजार
बच्चों के इंफॉर्मेशन के हिसाब से मेमोरी
एलोकेट कर दी पर इवेंचर पास जो बच्चे आए
वो 70 बच्चे आए तो काफी सारी मेमोरी है जो
वेस्ट हो जाएगी तो उसको कोड के बीच में
बाकी सारी मेमोरी को हम क्या करेंगे
रिएलोकेट कर देंगे 70 की तो रखे तो ये
डिफरेंस हो जाता है फ्री में पूरी साफ हो
जाएगी रिएलोकेट में फालतू मेमरी हटा देंगे
जितनी हमें हटानी है और जितनी हमें चाहिए
बस उतनी अपने पास रख लेंगे तो इसको लिखने
का सिंटेक्स ये रहता है पहले हम लिखते हैं
रिलक फिर डालते हैं वो पॉइंटर जिसकी
मेमोरी को रिएलोकेट करना है और उसके बाद
नया साइज कि मेमोरी का अब नया साइज क्या
होने वाला है और उससे वापस से असाइन कर
देंगे अपने पॉइंटर को तो इसमें सवाल करते
हैं एलोकेट मेमोरी फॉर फाइव नंबर्स देन
डायनेमिक इंक्रीज इट टू स्टोर एट नंबर्स
इसके लिए कोड कैसे लिखेंगे सबसे पहले बना
लेंगे इंटी जर पॉइंटर पीटीआर अब पीटीआर
क्या कर रहा है शुरुआत में पांच नंबर्स
जितनी मेमोरी को स्टोर कर लेगा इनफैक्ट
कलॉग का ही यूज करते हैं क्योंकि इनिश
इजेशन मुझे अच्छा लगता है तो कैलक के अंदर
हमें स्टोर कराना है पांच नंबर के बराबर
मेमोरी तो दूसरा
साइज ऑफ विंट अब पीटीआर ऑफ 0 को हमने लिख
दिया वन पीटीआर ऑफ वन को हमने लिख दिया टू
एंड पीटीआर ऑफ 3 को हमने लिख दिया थ अब
कोड के बीच में अगर दो और साइज बढ़ाना है
तो क्या करेंगे सिंपली पीटीआर इ इक्व टू
रि एलॉक इसके अंदर पास करेंगे सबसे पहले
पीटीआर और उसके बाद अपना नया साइज नया
साइज हमारे पास होने वाला है 8 तो जो
मेमोरी पहले पांच नंबर्स को होल्ड कर सकती
थी अब वो आठ नंबर्स को होल्ड कर सकती है
इनफैक्ट इसके लिए हम कोड लिख लेते हैं कि
यह जो नंबर्स है ना यह सारे हम यूजर से
एंटर कराएंगे प्रिंट एफ एंटर नंबर्स कितने
नंबर्स एंटर कराने शुरुआत में एंटर कराने
पांच नंबर तो लूप लगा लेते हैं आई से पाच
तक का जीरो से पा तक का और हर किसी में
स्कैन कर लेते हैं अपने नंबर्स को
परसेंटेज डी एंड पीटीआर ऑफ आई अब जैसे ही
ये मेमोरी आठ की हो गई तो उसके बाद दोबारा
से स्कैन करना पड़ेगा हमें नंबर्स के लिए
और अब हमें आठ नंबर्स जो है एंटर करने
पड़ेंगे और एक बार एंटर कर लिया तो अब इन
नंबर्स को करा देंगे प्रिंट तो उसके लिए
भी एक लूप लिख लेते हैं सेम लूप को दोबारा
यूज कर लेंगे प्रिंट एफ से नंबर परसेंटेज
डी इज पहले आई तो इसको करते हैं सेव एंड
रन हमें पांच नंबर शुरुआत में एंटर करने
है तो हम एंटर करेंगे 5 4 3 2 एंड वन अब
आठ नंबर्स एंटर करने हैं तो 8 7 6 5 4 3 2
एंड 1 तो ये नंबर्स हमारे लिए प्रिंट होकर
आ गए नंबर जीरो इज एट नंबर वन इज सेवन
नंबर टू इज सिक्स नंबर थ्री इज फाइव तो ये
थोड़ी फॉर्मेटिंग हल्की सी खराब है इसको
भी हल्का सा ठीक कर लेते हैं बैक स्लैश
एंड शुरुआत में एंटर किए हमने पांच नंबर्स
और अब एंटर करने आठ
नंबर्स तो ये सारे के सारे आठ नंबर्स आठ
मेमोरी लोकेशंस में हमारे पास स्टोर होक
आएंगे नेक्स्ट बात करते हैं इस सवाल की
क्रिएट एन एरे ऑफ साइज फाइव यूजिंग कैलक
एंड एंटर इट्स वैल्यूज फ्रॉम द यूज़र यानी
हमें एक कैलक से पांच इंटी जर्स के बराबर
साइज़ जो है वह एलोकेट करना है और फिर
यूज़र से उन पांच इंटी जर्स की वैल्यू को
इनपुट कराना है तो ऑलरेडी काफ़ी सारा जो
काम है वह हम कर चुके हैं पहले एक इंटी जर
पॉइंटर बनाया फिर उसमें पांच साइज़ इंटी
जर की मेमोरी जो है एलोकेट कर दी पांच
इंटी जर्स को इनपुट करा लिया एंड इनफैक्ट
अब उनको आउटपुट भी करा देते हैं तो यहां
लिख देते हैं फाइव तो हमारे नंबर्स हमारे
पास आ जाएंगे इसको कर लेते हैं
रन एंटर करेंगे पांच नंबर्स 1 3 5 7 9 तो
नंबर्स हमारे पास प्रिंट होकर आ गए
नेक्स्ट सवाल है एलोकेट मेमोरी टू स्टोर
फर्स्ट फाइव ऑड नंबर्स देन री एलोकेटेड टू
स्टोर फर्स्ट सिक्स इवन नंबर्स यानी पहले
पांच ऑड नंबर्स को स्टोर कराने के लिए
मेमोरी लेनी है जिसमें पांच हमारे पास 1 3
5 7 एंड नाइन स्टोर्ड होंगे उसके बाद इस
मेमोरी को रिएलोकेट कर देना है यानी
दोबारा इसको यूज कर देना है सबसे पहले
इसको छह साइज का बनाना है क्योंकि इसमें
छह नंबर्स हम स्टोर कराएंगे उसके बाद
इसमें शुरुआत
के छह इवन नंबर्स की वैल्यूज को स्टोर
कराना है तो यह हल्का सा हमारा
इंटरेस्टिंग कोड रहेगा सबसे पहले एक इंटी
जर पॉइंटर बनाते हैं पीटीआर पीटीआर के
अंदर पांच वेरिएबल पांच इंटी जर्स के
बराबर मेमोरी कॉम स्टोर करा रहे होंगे तो
लिखेंगे इंट स्टार और फिर इसको इनिश इज कर
लेते हैं कलॉग के साथ सबसे पहले पास
करेंगे पांच उसके बाद साइज ऑफ इंट पीटीआर
ऑफ जीरो में हम स्टोर करा देंगे वन को
पीटीआर ऑफव में हम स्टोर करा देंगे थ्री
एंड सिमिलरली ट थ एंड फर और यहां पे स्टोर
करा रहे होंगे अपने ऑड नंबर्स को तो यहां
सेन आ गया और यहां आ गया फ अब इसको हम
प्रिंट भी कर सकते हैं फॉर इंट आ = 0 i <
5i +
प्रिंट एफ स्टेटमेंट परसेंटेज डी ब ए
पीटीआर ऑफ 0 एंड इन फैक्ट पीटीआर ऑफ आई तो
ये हमने पांच शुरुआत वाले ऑड नंबर स्टोर
किए और फिर उनको प्रिंट करवा दिया अब हम
क्या करेंगे इस मेमोरी को रिएलोकेट करेंगे
मेमोरी को रिएलोकेट करने के लिए लिखेंगे
पीटीआर इ इक्वल टू रिलक रिलक के अंदर
डालेंगे अपना पुराना पॉइंटर और उसके
साथ-साथ नया साइज नया साइज होने वाला है
हमारे पास छ और अब हम इसी सेम लोकेशन में
प्रिंट करवाएंगे इवन नंबर्स
एंड पीटीआर ऑफ 5 12 और सेम वैल्यूज को करा
देंगे हम प्रिंट तो इस कोड को एक बार सेव
करके रन करते हैं तो सबसे पहले हमारे पास
इवन नंबर्स प्रिंट हुए हैं स्क्रीन पे फिर
सारे के सारे ऑड नंबर्स प्रिंट हुए हैं
स्पेशल चीज क्या देखने को मिली कि जो साइज
मतलब पीटीआर ऑफ फाइव जो हम पहले एक्सेस
नहीं कर पा रहे थे उसको हम सेम कोड में
एक्सेस कर पा रहे हैं ये जो चीज है साइज
इंक्रीज करने वाली डिक्रीज करने वाली ये
हम एरस के साथ नहीं देख सकते ये सिर्फ देख
सकते हैं डायनेमिक डली एलोकेटेड मेमोरी के
साथ तो जब ऐसी सिचुएशन अराइज करे कि
डायनेमिक हमें मेमोरी एलोकेट करनी है तो
उन सिचुएशंस में हमें यूज करना पड़ेगा रि
एलॉक का और कौन सी मेमोरी को डायनेमिक
एलोकेट कर सकते हैं वो मेमोरी को रिएलोकेट
कर सकते हैं जो मैलक या कैलक से डिफाइन
हुई थी और एट दी एंड इस मेमोरी को हम कर
सकते हैं फ्री बाय यूजिंग फ्री पीटीआर अब
इस कोर्स को बनाने में बहुत सारे लोगों की
मेहनत लगी है काफी दिन रात जो है इसकी
रिकॉर्डिंग हुई है तो आई होप कि सारे के
सारे जो चैप्टर्स हैं उनका जो थ्योरी
पार्ट है उनके जो नोट्स हैं या फिर जितना
भी वीडियो के अंदर एक्स्ट्रा चीजें बताई
गई है रिलेटेड टू द एडिटर रिलेटेड टू द
टॉपिक वो आप लोगों ने ध्यान से सुनी होंगी
उसके नोट्स बनाए होंगे एंड आई होप कि अगर
आपके कोई इंटरव्यूज होने वाले हैं आप कोई
कॉलेज के टेस्ट होने वाले हैं तो उसमें ये
सारी चीजें आपको हेल्प कर रही हूं अब इस
कोर्स को खत्म करने के बाद मैंने पूरी
कोशिश करी है कि इसको इस तरीके से बनाया
गया कि सारे बेसिक कांसेप्ट आपके लिए
क्लियर हो गए हैं एंड इनफैक्ट आपने आप एक
बार सी सीख लिए ना तो आप किसी भी लैंग्वेज
को जाकर सीख सकते हैं सिंटेक्स आपका एक
हफ्ते के अंदर कवर हो जाए गा उस लैंग्वेज
का क्योंकि सारे बेसिक टॉपिक्स जितने हमने
सीखे हैं ना बाकी लैंग्वेजेस में ऐसे ही
बेसिक टॉपिक होते हैं बस क्या हो जाता है
उनका सिंटेक्स चेंज हो जाता है तो नई
लैंग्वेजेस के जो कॉन्सेप्ट्स होंगे वो
सीखने में अब आपको कोई परेशानी नहीं आने
वाली अब सी एक बार हमने सीख लिया है तो
नेक्स्ट स्टेप यूजुअली होता है कि लोग एक
नई प्रोग्रामिंग लैंग्वेज सीखते हैं इसके
बाद क्योंकि सी के अंदर एक हल्की सी
मिसिंग चीज ये है कि इसके अंदर ऑब्जेक्ट
ओरिएंटेशन के कॉन्सेप्ट्स नहीं होते तो
क्लासेस एंड ऑब्जेक्ट्स यहां पे हम नहीं
बना सकते वो सिमिलर टू स्ट्रक्चर्स होती
हैं पर उनको हम नहीं बना सकते तो इसीलिए
हम c+ प या जावा जैसी लैंग्वेजेस में
शिफ्ट करते हैं जिसमें हम जाकर क्लासेस या
ऑब्जेक्ट्स को बना सकते हैं अब c+ प का
ऑलरेडी एक पूरा प्लेसमेंट के हिसाब से
कोर्स बनाया हुआ है और जावा का भी पूरा एक
प्लेसमेंट के हिसाब से कोर्स बनाया हुआ है
जिसमें काफी एडवांस टॉपिक्स ततक कवर कर
रखे हैं यानी बिल्कुल बेसिक से लेकर
इंस्टॉलेशन ऑफ एडिटर से लेकर दोबारा c+
प्स के अंदर कैसे वेरिएबल होते हैं जावा
के अंदर कैसे वेरिएबल होसे हैं उससे लेकर
बिल्कुल एंड तक के डाटा स्ट्रक्चर्स एंड
एल्गोरिथम्स तक के टॉपिक कवर कर रखे हैं
उन प्लेलिस्ट को जाके हम एक्सप्लोर कर
सकते हैं जिस भी लैंग्वेज में हमें आगे
बढ़ना है उसमें हम देख सकते हैं अब
यूजुअली एक मिथ होता है कि सी के बाद
मोस्टली c+ प् ही सीखनी चाहिए आप सी के
बाद जावा भी सीख लें c+ प सीख लें
जावास्क्रिप्ट सीख लें कोई फर्क नहीं
पड़ेगा प्रोग्रामिंग कांसेप्ट आपके लिए
सेम होंगे और अगर आपको ये वीडियो अच्छा
लगा हो अगर इसका कोई टॉपिक ऐसा है जो आपके
साथ आपको लगता है कि आपको याद रहेगा काफी
टाइम तक और कोई बहुत ही इंटरेस्टिंग चीज
सीखने को मिली है तो उसके बारे में आप
नीचे मुझे कमेंट करके बता सकते हैं जितना
आप कमेंट करेंगे उतना मुझे पता चलेगा कि
कितना वैल्युएबल यह कोर्स रहा और किन-किन
स्टूडेंट्स के लिए वैल्युएबल रहा ताकि मैं
सिमिलर वीडियोस सिमिलर जो है पढ़ाई वाली
टॉपिक्स या डिफरेंट डिफरेंट लैंग्वेजेस
वाली चीजें जो है डाल सकूं आज के लिए इतना
ही मिलते हैं नेक्स्ट वीडियो में टिल देन
कीप लर्निंग एंड कीप प्रैक्टिसिंग
Full transcript without timestamps
[संगीत] हाय एवरीवन मैं हूं आपकी श्रद्धा दीदी एंड वेलकम टू अपना कॉलेज आज की सी ट्यूटोरियल में हमने बेसिक से लेकर एडवांस तक पूरी की पूरी सी को खत्म कर रखा है तो इस वीडियो को देखने के बाद आप कोडिंग प्रोग्रामिंग सीख जाएंगे और अगर आपका कॉलेज में एग्जाम है जिसके अंदर सी पूछी जाती है तो उसकी आपकी पूरी तैयारी हो जाएगी इस ट्यूटोरियल को हमने 11 चैप्टर्स के अंदर डिवाइड किया है जिनके नीचे आपको टाइम स्टंप्स मिल रहे होंगे तो आप इंडिविजुअली भी अगर आपको कोई टॉपिक पढ़ना है तो वो भी जाकर आप पढ़ सकते हैं और चैप्टर्स के साथ हमने 100 क्वेश्चंस इस वीडियो के अंदर इंक्लूड किए हैं जिसमें से 70 क्वेश्चन मैंने पर्सनली आपको अपने सामने सॉल्व करवाए हैं और 30 क्वेश्चंस को मैंने आपकी प्रैक्टिस के लिए होमवर्क में दिया है साथ के साथ वीडियो के साथ कोड्स जितने भी हैं या नोट्स जितने भी हैं उनका लिंक भी आपको नीचे मिल रहा होगा ताकि एक बार ट्यूटोरियल खत्म करने के बाद आप कभी भी आकर फ्री में रिवीजन कर सके इसके साथ अगर कोई भी ऐसी चीज है जो आपको इंपॉर्टेंट लगती है या आप मुझे बताना चाहते हैं तो उसको आप नीचे मुझे कमेंट करके बता सकते हैं और बीच में अगर आपको कोई भी लेक्चर बुकमार्क करना है कोई भी टॉपिक बुकमार्क करना है उसका आप नीचे सिंपली टाइम लिख दीजिए और उसको कमेंट कर दीजिए तो अगली बार हम आएंगे तो वो कमेंट हमें ऊपर दिख रहा होगा तो शुरुआत करते हैं अपने सबसे नए और सबसे बड़े सी ट्यूटोरियल की तो सी में कोड करने से पहले हमें दो चीजें अपने सिस्ट सिस्टम के अंदर इंस्टॉल करनी पड़ेंगी जिनमें से सबसे पहला है हमारा वीएस कोड यानी कोड एडिटर अब कोड एडिटर एक नोटबुक की तरह होता है जैसे नोटबुक के अंदर हम इंग्लिश में हिंदी में चीजें लिख रहे होते हैं वैसे ही अपने कोड एडिटर के ऊपर हम कोई कोड लिखते हैं और हम जिस कोड एडिटर का इस्तेमाल करेंगे उसका नाम है वीएस कोड अब इसके अलावा आपने देखा होगा कि कॉलेजेस के अंदर स्कूल्स के अंदर कुछ लोग कोड ब्लॉक्स पर काम कर रहे होते हैं कुछ लोग किसी और सॉफ्टवेयर पर काम कर रहे होते हैं पर यहां हम वीएस कोड इसलिए यूज़ कर रहे हैं क्योंकि ये बहुत अच्छा सॉफ्टवेयर है और इसमें आप सिर्फ सी की प्रोग्रामिंग नहीं उसके बाद अगर आपको c+ प जावा या फिर किसी और लैंग्वेज में प्रोग्रामिंग करनी है तो उसके लिए भी हम आपको एटमॉस्फेयर ये पूरा ऐसे तैयार करके दे देंगे कि आपको कुछ और इंस्टॉल ना करना पड़े तो शुरुआत से ही जब हम एक अच्छे कोड एडिटर पर काम करते हैं ना तो उसके बहुत सारे फायदे होते हैं दूसरी चीज जो हमें इंस्टॉल करनी पड़ेगी वो है हमारा कंपाइलर जिसके लिए हम सर्च करेंगे फॉर जीसीसी अब कंपाइलर एक ऐसा सिस्टम एक ऐसा सॉफ्टवेयर होता है जिसके अंदर रूल्स लिखे होते हैं हमारी प्रोग्रामिंग लैंग के तो सी का कंपाइलर होगा जिसके अंदर सी की लैंग्वेज के जो भी रूल्स है ना वो लिखे होंगे तो आप जो भी कोड लिखेंगे वह आपके कोड के लिखने के बाद चेक करेगा कि क्या आपने कोड सही लिखा है और उस कोड को रन करने का काम भी कंपाइलर करता है तो कंपाइलर्स के बारे में हम बाद में डिटेल में पढ़ रहे होंगे अभी सबसे पहले इंस्टॉल करते हैं अपने कोड एडिटर को यानी वीएस कोड को तो वीएस कोड को इंस्टॉल करने के लिए हमें अपनी स्क्रीन पर सबसे पहले लोड वीएस कोड फॉर विंड अब यहां पर सबसे पहला हमारे पास ऑप्शन आएगा कि हम विज के लिए डाउनलोड करना चाहते हैं नेक्स्ट पर अब एक चेक बॉक्स की जो लिस्ट है वह हमारे पास आ रही होगी और हमें क्या करना है सारे के सारे चेक बॉक्सेस को टिक कर देना है ऊपर वाला कहता है कि डेस्कटॉप पर एक आइकन हमारे लिए क्रिएट हो जाए तो और नीचे वाले पथ्स वगैरह की काफी सारी इंफॉर्मेशन हमें दे रहे हैं तो सारे चेक बॉक्सेस को टिक कर देंगे एंड उसके बाद कर देंगे हम इंस्टॉल तो फाइनली वीएस कोड हमारे लिए इंस्टॉल हो जाएगा और क्लिक कर देंगे फिनिश पर अब इसके बाद हम सिस्टम में जाकर सर्च कर सकते हैं फॉर वीएस कोड वीएस कोड सर्च करने के बाद वो खुल जाएगा और ऐसा कुछ हमारे पास स्क्रीन पर डिस्प्ले होकर आ जाएगा जिसके अंदर सबसे पहले तो हम एक थीम चूज कर सकते हैं हमारी मर्जी है कि हम एक लाइट थीम चूज करें या डार्क थीम चूज करें तो वी विल गो विद डार्क उसके बाद आपको नेक्स्ट सेक्शन नेक्स्ट सेक्शन करते जाना है अगर हम चाहे तो गट भी इंस्टॉल कर सकते हैं पर गट के लिए अभी हम काम नहीं करेंगे अभी इंस्टॉल नहीं करेंगे और मार्क कर देंगे एज डन अब वीएस कोड के अंदर कोई हमें नई फाइल खोलनी है जिसके अंदर हम चीजें लिख सक तो न्यू फाइल पर क्लिक कर सकते हैं और ऐसे फाइल्स के अंदर हम डिफरेंट डिफरेंट कोड्स को प्रोग्राम्स को लिख रहे होंगे अब यहां हमने वीएस कोड डाउनलोड किया है लेकिन अगर आप किसी और कोड एडिटर पर भी काम करना चाहते हैं आपके पास ऑलरेडी डाउनलोडेड है तो आप उसका भी इस्तेमाल कर सकते हैं सेम कोड हम कर रहे होंगे दूसरी चीज जो हम डाउनलोड करेंगे वो है सी का कंपाइलर अब सी के कंपाइलर को डाउनलोड करने के लिए सबसे पहले हमें लिखना पड़ेगा chromecast.com दिख रहा होगा उसपे हमें क्लिक करना है तो डाउनलोड हमारे लिए स्टार्ट हो जाएगा सबसे पहले जो विंडो अपीयर करेगी पॉपअप आएगा उसके ऊपर इंस्टॉलेशन डायरेक्ट्रीएंट्री जें हैं वो डाउनलोड होती रहेंगी फिर एक विंडो खुलेगी जिसमें वो हमसे पूछ रहा है कि हमें और कौन से पैकेजेस डाउनलोड करने हैं तो उसमें जो चेक बॉक्स हमारे पास आएगा वो डिफरेंट डिफरेंट लैंग्वेजेस के लिए है अभी के लिए क्या करेंगे बेसिक सब के लिए डाउनलोड कर लेते हैं तो इंस्टॉल में सब पे हमें क्लिक कर देना है मतलब चेक बॉक्स सब के लिए टिक करना है फिर लेफ्ट में जाके एक इंस्टॉलेशन का ऑप्शन आएगा इंस्टॉलेशन के ऑप्शन में हमें क्लिक करना है और फिर अप्लाई चेंजेज पर क्लिक करके सबके लिए हमें डाउनलोड कर लेने हैं अपने पैकेजेस तो ये पैकेजेस हो सकता है आपकी इंटरनेट स्पीड के हिसाब से कुछ टाइम बाद डाउनलोड हो तो उसके लिए आपको थोड़ा वेट करना पड़ सकता है अब जैसे ही ये पैकेजेस डाउनलोड हो जाएंगे ना उसके बाद हमारे पास आएगा कि ऑल चेंजेज आर अप्लाइड सक्सेसफुली तो फिर हम उस चीज को को कर देंगे क्लोज तो अभी हमने कोड एडिटर को डाउनलोड कर लिया यानी वीएस कोड को हमने सीके कंपाइलर को डाउनलोड कर लिया इंस्टॉल कर लिया है पर एक छोटी सी चीज बची है वो है हमारे एनवायरमेंट वेरिएबल अब एनवायरमेंट वेरिएबल क्या होता है या इस स्टेप में हम एगजैक्टली कर क्या रहे हैं उसके हम डिटेल में नहीं जाएंगे बेसिक चीज यह समझनी है कि आपको अगर सी का कोड अपने सिस्टम के अंदर चलाना है तो उससे पहले आपको यह सारे स्टेप्स जो हैं वोह फॉलो करने पड़ेंगे इसके लिए सबसे पहले हम क्या करेंगे हम अपने कंप्यूटर के सिस्टम में फाइल्स में जाएंगे और उसमें दिस पीसी पर जा रहे होंगे दिस पीसी के अंदर हम सर्च करेंगे फॉर मजी डब् एम आई एन जीड तो सर्च करने के बाद मजीड के फोल्डर में जाना है उसके अंदर हमें जाना है बिन के फोल्डर में तो बिन के फोल्डर में जब ऊपर पूरा का पूरा पाथ एक डिस्प्ले हो रहा होगा उस पर जब हम क्लिक करेंगे ना तो हमारा एक पाथ हाईलाइट होगा व्हिच इज सी ड्राइव स् मजीड बिन इस पूरे के पूरे पाथ को हमें कॉपी करना है क्योंकि इसको हम अपने सिस्टम के एनवायरमेंट वेरिएबल में ऐड करने वाले तो राइट क्लिक करके इसको कॉपी कर लेंगे हम अब हमें क्या करना है अब हमें अपने कंप्यूटर के अंदर सर्च करना है कंट्रोल पैनल के लिए कंट्रोल पैनल के अंदर जाकर जाएंगे हम सिस्टम्स में सिस्टम्स के अंदर हम जा रहे होंगे एडवांस सिस्टम सेटिंग्स में अब जैसे ही एडवांस सिस्टम सेटिंग्स पर जाएंगे तो एक पॉपअप दिखेगा हमें स्क्रीन पर जिसके अंदर हमें इस एनवायरमेंट वेरिएबल वाले ऑप्शन पर जाना है तो एक और एनवायरमेंट वेरिएबल का ऑप्शन हमारे पास आ रहा होगा इस ऑप्शन के अंदर इन एनवायरमेंट वेरिएबल में नीचे सिस्टम वेरिएबल के अंदर हमें पाथ को ढूंढना है जैसे ही हम पाथ को ढूंढ लेंगे ना पाथ पे हमें जाना है तो हमारा ब्लू कर्सर जैसे ही पाथ पे आ जाएगा फिर हम कर देंगे उसको एडिट तो हम पाथ को एडिट करने वाले हैं इसमें हम एक नया पाथ एडिट करेंगे और नए पाथ के अंदर हम कॉपी कर देंगे अपनी वो लोकेशन जिसके अंदर हमारे मजी डब् का बिन फोल्डर है उस लोकेशन को हमने कॉपी कर दिया उस लोकेशन को हमने पेस्ट कर दिया है फिर एंटर प्रेस करेंगे फिर प्रेस करेंगे ओके दोबारा से केके एंड फाइनली लास्ट का ओके तो इस तरीके से हमारे वेरिएबल के अंदर पाथ वेरिएबल के अंदर हमने अपने मंजी डब् के बिन के पाथ को ऐड करा दिया है अब वीएस कोड को खोलेंगे और अब हम क्या करने वाले हैं एक सैंपल कोड करके मैं बस आपको रन करके दिखाने वाली हूं जिसके अंदर अभी हमें ये नहीं समझना कि सी के अंदर प्रोग्रामिंग किस तरीके से होती है या चीजें रन कैसे करते हैं या जो भी हम लिख रहे हैं उसका मतलब क्या है बस सिंपली देखना है कि जैसे ही हमने अपना एनवायरमेंट सेट किया है हमारा सी का कोई भी कोड इस पर रन करता है तो फाइल के अंदर खोलकर मैं एक सैंपल कोड लिखने वाली हूं तो वीएस कोड के अंदर हम एक नई फाइल खोलने वाले हैं उस नई फाइल को सबसे पहले सेव कर लेते हैं h world.con करने से पहले वीएस कोड में कुछ एक्सटेंशंस होती हैं जिनको हमें इंस्टॉल करना पड़ता है ताकि वीएस कोड समझ पाए कि आप कौन सा कोड कोड रन करने वाले हैं व उसके लिए कुछ और एडिशनल आपको फंक्शनैलिटीज लाकर दे दे तो नीचे आपको एक्सटेंशंस का ऑप्शन मिल रहा होगा अब सी को रन करने के लिए हमें c c+ प का जो एक्सटेंशन पैक है उसको अपने वीएस कोड के अंदर इंस्टॉल करना पड़ेगा इसको इंस्टॉल एक बार हमने कर लिया तो ऊपर टर्मिनल में जाकर हम ओपन करेंगे न्यू टर्मिनल अब मैं कुछ कमांड्स लिखने वाली हूं जो बहुत ही ज्यादा कॉम्प्लेक्टेड लिख लिखकर बहुत अच्छे एडवांस लेवल के सी के प्रोग्राम्स लिखने वाले हैं तो बिल्कुल अभी चिंता नहीं करनी कि ये कॉम्प्लेक्शन करने वाली हैं तो मैंने कुछ कोड लिखी कमांड्स लिखी नीचे और जैसे ही मैंने कमांड लिखी मेरे लिए हेलो वर्ल्ड मेरी स्क्रीन पर प्रिंट होकर आ जाएगा एंड आप नोटिस करेंगे ऊपर कोड के अंदर भी मैंने प्रिंट एफ एक चीज लिखी है जिसके अंदर मैंने हेलो वर्ल्ड लिखा है तो मैंने ऊपर कोड में भी लिखा है नीचे मेरी स्क्रीन में भी आ गया है तो कुछ इस तरीके से हमारे सी का कोड काम कर रहा होता है के लिए अलग से भी बहुत सारे वीडियोस बनाए हुए हैं तो आपको अगर कोई भी डाउट आता है इंस्टॉलेशन में आप उस पर्टिकुलर वीडियो को जाकर देख सकते हैं एंड उसमें काफी सारे जो डाउट्स है वो आपके क्लियर हो रहे होंगे अब अपने सी कोड को लिखने के लिए हम सबसे पहले एक फाइल क्रिएट करेंगे फाइल को क्रिएट करने के लिए ऊपर जाना है फाइल में और वहां पर क्लिक करना है ओपन पर अब ओपन के अंदर हमारे पास ऑप्शन आएंगे कि कोई हमारे पास पुराना फोल्डर हो उसको हम पहले से खोल दें लेकिन हम एक नया फोल्डर बनाने वाले हैं जिसका हम नाम देंगे सी ट्यूटोरियल्स इस सी फोल्डर को हम ओपन करने वाले हैं अब हमारे पास एक ओपन हो गया है फोल्डर इसके अंदर पर कोई फाइल नहीं है तो सबसे पहले हम एक सी की फाइल लगाएंगे जैसे हम क्या करते थे प्रैक्टिकल फाइल बनाया करते थे ना स्कूल के अंदर जिसमें सारे की सारी हम चीजें लिखा करते थे वैसे ही यहां पर हम एक फाइल बनाएंगे जिसके अंदर सारा का सारा अपना कोड हम लिखने वाले हैं फाइल बनाने के लिए हम क्लिक करेंगे इस आइकन पर और अपनी फाइल का हम नाम देंगे हेलोड सी तो ये हमारी फाइल आ गई है यहां से हम इसे कर देते हैं बंद अब यहां पर फाइल का नाम हमने h . स दिया हम अपनी फाइल को कोई भी नाम दे सकते हैं हो सकता है हम उसे लिखना चाहे फर्स्ट प्रोग्राम तो हम लिख सकते हैं फर्स्ट प्रोग्राम स ये डॉ स जो है इसको एक्सटेंशन कहते हैं जैसे अगर हम t एकटी फाइल नोटपैड पे कभी फाइल बना देते विज के सिस्टम में तो उसको हम लिखते थे abc.xyz लिखा होता है पे डॉट पवा लिखा होता है तो जो एक्सटेंशन होता है वो बता देता है कि फाइल के अंदर क्या है यहां पे डॉट सी जो है वो सी का एक्सटेंशन है और ये बता रहा है हमें कि हमने एक सी की फाइल क्रिएट करी है अब इस फाइल के अंदर हम क्या करेंगे एक सैंपल कोड लिखेंगे सी का इस कोड से हम समझेंगे कि सी को लिखना कितना आसान है और बिल्कुल जितना लोग बता देते हैं ना प्रोग्रामिंग कोडिंग बहुत तोप चीज है उतनी कोई बड़ी चीज नहीं है बहुत ही आसान है इसके अंदर हम कुछ-कुछ चीजें लिखेंगे जो अभी हमें समझ नहीं आएंगी लेकिन चैप्टर वन हमारा जैसे ही कंप्लीट ट होगा सारी चीजें क्लियर हो जाएंगी तो यहां पर हम कुछ-कुछ चीजें लिखने वाले हैं जो शायद एलियन लैंग्वेज लग सकती है एसटीडी आड ए इंट मेन प्रिंट एफ हेलो वर्ल्ड रिटर्न रो अब यहां हमने हेलो वर्ल्ड लिखा है अब ये सॉर्ट ऑफ कन्वेंशन होता है कि जो भी नई प्रोग्रामिंग लैंग्वेज आप सीखते हैं ना उसमें सबसे पहला कोड जो ये मतलब रूल है कोडिंग वर्ल्ड का कि सबसे पहला कोड आपको हेलो वर्ल्ड ही लिखना पड़ता है तो उसका हमने कोड लिखा है इस कोड का काम है कि यह हेलो वर्ल्ड को स्क्रीन पे प्रिंट करवा देगा तो देखते हैं कैसे इसको कर लेते हैं सेव और किसी भी सी कोड को रन करने के लिए हमें ऊपर जाना पड़ता है टर्मिनल पे और हम खोलेंगे न्यू टर्मिनल न्यू टर्मिनल में सबसे पहले एक लाइन लिखते हैं जीसीसी h स यहां पर ये जीसीसी जो है वो हमारा कंपाइलर है c का तो हम उस कंपाइलर को इवोक कर रहे हैं और उसके बाद लिखेंगे अपनी फाइल का नाम तो बेसिकली हम क्या कह रहे हैं कि हमारे जो फाइल में हमने कोड लिखा है उसको कंपाइल कर दो ये कंपाइल इतना डिफिकल्ट जो शब्द है ना ये भी चैप्टर वन के एंड तक क्लियर हो जाएगा तो फाइल को हमने कर दिया कंपाइल अब इसको रन करेंगे कोड को कैसे रन करेंगे हम लिखेंगे / एड आउट ये a एक अ बाय डिफॉल्ट फाइल क्रिएट हो जाती है जिसका एक्सटेंशन है डॉट आउट यानी डॉट आउटपुट इसको हम कर देंगे रन तो प्रिंट होगा हमारे लिए हेलो वर्ल्ड अब जो कोडर्स विंडोज पर हैं उन्हें यहां पर लिखना पड़ेगा ड a.exe क्योंकि विंडोज में बाय डिफॉल्ट a.exe फाइल क्रिएट होती है जिसकी एक्सटेंशन होती है डटी यानी एग्जीक्यूटेबल फाइल लेकिन जो स्टूडेंट्स हमारे बहुत सिंपल और बहुत लॉजिकल है अगर थोड़ा सा अब हम कोडिंग सीख पाते हैं तो हम डिस्कवर करेंगे कि उससे हम कितनी सारी इंटरेस्टिंग चीजें बना सकते हैं तो ये लिख दिया है हमने अपना हेलो वर्ल्ड प्रोग्राम इसके अंदर ये मेन क्या होता है ये इंक्लूड क्या होता है ये यहां पे हैश क्यों लिखा हुआ है ये ज़ीरो क्यों लिखा हुआ है इन सब का मतलब हमें धीरे-धीरे समझ में आने वाला है अब अपने चैप्टर वन के अंदर हम कुछ बेसिक कांसेप्ट पढ़ेंगे जिनको पढ़ने के बाद हमें प्रोग्रामिंग समझ में आने लग जाएगी इसके अंदर हम सबसे पहले पढ़ने वाले हैं वेरिएबल के बारे में कीवर्ड्स क्या होते हैं हमारे कांस्टेंट्स क्या होते हैं साथ में कॉमेंट्स किस तरीके से लिखे जाते हैं हमने जो अभी सी का बेसिक प्रोग्राम लिखा है इसका स्ट्रक्चर क्या होता है और ये जो हमने कंपाइलेशन की बात करी थी हमारा कोड एक्चुअली रन कैसे हो रहा है इस मशीन पे इस कंप्यूटर पे इस सब के बारे में हम सिर्फ अपने चैप्टर वन में पढ़ेंगे और सारी चीजें सीख लेंगे सबसे पहला टॉपिक जिसके साथ हम शुरुआत करने वाले हैं ये है वेरिएबल वेरिएबल की डेफिनेशन की अगर बात करें तो ये होता है नेम ऑफ अ मेमोरी लोकेशन व्हिच स्टोर्स सम डेटा अब वेरिएबल मेमोरी लोकेशन का नाम होता है जब भी हमें कोई चीज स्टोर करनी पड़ती है उसके लिए पहले जगह चाहिए होती है जैसे मान लीजिए हमें कोई जूते रखने हैं तो जूतों के लिए पहले डब्बे होते हैं ना किसी भी दुकान में बहुत सारे हर डब्बे के अंदर कुछ जूते आते हैं एक डब्बे के अंदर हील्स रखी होंगी एक डब्बे के अंदर चप्पल रखी होंगी तो वो जो चप्पल है वो हील्स है वो शूज हैं स्पोर्ट्स शूज हैं वो सारा हमारा डाटा है और उस डब्बे को हम एक कंटेनर कह सकते हैं जिसके अंदर हमारा डेटा रहता है और उसी कंटेनर को अगर हम कोई नाम दे दें तो वो नाम होगा हमारा वेरिएबल उसी तरीके से मम्मी जब किचन में बहुत सारे मसाले रखा करती हैं मान लीजिए एक डब्बा है जिसमें मसूर की दाल रखी है एक डब्बा है जिसमें हल्दी रखी है एक डब्बा है जिसमें नमक रखा है तो ये जो कंटेनर्स होते हैं इनके अंदर हमारा डाटा होता है यानी कोई हमारा खाने का सामान होता है बाहर वाला जो कंटेनर होता है उसको हम कह देते हैं वेरिएबल अब इसी तरीके से कंप्यूटर भी कुछ डाटा स्टोर करता है ये डाटा जहां पर जाकर स्टोर होता है मान लीजिए यह है हमारे कंप्यूटर की मेमोरी और इसमें खुद के कुछ-कुछ डब्बे बने हुए हैं और इस मेमोरी के अंदर अगर हमें नंबर 25 स्टोर कराना है तो उसको हम किसी एक डब्बे में स्टोर करा देंगे और उस डब्बे को हम एक नाम दे देंगे जो नाम है यहां पर a और इसी a को हम कह देते हैं वेरिएबल अब मान लो इसके बाद नंबर नहीं कोई कैरेक्टर स्टोर कराना है तो ये कैरेक्टर s को हम एक नई मेमोरी लोकेशन यानी नए डब्बे पर स्टोर करा देंगे उस मेमोरी लोकेशन का हम नाम दे देंगे b और ये b क्या कहलाएगा ये कहलाएगा हमारा वेरिएबल तो मेमोरी के अंदर अगर हमें कुछ भी स्टोर कराते हैं तो उस मेमोरी लोकेशन को जब कोई नाम दे देते हैं उस डब्बे को कोई नाम दे देते हैं उसको हम वेरिएबल कहते हैं अब वेरिएबल को एक्चुअली इंप्लीमेंट कैसे करते हैं उसका कोड लिखकर देख लेते हैं हल्का सा यह वाली लाइन हम हटा रहे होंगे यह जो सारा का सारा कोड है यह हमारा बाय डिफॉल्ट कोड है यानी इसको हम हर बार लिखने वाले हैं अभी हमें इस पर ध्यान नहीं देना अभी हमें बीच के कुछ पार्ट पर ध्यान देना है मान लीजिए हमें नंबर 25 को स्टोर कराना है तो हम यहां पर लिखेंगे इंट नंबर इज इक्वल टू 25 तो इस सिंगल लाइन की वजह से हमारा नंबर 25 में मेरी में स्टोर हो गया उस डब्बे के अंदर जाके और उस डब्बे का नाम हमने यहां पर लिया है नंबर वैसे ही अगर कोई कैरेक्टर स्टोर कराना हो कैर स्टार इ इक्वल टू स्टार तो अपनी मेमोरी के अंदर हमारे कीबोर्ड पे जो स्टार बना हुआ है इसको हमने स्टोर करा दिया मेमोरी में और उस वेरिएबल का उस कंटेनर का नाम हमने दे दिया स्टार उसी तरीके से अगर हमें एज स्टोर करानी है तो हम लिखेंगे इंट ए इ इक्वल टू 22 तो यहां पे हमने अपनी एज 22 मेमोरी के अंदर स्टोर करा दी और उस लोकेशन का नाम हमने दे दिया एज यहां पर यह जो इंट क्या है यह कैरेक्टर क्या है इसको हम अभी के लिए इग्नोर करेंगे और ध्यान देंगे सिर्फ इस लाइन पर वैसे ही मान लीजिए हमें कोई डेसीमल वैल्यू स्टोर करानी हुई तो हम लिखेंगे फ्लोट पा = 3.14 तो ये जो पाई की हमारी वैल्यू होती है 3.14 ये भी अब मेमोरी के अंदर जाके स्टोर हो गई है और उस मेमोरी लोकेशन का उस कंटेनर का हमने नाम दे दिया पाई तो कुछ इस तरीके से कोई भी नंबर कोई भी वैल्यू अपनी मेमोरी के अंदर हम स्टोर करा सकते हैं और वह जहां पर स्टोर हुई है उस कंटेनर का हम नाम याद रख सकते हैं तो इनको हम वेरिएबल कहते हैं अब c के अंदर वेरिएबल को लिखने के कुछ-कुछ रूल्स होते हैं इनमें से सबसे पहला रूल हमारा होता है कि वेरिएबल आर केस सेंसिटिव केस सेंसिटिव कहने का क्या मतलब है कि छोटा a और बड़ा a अलग-अलग होंगे जो हमारा कैपिटल a और हमारा स्मल a होता है ये अलग-अलग होंगे इनको हम सेम नहीं मान सकते जैसे अगर हमें कोई नंबर स्टोर कराना है 30 तो हम लिख सकते हैं इंट a = 30 तो मेमोरी के अंदर 30 स्टोर हो गया और उस लोकेशन का नाम जहां पे स्टोर हुआ उसको हमने a दे दिया अब हमें दूसरा नंबर स्टोर कराना है 40 तो अगर हम लिखें इंट a = 40 तो दूसरी लोकेशन पर 40 हमारे पास स्टोर हो गया और उस लोकेशन का नाम हमने कैपिटल a दे दिया यहां पर ये स्ल a और यह कैपिटल a दोनों अलग-अलग वेरिएबल हैं सेम नहीं है दूसरा रूल जो c का कहता है वेरिएबल के बारे में वो यह कहता है कि फर्स्ट कैरेक्टर इज अल्फाबेट और अंडरस्कोर इसका क्या मतलब है कि वेरिएबल के नाम में जो भी हमारा पहला कैरेक्टर होता है वह या तो एक नॉर्मल इंग्लिश का कैरेक्टर हो सकता है या फिर अंडरस्कोर हो सकता है इसके अलावा और कोई वैल्यू नहीं हो सकती जैसे अगर हमें एज स्टोर करानी थी तो हमने क्या लिखा था यहां पर हमने लिखा था इंट एज इसे हम इस तरीके से भी लिख सकते थे इंट ए = 22 लेकिन इसको हम ऐसे नहीं लिख सकते हाइन ए = 22 क्योंकि यहां पे हमारी रेड लाइन आ जाएगी और यह गलत हो जाएगा यहां पे अगर हम वन एज भी लिखना चाहे तो यह रेड हो गया यानी गलत आगे सिर्फ कोई इंग्लिश का कैरेक्टर या फिर अंडरस्कोर ही आ सकता है वेरिएबल के नाम में तीसरा रूल हमारा कहता है नो कॉमा और ब्लैंक स्पेस यानी वेरिएबल के नाम में ना कोई कॉमा हो सकता है ना कोई ब्लैंक स्पेस हो सकती है जैसे अगर हमें कोई फाइनल प्राइस स्टोर कराना है तो हम लिखेंगे इंट फाइनल अंडरस्कोर प्राइस इ इ ₹1 अब ये जो अंडरस्कोर है ना सिर्फ यही एक ऐसा स्पेशल कैरेक्टर है जो हमारे वेरिएबल के नाम के अंदर आ सकता है मान लीजिए इस अंडरस्कोर की जगह हम यहां पर स्पेस दे देते हैं तो यहां पे हमारे पास आ जाता एरर क्योंकि हम स्पेस नहीं दे सकते वेरिएबल के नाम में या फिर स्पेस की जगह अगर हम कॉमा दे देते तो भी एरर आता क्योंकि कॉमा भी नहीं दे सकते हम एक ही स्पेशल कैरेक्टर को यूज़ कर सकते हैं वेरिएबल में जो होता है अंडरस्कोर जो लेकर आता है हमें फोर्थ रूल की तरफ व्हिच इज नो अदर सिंबल अदर दन अंडरस्कोर कैन बी यूज्ड अब वेरिएबल के बारे में एक स्पेशल चीज वेरिएबल की वैल्यू जो है ना वो फिक्स नहीं होती वो चेंज हो सकती है जैसे हमने डिफाइन कर दिया हमारा एज वेरिएबल क्योंकि आज की डेट में हमारी एज जो है वो 22 है लेकिन कल को यानी 2 साल बाद हमारी एज 24 हो जाएगी अपडेट होके तो उसको हम किस तरीके से लिखेंगे एज इ इक्व 24 तो पहले हमारा जो एज वेरिएबल था यानी वो जो मेमोरी लोकेशन थी उसमें 22 स्टोर्ड था पर अब 2 साल बाद हमारी एज में हमने स्टोर करा दिया 24 तो इस तरीके से किसी भी वेरिएबल की वैल्यू को हम अपडेट कर सकते हैं तो वेरिएबल जो हैं हमारे कोड के अंदर वो चेंज होते रहते हैं एंड इनफैक्ट वेरिएबल का जो इंग्लिश मतलब होता है वो भी होता है कोई ऐसी चीज जो चेंज होती रहती है तो इट ऑल मेक्स सेंस नाउ अब वेरिएबल को जब भी हम लिखते हैं एक स्पेशल टिप हर प्रोग्रामर को दी जाती है जो एक सीनियर प्रोग्रामर दे रहा होता है कि वेरिएबल के नाम हमेशा मीनिंगफुल होने चाहिए यानी वेरिएबल को पढ़ते ही देखते ही हमें समझ में आ जाए इसके अंदर स्टोर क्या हुआ है जैसे हमने यहां पर एज स्टोर की तो वेरिएबल का नाम एज दे दिया एक स्टार स्टोर कर दिया तो उसका नाम स्टार दे दिया कोई रैंडम नंबर स्टोर किया है तो नाम हमने नंबर दे दिया कभी-कभी रैंडम हां हम ए बी सी इस तरीके के नाम रख सकते हैं क्योंकि वो इजी पड़ता है लेकिन जब भी हम कोई बड़ा प्रोग्राम लिख रहे हैं ना उसमें ए बी सी करके बहुत सारे वेरिएबल हो जाएंगे इसीलिए वहां पर मीनिंगफुल नाम देने बहुत जरूरी हैं तो अगर आगे जाकर आप अपने इंटरव्यूज में बैठते हैं कंपनीज में प्लेसमेंट्स के लिए या फिर कोई अपना प्रोजेक्ट बना रहे हैं अच्छे लेवल का फ्रीलांसिंग करें तो उसके अंदर अपने वेरिएबल के नाम हमें बहुत अच्छे से लिखने हैं जैसे अगर हमें 100 ही स्टोर कराना था तो यहां पे सीधा सिर्फ एफ लिख सकते थे लेकिन हमने पूरा नाम लिखा फाइनल प्राइस जिससे समझ आए कि 100 जो है एक प्राइस है अब जो नेक्स्ट चीज जिसके बारे में हम पढ़ने वाले वेरिएबल के बाद वो है हमारी डाटा टाइप्स सी के अंदर बहुत सारे डेटा टाइप्स होते हैं ये डिफरेंट जो डेटा टाइप्स हैं उनकी हमने आपको लिस्ट दी हुई है और ये सारी की सारी स्लाइड्स आपको नीचे डिस्क्रिप्शन बॉक्स में अवेलेबल होंगी तो यहां पर अभी कुछ भी याद करने की जरूरत नहीं है इनफैक्ट ये सारे के सारे हमें याद करने भी नहीं पड़ते इसमें कुछ-कुछ ऐसे हैं जो कोडिंग करते करते हमें डेफिनेटली याद हो जाएंगे तो उसी से सारी चीजें जो है दिमाग में रहती है डेटा टाइप होता है कि मेमोरी के अंदर आप किस तरीके का डाटा स्टोर कर रहे हैं और जिस भी तरीके का डाटा होता है ना उसके लिए स्पेसिफाइड होता है कि ये इतनी ही मेमोरी खाएगा जैसे जब भी पेन ड्राइव खरीदते हैं तो उसपे लिखा होता है कि ये 8gb की पेन ड्राइव है या 16gb की पेन ड्राइव है उसी तरीके से हमारा जो कैरेक्टर टाइप का डाटा होता है वो खाता है हमारी वन बाइट की मेमोरी को अगर इंटी जर टाइप के डाटा की बात करें तो वो खाता है हमारी 2 बाइट की मेमोरी को अगर फ्लोट डाटा की बात करें तो वो खाता है हमारी फोर वाली मेमोरी को अब वो स्टूडेंट्स जो दूसरी लैंग्वेजेस सीखने के बाद सी को सीख रहे हैं वो मेरी तरह थोड़े से सरप्राइज्ड हो जाएंगे क्यों क्योंकि उन्हें पता चलेगा कि सी के अंदर ना तो बोलियन टाइप का डेटा टाइप होता है ना स्ट्रिंग टाइप का डटा टाइप होता है ये दोनों सी के अंदर एजिस्ट नहीं करते हैं क्योंकि सी सबसे पहले आई थी यानी सी 1970 में आई थी उसके बाद c+ प आई थी उसके बाद जावा आई थी उसके बाद जावास्क्रिप्ट आई थी तो सी हमारी बहुत ही पुरानी लैंग्वेज है इसीलिए इसमें काफी सारी ऐसी चीजें हैं जैसे ऑब्जेक्ट्स और क्लासेस हो गए जो मिसिंग होते हैं तो ये कॉन्सेप्ट्स जो हैं इनके लिए हमें दूसरी लैंग्वेजेस बाद में सीखनी पड़ती है तो इन सारे डाटा टाइप्स में से हम कुछ-कुछ इंपॉर्टेंट डे डाटा टाइप्स जो हैं उनको लिखकर देखेंगे और सिर्फ उन्हें ही अभी हमें याद रखना है बाकियों को याद अभी रखने की जरूरत नहीं है तो अपने कोड के अंदर हमने जो ऑलरेडी काफी सारी चीजें लिखी थी उनको एक बार हटा देते हैं और तीन डेटा टाइप्स की यहां पे बात करेंगे सबसे पहला डेटा टाइप है हमारा इंट इंट क्या स्टोर करता है इंट स्टोर करता है इंटी जर वैल्यूज को यानी जो वैल्यूज हमारी होल होती हैं या तो पॉजिटिव हो सकती है या नेगेटिव हो सकती हैं जैसे + 1 हो गया + 2 हो गया + 5 हो गया -1 हो गया 0 हो गया इस तरीके की वैल्यूज तो अगर हमें एज स्टोर करवानी है तो एज हमारी एक होल वैल्यू होती है यूजुअली तो उसको हम स्टोर करवाएंगे इंट डाटा टाइप में तो यहां लिखेंगे इंट एज इ इक्वल टू 22 तो इस लाइन से हमें तीन चीजें पता चली सबसे पहला जो डाटा हम स्टोर करा रहे हैं वो है 22 जिस मेमोरी लोकेशन पे स्टोर कराया है उसका नाम हमने दिया है एज और जिस टाइप का डाटा है वो है इंटी जर वैल्यू अब वैसे ही अगर हमें पाई की वैल्यू स्टोर करानी हो पाई तो हमारा इंटी जर होता नहीं है उसके अंदर तो डेसीमल वैल्यूज आती हैं इसीलिए उसको हम स्टोर कराएंगे फ्लोट डेटा टाइप में तो यहां लिखेंगे फ्लोट फिर लिखेंगे पाई और इसकी वैल्यू हम दे देंगे 3.14 तो ये डेसिमल वैल्यूज वाला एक नंबर है इसको हमने फ्लोट डेटा टाइप में स्टोर कराया है अब इसके अलावा एक और डटा टाइप होता है जिसका नाम होता है कैरेक्टर तो जो भी हमारी स्पेशल कैरेक्टर्स होते हैं ना जैसे हैश हो गया हमारा एम पर हो गया रेट हो गया स्टार हो गया यानी एस्ट रिस्क उन सबको हम कैरेक्टर डाटा टाइप में स्टोर कराते हैं कैरेक्टर के लिए लिखना पड़ेगा कैर और यहां पर मान लीजिए हम लिखते हैं अपना शैग तो यहां पर सबसे पहले कैरेक्टर्स को स्टोर कराने के लिए हमें सिंगल कोट लिखने पड़ते हैं और अंदर हम लिख सकते हैं अपना कैरेक्टर तो इस तरीके से हमने कैर डटा टाइप का एक वेरिएबल स्टोर करा लिया फ्लोट का करा लिया इंट का करा लिया अभी के लिए क्योंकि हम बेसिक लेवल से चल रहे हैं यही तीन जो हैं ये तीनों मेन हैं जिनको हमें याद रखने की जरूरत है बाकी हम टाइम के साथ और ज्यादा सीखते चले जाएंगे अब नेक्स्ट टॉपिक जिसकी हम बात करेंगे वो है हमारे कांस्टेंट्स हमने बात की थी इससे पहले वेरिएबल की वेरिएबल में क्या इशू था वेरिएबल की वैल्यू चेंज हो सकती थी अब अगर जब भी हम बड़ी-बड़ी कंपनीज में बड़े-बड़े सॉफ्टवेयर्स बनाते हैं जैसे कोई एडमिन पैनल हमने बनाया कोई वेबसाइट बनाई उसके टेस्टिंग पर्पसस के लिए हम क्या करते हैं एक अपना खुद का ईमेल पासवर्ड रख लेते हैं जो फिक्स्ड होता है जिसकी वैल्यू हमें चेंज नहीं करनी हर बार उसी ईमेल पासवर्ड से हमें लॉग इन करना है तो हम क्या कर सकते हैं किसी फाइल के अंदर एक ईमेल वेरिएबल बना सकते हैं एक पासवर्ड वेरिएबल बना सकते हैं और दोनों के अंदर कोई वैल्यू रख सकते हैं सी के अंदर वो वैल्यूज जो हमेशा कांस्टेंट रहती हैं जिनकी वैल्यू चेंज नहीं होती उनको हम कहते हैं कांस्टेंट्स कांस्टेंट्स हमारे तीन टाइप के होते हैं इनमें से सबसे पहले हैं इंटी जर कांस्टेंट्स जैसे हमारा नंबर वन हो गया वन की वैल्यू हमेशा वन ही रहेगी वन की वैल्यू नेगेटिव 1 या 0 या नेगेटिव फ वो नहीं हो सकती वन की वैल्यू हमेशा कांस्टेंट रहेगी फिक्स्ड रहेगी तो हमारे 1 2 3 0 -1 -2 इस तरीके के जो कांस्टेंट्स होते हैं इनको इंटी जर कांस्टेंट्स कहते हैं उसके बाद आते हैं हमारे रियल कांस्टेंट्स रियल कांस्टेंट्स यानी जिनके अंदर रियल नंबर्स होते हैं जैसे वन 0 अब 1.01 भी होता है लेकिन यह रियल कांस्टेंट है इसको दिखाने के लिए इसका पट 0 एक्स्ट्रा लिखा गया है उसी तरीके से 2 का प0 एक्स्ट्रा लिखा गया है अगर ये सिर्फ टू होता तो फिर ये इंटी जर कांस्टेंट बन जाता अभी ये रियल कांस्टेंट है 3.14 यहां पर हमारे पास आना चाहिए था - 2.4 तो फिर ये एक रियल कांस्टेंट होता अब तीसरा टाइप ऑफ कांस्टेंट हमारे पास होते हैं कैरेक्टर कांस्टेंट्स कैरेक्टर्स में क्या-क्या आ जाते हैं हमारे सारे अल्फाबेट्स आ जाते हैं अपर केस लोअर केस में हमारे पास कैपिटल ए आ गया स्पेशल कैरेक्टर्स भी आ जाते हैं जैसे हमारे पास हैश आ गया हमारा एम परसेंट आ गया हमारा एस्ट रिस्क आ गया या इसके अलावा हमारा ट द रेट आ गया तो इस तरीके के सारे कैरेक्टर्स मिलकर हमारे कैरेक्टर कांस्टेंट्स बनाते हैं और एक चीज नोट करनी पड़ेगी यहां पर कि कैरेक्टर कांस्टेंट जो होते हैं ना इस कैपिटल a की वैल्यू हमेशा कैपिटल a ही रहेगी स्ल ए नहीं हो जाएगी और जब भी कैरेक्टर कांस्टेंट्स को कोड के अंदर लिखना होता है तो उनको हम लिखते हैं सिंगल कोड्स के अंदर यानी जब भी हम कोई कैरेक्टर कांस्टेंट लिखेंगे कोड में तो वहां पर हमें सिंगल कोड्स लगाने पड़ेंगे अब नेक्स्ट टॉपिक जिसकी हम बात करेंगे उसका नाम है कीवर्ड्स जैसे डिक्शनरी के अंदर कुछ-कुछ वर्ड होते हैं हर वर्ड का अपना एक फिक्स्ड मतलब होता है उसको चेंज नहीं कर सकते वैसे ही हर प्रोग्रामिंग लैंग्वेज की अपनी एक डिक्शनरी होती है सी की भी अपनी एक डिक्शनरी है जिसके अंदर कुछ-कुछ वर्ड्स जो हैं वो रिजर्व्ड हैं यानी वो फिक्स्ड है उसका मतलब सिर्फ वही रहेगा उसको हम वेरिएबल नाम की तरह यूज़ नहीं कर सकते ना ही करना चाहिए तो इसी तरीके से सी के अंदर कुछ रिजर्व्ड वर्ड्स हैं जिनका कुछ स्पेशल मीनिंग है और यह मीनिंग कंपाइलर को पता है तो सी प्रोग्रामिंग लैंग्वेज के अंदर 32 कीवर्ड्स होते हैं और इन कीवर्ड्स का हमें खास ध्यान देना है अगर इन 32 की लिस्ट की बात करें तो हमारे 32 कीवर्ड्स कुछ ऐसे होते हैं सी के अंदर इस लिस्ट में हमें दिख रहा होगा कि इंट हमारा एक रिजर्व्ड वर्ड है हमारा कीवर्ड है सी का तो इसको यानी किसी भी वेरिएबल का नाम हम इंट नहीं रख सकते वैसे ही हम इसमें ढूंढने निकले तो फ्लोट भी हम हमारा एक कीवर्ड है इसके अलावा कैरेक्टर भी हमारा एक कीवर्ड है और ये जो सारे के सारे कीवर्ड्स हैं ना इनको अब अपने पूरे कोर्स के अंदर हम कहीं ना कहीं एक्सप्लोर कर लेंगे तो हमें पता चल जाएगा कौन-कौन से कीवर्ड्स हैं इसीलिए जब भी अपने प्रोग्राम में देखते हैं ना हम जैसे हमारे पास ये इंट लिखा हुआ है इस इंट का एक स्पेशल मतलब है जो सिर्फ कंपाइलर को पता है तो किसी भी वेरिएबल का नाम हमें इंट नहीं रखना ये रिटर्न है रिटर्न भी एक कीवर्ड है किसी भी वेरिएबल का नाम हमें रिटर्न नहीं रखना क्योंकि ये स्पेशल वर्ड्स है जिनके मतलब फिक्स्ड हैं जो कंपाइलर को पता है अब एक बार अपने प्रोग्राम के स्ट्रक्चर को समझते हैं कि जिस भी प्रोग्राम को जिस भी कोड को हम लिख रहे हैं उसको एक्चुअली समझ कैसे सकते हैं हम कि वो बना कैसे होता है तो जैसे ह्यूमन बॉडी का एक स्केलेटन होता है वैसे ही हर एक कोड का हर एक प्रोग्राम का एक स्ट्रक्चर होता है अगर हम अपने सी के प्रोग्राम के स्ट्रक्चर की बात करें तो हमारा प्रोग्राम कुछ ऐसा दिखता है ये हमारा इनिशियल कोड है जिसको हमने लिखा था इसमें सबसे पहले लिखा हुआ है हैश इंक्लूड फिर हमारे एंगुलर ब्रैकेट्स आ जाते हैं और बीच में आया है एसटीडी आड ए इसको कहते हैं हम अपना प्री प्रोसेसर डायरेक्टिव अब एक प्री प्रोसेसर डायरेक्टिव होता क्या है इसको बाद में पढ़ेंगे अभी के लिए ये समझना है कि इस लाइन को हमें हमेशा अपने कोड के अंदर लिखना है नहीं तो हमारा सी को कोड नहीं चल रहा होगा उसके बाद हम हमेशा ये लाइन लिखते हैं इंट मेन उसके बाद हमारे पेंसिस और फिर कर्ली ब्रेसस और इन कर्ली ब्रेसस के अंदर जो भी पार्ट लिखा होता है यह होता है हमारा मेन का कोड हमारा जो प्रोग्राम का एग्जीक्यूशन होता है वो मेन फंक्शन से शुरू होता है यानी इस फंक्शन से फंक्शन हमारे कोड का एक ऐसा पार्ट होता है जो हमें कुछ काम करके देता है हम फंक्शंस के बारे में भी डिटेल में पढ़ने वाले हैं मेन फंक्शन से हमेशा किसी भी सी प्रोग्राम का एग्जीक्यूशन शुरू होगा और वो एग्जीक्यूशन होगा लाइन बाय लाइन यानी सबसे पहले ये लाइन आई है तो पहले ये एग्जीक्यूट होगी फिर ये लाइन आई है तो फिर ये एग्जीक्यूट होगी इसके बाद हमारा मेन फंक्शन जो है वो खत्म हो जाता है अब आप नोटिस करेंगे कि हर लाइन के पीछे हम कोड के अंदर एक सेमीकलन लिखते हैं यानी इस लाइन के पीछे भी एक सेमीकलन लिखा है इस लाइन के पीछे भी एक सेमीकलन लिखा है यह सेमीकलन हमारी लाइन में एक फुल स्टॉप की तरह होता है जैसे हम हिंदी में पूर्ण विराम लगाते हैं हम इंग्लिश के सेंटेंसेस में एंड में डॉट लगाते हैं यानी पीरियड लगाते हैं वैसे ही हम अपने सी प्रोग्राम के अंदर एक सेमीकलन लगाकर ये दिखाते हैं कि यहां पर हमारी लाइन खत्म हो गई है अब आगे जो भी लिखा हुआ है वो नेक्स्ट लाइन का है इस पूरी की पूरी चीज को हम यहां भी लिख सकते थे इसके बाद और हमें पता होता कि वो नेक्स्ट लाइन में है क्योंकि सेमी कोलन के बाद आ रहा है और इसके साथ-साथ हमारा जो कोड है ना उसकी सारी इंस्ट्रक्शंस केस सेंसिटिव है यानी यहां पर अगर हम लिख लिखना चाहे इंट मेन तो यह गलत होगा क्योंकि ये सारे अपर केस में आ गए क्योंकि सी एक के सेंसिटिव लैंग्वेज है तो जो स्मॉल है वो स्मॉल केस में रहेगा जो अपर है वो अपर केस में रहेगा उसको हम इंटरचेंज या रिप्लेस नहीं कर सकते तो इस तरीके का स्ट्रक्चर रहता है जब भी हम अपना एक सी प्रोग्राम क्रिएट करते हैं ऊपर हमेशा एक हेडर फाइल या अपना प्रीप्रोसेसर डायरेक्टिव इंक्लूड करना है उसके बाद इंट मेन लिखना है और ये कर्ली ब्रेसेज लगाने हैं और इसके बीच में हम कुछ भी लिख सकते हैं पर एंड में हम हमेशा हमेशा एक रिटर्न जरो वाली लाइन लिखते हैं यह रिटर्न रो में रो दिखाता है जरो एरर्स यानी हमारा कोड सक्सेसफुली एग्जीक्यूट हो गया इसमें कोई एरर नहीं आया तो ये रिटर्न जरो भी हमेशा एंड में लिखेंगे यहां पर ये वाला पार्ट है जिसको हम अपने कोड के अंदर कभी भी कहीं भी चेंज कर सकते हैं अब नेक्स्ट टॉपिक जिसके बारे में हम पढ़ेंगे इस चैप्टर में वो है हमारे कमेंट्स जैसे हम लाइफ के अंदर कुछ-कुछ कमेंट्स देते रहते हैं ना लोगों को या हम किसी चीज लिखना जो हमारे कोड का पार्ट नहीं है कुछ एक्स्ट्रा पार्ट है कॉमेंट्स इंग्लिश में भी हो सकते हैं कुछ-कुछ लैंग्वेजेस अलाउ करती हैं कि हमारे कॉमेंट्स हम डिफरेंट लैंग्वेजेस में भी लिखते हैं हम चाइनीज में कॉमेंट्स लिख सकते हैं रशियन में लिख सकते हैं तो ये वो पार्ट है जो कोड में इंक्लूडेड नहीं है ये हमारे एक्स्ट्रा इंस्ट्रक्शंस होते हैं अब कॉमेंट दो टाइप्स के होते हैं सी के अंदर सबसे पहले होते हैं हमारे सिंगल लाइन कॉमेंट्स जिनको हम डबल स्लैश लगाकर लिखते हैं और उसके बाद होते हैं हमारे मल्टीपल लाइन कॉमेंट्स जिनको हम इस फॉर्मेट में लिखते हैं अब अपने कोड में एक्चुअली कमेंट्स लिख कर देखते हैं कि लिखे कैसे जाते हैं जैसे इस कोड के अंदर हमने अंदर बताया है कि डेटा टाइप्स क्या होते हैं तो यहां पर हम एक कॉमेंट लिख सकते हैं डबल स्लैश लगाकर दिस कोड डिस्प्लेज हाउ डेटा टाइप्स वर्क इन सी तो ये एक ऐसी चीज है जो इंग्लिश में लिखी गई है और कोड का पार्ट नहीं है ऐसे ही मान लो कि हमें मल्टीपल लाइन में कॉमेंट्स लिखने होते हैं तो हम लिखते हैं स्लश एस्ट रिस्क और एस्ट रिस्क स्लैश और इसके बीच में हम कुछ भी लिख सकते थे दिस इज अ मल्टी लाइन कमेंट तो यह हमारी मल्टीपल लाइंस पर हम कुछ-कुछ चीजें लिखे जा रहे हैं और ये सारी कॉमेंट का पार्ट है अब अगर इसको हम हटा दें तो ये जो इंग्लिश वाली चीज है ना ये हमें एरर देगी क्योंकि ये एक्चुअली सी को समझ ही नहीं आ रही कंपाइलर समझ ही नहीं पा रहा कि इसका मतलब क्या है ये एक्चुअली लिखा क्या हुआ है इसीलिए वो पार्ट जो सेंस नहीं बना था कंपाइलर के लिए उसको हम हमेशा कमेंट्स में लिखते हैं जैसे बड़ी-बड़ी कंपनीज में जब भी आप कोड लिखने चलेंगे तो कोड इतना ज्यादा हजारों लाइनों के कोड हो जाते हैं कि उसको समझना मुश्किल हो जाता है इसीलिए दूसरे प्रोग्रामर्स को हेल्प करने के लिए हम अपने कोड के अंदर कमेंट्स लिखते हैं उनको ये बताने के लिए कि कोड का कौन सा पार्ट क्या फंक्शन परफॉर्म करता है अब नेक्स्ट टॉपिक जिसको हम पढ़ेंगे वो है आउटपुट जब भी हम किसी भी लैंग्वेज में प्रोग्रामिंग करते हैं इनपुट आउटपुट बहुत एसेंशियल बहुत जरूरी पार्ट है प्रोग्रामिंग का सबसे पहले सीखेंगे सी के अंदर हम आउटपुट कैसे दिखाते हैं उसके बाद सीखेंगे सी के अंदर हम इनपुट कैसे लेते हैं तो आउटपुट दिखाने के लिए सी के अंदर अभी हमने लिखा था एक स्टेटमेंट वो होती है प्रिंट एफ और उसके बाद लगाते हैं हम पैरेंस पैरेंस के अंदर हम लिखते हैं डबल कोट्स और डबल कोट्स के अंदर हम कुछ भी लिख सकते हैं हमने लिखा था हेलो वर्ल्ड पर यहां पर हम लिख सकते हैं हेलो श्रद्धा यहां पर हम लिख सकते हैं हेलो अपना कॉलेज यहां पर हम लिख सकते हैं हेलो सी तो कुछ भी लिखा जा सकता है इन डबल कोड्स के अंदर और जो भी चीज हम लिखेंगे वो वैसी की वैसी स्क्रीन पे हमारे पास प्रिंट हो जाएगी और इस प्रिंट प्रिंट करवाने का रिस्पांसिबिलिटी जो है इस प्रिंट एफ नाम के एक फंक्शन ने लिखी है प्रिंट एफ हमारे लिए कुछ भी प्रिंट करवा देता है स्क्रीन पे और इस लाइन के एंड में हम लगा देंगे सेमीकलन यह दिखाने के लिए की लाइन यहां पर खत्म हो गई इसका एग्जांपल अगर देखें तो अपने कोड के अंदर हम यहां पर लिख सकते हैं प्रिंट एफ और उसमें लिख सकते हैं हेलो सी इसको कर लेते हैं सेव ऊपर वाली एक्स्ट्रा स्पेस को उडा देते हैं और रन करते हैं अपने कोड को टर्मिनल खोलकर ऊपर आएगा जीसीसी हेलोड स और हमारे लिए प्रिंट हो गया हेलो सी अब मान लीजिए हमें बार-बार बार-बार हेलो सी प्रिंट करना है उसको कैसे प्रिंट करेंगे इसी लाइन को कॉपी कर लेते हैं पेस्ट पेस्ट पेस्ट तो चार बार हमने हेलो सी को प्रिंट कर लिया इसको सेव कर लेते हैं और यहां पर दोबारा से रन करेंगे अब हमारे पास हेलो सी प्रिंट हुआ उसके इमीडिएट बाद दोबारा से हेलो सी प्रिंट हुआ इसी तरीके से चार बार प्रिंट हुआ पर हम तो चाहते थे कि अगली अगली अगली अगली लाइन में प्रिंट हो तो वो नेक्स्ट लाइन हमेशा करने के लिए ना यहां पर हमें एक चीज लिखनी पड़ती है स्पेशल चीज जो है हमारा बै स् n ये बै स् n दिखाता है कि जो भी हमें प्रिंट करना था ना प्रिंट f में वो तो प्रिंट हो जाएगा उसके बाद एक नेक्स्ट लाइन आ जाएगी इसी सेम को यहां पर बै स् n लिख देते हैं इसके बाद भी नेक्स्ट लाइन चाहिए इसके बाद भी नेक्स्ट लाइन चाहिए और इसके बाद भी नेक्स्ट लाइन चाहिए तो इसको कर देते हैं सेव अब यहां पर दोबारा रन करेंगे इसको तो अब हमारा जो आउटपुट है वो नेक्स्ट लाइन में चला गया है एक्चुअली हुआ क्या इसने हेलो सी प्रिंट किया तो हेलो सी प्रिंट हो गया उसके बाद बै स्ल ए प्रिंट किया तो बैक स्ल ए यानी नेक्स्ट लाइन तो हम यहां पर आ गए फिर दोबारा से हेलो सी प्रिंट हुआ फिर दोबारा से बै स् n तो नेक्स्ट लाइन में आ गए इसी तरीके से जब भी हमें आउटपुट नेक्स्ट लाइन में लेके आना हो ना तो हम बै स् n लिख देते हैं अब मान लेते हैं हमने कोई वेरिएबल बनाया है अपने कोड के अंदर जैसे अगर हमने लिखा इंट ए इ इक्वल टू 22 और इस एज को हम प्रिंट करवाना चाहते हैं अपनी स्क्रीन पर कैसे प्रिंट करवाए इस एज को तो हमें इसके लिए लिखना पड़ेगा प्रिंट एफ एज इज क्या हम लिखें एज एक बार इस चीज का हम आउटपुट देखते हैं एज इज एज तो ये जो डबल कोट्स के अंदर हमने जो भी लिखा ना इसको हम स्ट्रिंग कहते हैं यानी ये चीज वैसी की वैसी प्रिंट हो जाएगी पर हमें तो इसके एज के अंदर का नंबर प्रिंट करवाना था तो आउटपुट को प्रिंट करवाने के स के अंदर कुछ-कुछ केसेस आ जाते हैं इनमें से सबसे पहला केस होता है कि जब भी हमें कोई इंटी जर प्रिंट करवाना हो तो उसके लिए हमें अपनी प्रिंट स्टेटमेंट में लिखना पड़ता है सबसे पहले परसेंटेज का साइन और डी यह डी दिखाता है डबल वैल्यू को डबल भी एक डाटा टाइप होता है इसके बारे में हम बाद में पढ़ रहे होंगे तो परसेंटेज का साइन और डी और उसके बाद जैसे ही लाइन खत्म हो जाए फिर लिखेंगे कॉमा और फिर लिख देंगे अपने वेरिएबल की वैल्यू तो जब भी चीज प्रिंट होगी ना यह पूरा का पूरा तो प्रिंट हो जाएगा और इस परसेंटेज डी की जगह हमारी एज की वैल्यू आ जाएगी जो उसको रिप्लेस कर देगी उसी तरीके से अगर रियल नंबर्स के लिए करवाना है तो हम लिख लिखेंगे परसेंटेज f और फिर लिख देंगे वेरिएबल तो ये वेरिएबल की वैल्यू रिप्लेस कर लेगी इस परसेंटेज f को जब भी आउटपुट प्रिंट होगा अगर कैरेक्टर्स के लिए कराना है तो लिखेंगे परसेंटेज c और फिर लिख देंगे अपना वेरिएबल तो वेरिएबल यहां पर इस परसेंटेज c को रिप्लेस कर लेगा तो इस तरीके से हमें जब भी कोई वेरिएबल प्रिंट करवाना होता है जिसका डटा टाइप है कुछ जिसका कुछ टाइप है तो उसके लिए हम परसेंटेज डी लिखते हैं इंटी जर टाइप में परसेंटेज f लिखते हैं रियल नंबर्स में और परसेंटेज स लिखते हैं कैरेक्टर्स में और इनको एक्चुअली सी के अंदर इन तीनों को हम कहते हैं फॉर्मेट स्पेसिफाई करते हैं कि आउटपुट किस फॉर्मेट में हमारे पास आएगा और ये जो प्रिंट एफ फंक्शन है ये एक्चुअली हमारा लाइब्रेरी फंक्शन है जो बाय डिफॉल्ट सी के अंदर हमें पहले से परोस के दे दिया जाता है तो एक बार इन आउटपुट के केसेस को हम भी देख लेते हैं एग्जीक्यूट करके अब अगर हमें एज लिखनी है तो हमें पता है कि यहां हमें लिखना पड़ेगा परसेंटेज डी यहां लगाना पड़ेगा कॉमा और यहां हम लिखेंगे एज इसको कर लेते हैं सेव और खोलते हैं अपना टर्मिनल अब हमारे पास प्रिंट हो कर आ गया है एज इज 22 यहां पे यह परसेंटेज का साइन इसलिए आ रहा है क्योंकि हमने नेक्स्ट लाइन नहीं दिया तो इसको सेव करके अगर हम नेक्स्ट लाइन दे अब हमारे पास आया एज इज 22 अब सिमिलर तरीके से अगर एज की जगह हमें प्रिंट करवानी है पाई की वैल्यू तो हम लिखेंगे फ्लोट पा = 3.14 और यहां पर हम लिखेंगे परसेंटेज f और यहां लिखेंगे पाई इसको कर लेते हैं सेव तो अब हमारे पास प्रिंट हुआ एज इज 3.14 तो बाय डिफॉल्ट फ्लोट के अंदर कुछ नंबर ऑफ डेसिमल्स हैं जो हमेशा प्रिंट ही होने होते हैं तो उनको हमने यहां पर प्रिंट कर दिया है अब आप सोच रहे होंगे कि बार-बार ये जो स्टेटमेंट है एग्जीक्यूशन की ये कैसे आ रही है तो आपकी जो एरो कीज होती हैं कीबोर्ड पर आप उनको अपर वाली की जो है प्रेस कर सकते हैं तो पुरानी कमांड्स में जा सकते हैं तो तो आपको बार-बार पूरी स्टेटमेंट एग्जीक्यूट करने के लिए लिखनी नहीं पड़ेगी आप डायरेक्टली उस की को प्रेस करके एग्जीक्यूट कर सकते हैं अब सिमिलर वे में अगर हमें कोई कैरेक्टर प्रिंट करवाना हो मान लो हमने कैरेक्टर बनाया है एक स्टार जो स्टार वेरिएबल का नाम है और इसके अंदर एस्टरिस को स्टोर कराया है तो हम यहां लिखेंगे स्टार इज यहां आ जाएगा परसेंटेज सी और यहां आ जाएगा स्टार इसको कर लेते हैं सेव और इसको रन किया तो आउटपुट हमारे पास आया स्टारस एस्ट डिस्क तो कुछ इस तरीके से हमारे डिफरेंट तरीके के डाटा को हम अपनी स्क्रीन के ऊपर प्रिंट करवा सकते हैं अब नेक्स्ट कांसेप्ट जो काफी इंपॉर्टेंट कांसेप्ट है इस लैंग्वेज का वो है हमारा इनपुट स के अंदर इनपुट लेने के लिए हम एक फंक्शन का इस्तेमाल करते हैं जो एक दूसरा लाइब्रेरी फंक्शन है जिसका नाम है स्कैन एफ जैसे प्रिंट करने के लिए यूज किया था प्रिंट एफ वैसे ही कुछ भी इनपुट लेने के लिए स्कैन करने के लिए यूज करेंगे स्कैन f अब इसका फॉर्मेट यह रहता है कि जो भी वैल्यू हमें इनपुट लेनी है उसका सबसे पहले टाइप लिख देंगे तो फॉर्मेट स्पेसिफाई परसेंटेज डी हमें दिखाता है कि हम एक इंट टाइप की वैल्यू को इनपुट लेने वाले हैं तो सबसे पहले अपने कोट्स लगा देंगे डबल कोट्स उसके अंदर अपना फॉर्मेट स्पेसिफाई कॉमा कॉमा के बाद हमें लिखना है कि ये जो वैल्यू हम इनपुट ले रहे हैं उसका टाइप तो हमने समझ लिया अब उसको कौन से वेरिएबल में स्टोर कराना है तो लिखेंगे अपने वेरिएबल का नाम और उस वेरिएबल के नाम से पहले एम परसेंट लगा देंगे ये एम परसेंट यानी एंड एक्चुअली एक एड्रेस है ये इस वेरिएबल का एड्रेस है यानी ये क्या करेगा मेमोरी के अंदर जहां पर एज को कोई मेमोरी का ब्लॉक दिया गया है उस एड्रेस पर जाएगा और जो भी इनपुट हमारे पास आएगा उसको उस एड्रेस प जाके स्टोर करा देगा तो कुछ इस तरीके का काम रहता है स्कैनफ का अब क्या करते हैं एक नंबर को इनपुट लेके देखते हैं कि एक्चुअली स्कैन एफ जो है स्कैन कैसे करता है नंबर को हम बना लेते हैं एक वेरिएबल एज अब यहां पर लिखेंगे प्रिंट एफ एंटर एज अब इस वेरिएबल को स्कैन कर लेते हैं स्कैन एफ से परसेंटेज डी एड्रेस एज और जो भी वैल्यू हमारे पास वहां पर जाकर स्टोर हो जाएगी उसी को हम प्रिंट करवा देंगे यानी दोबारा से परसेंटेज डी इससे पहले लिख देते हैं एज इज एज इसको कर लेते हैं सेव अब ऊपर जाकर अपना टर्मिनल खोलते हैं सबसे पहले एंटर करनी है हमें अपनी एज एंटर कर देंगे 22 हमारे पास प्रिंट हुआ है एज इज 22 तो जो भी हमने एज एंटर की थी वो हमारे पास वापस प्रिंट होकर आ गई है यहां पे स्कैनफ ने क्या किया एज को एंटर किया और मेमोरी के अंदर एज वेरिएबल जिस भी लोकेशन पर पॉइंट कर रहा था वहां पे जाके उस एज को हमने स्टोर करा दिया उस नंबर 22 को स्टोर करा दिया और जब प्रिंट एफ ने वो नंबर वापस मांगा तो उसके बाद हमारे पास प्रिंट हो गया एज इज और यहां पर इसने दिखाया कि इंट टाइप की वैल्यू प्रिंट करनी है और फिर हमने एज के अंदर से डाटा निकाल के अपनी स्क्रीन पे दिखा दिया तो कुछ इस तरीके से हमारा इनपुट आउटपुट वर्क करता है सी के अंदर अब हम यहां पर एक छोटा सा प्रोग्राम बनाने वाले हैं इस छोटे से प्रोग्राम में क्या करेंगे एक नंबर ए को इनपुट लेंगे एक नंबर बी को इनपुट लेंगे और इन दोनों के सम को हम आउटपुट करा देंगे तोय छोटा सा कोड हम लिखने वाले हैं इस कोड के लिए सबसे पहले उन नंबर्स को हम क्रिएट कर लेते हैं तो इंट ए एंड बी अब सबसे पहले प्रिंट एफ करते हैं एंटर ए उसके बाद स्कैन कर लेंगे ए को डी एंड ए उसके बाद प्रिंट एफ कर देंगे एंटर बी फिर स्कैनफ से इसको ले लेंगे इनपुट एंड b अब इन दोनों के सम को एक तीसरे वेरिएबल में स्टोर करा देंगे यानी इंट सम इ इ a + b तो यहां पे भी प्लस माइनस मल्टीप्लाई डिवाइड रिमाइंडर ये सब मैथ की तरह काम करते हैं तो प्लस के लिए प्लस साइन होता है माइनस के लिए माइनस साइन होता है और ये इक्वल टू क्या करता है इन दोनों की वैल्यू को कैलकुलेट करेगा और उसको सम के अंदर डाल देगा ये इक्वल टू जो है इसको असाइनमेंट ऑपरेटर कहते हैं प्लस को हम एडिशन ऑपरेटर की तरह यूज़ करते हैं इन ऑपरेटर्स के बारे में डिफरेंट डिफरेंट जो भी सी के अंदर होते हैं बाद में हम डिस्कस कर रहे होंगे डिटेल में तो यह जो सम हमारे पास आया है इसको अब प्रिंट करवा देंगे प्रिंट एफ से सम इज परसेंटेज d सम इस कोड को कर लेते हैं सेव इसके अंदर क्या किया हमने दो वेरिएबल बनाए a और b सबसे पहले लिखा एंटर कर दो a तो a को हमने एंटर करवा दिया और उसको उस वेरिएबल की मेमोरी लोकेशन में जाके स्टोर कर दिया उसके बाद b को एंटर करवाया उसको b की मेमोरी लोकेशन में जाके स्टोर कर दिया उसके बाद एक नया वेरिएबल बनाया सम जिसके अंदर a और b को ऐड करके जो फाइनल वैल्यू आई उसको स्टोर करा दिया उसके बाद हमने प्रिंट करवा दिया है सम की वैल्यू को अब अपने टर्मिनल को खोलकर इसका आउटपुट एनालाइज करते हैं सबसे पहले हम a की वैल्यू को एंटर करेंगे तो एंटर करते हैं टू फिर एंटर करेंगे b की वैल्यू को इसमें एंटर कर देते हैं फाइव तो हमारे पास आउटपुट में आया सम इज सेवन इस तरीके से टू और फाइव का दोनों का सम हुआ और फिर सेवन प्रिंट हो गया अब यहां पे हम छोटी सी ट्रिक सीखने वाले हैं यहां पर एक तीसरा वेरिएबल सम हमने बनाया इसको तो हम हटा देते हैं और डायरेक्टली क्या करेंगे इस सम को हटाकर यहां लिख देंगे a + b और इसको कर लेते हैं सेव और एक बार दोबारा से अपनी कोड को रन करते हैं 2 5 तो डायरेक्टली हमारे पास सेवन जो है जो हमारा सम है वो प्रिंट हो गया तो हमें एक तीसरा वेरिएबल बनाने की जरूरत नहीं पड़ी जब भी हमें सम प्रिंट करवाना है अगर हमें यहां पर डिफरेंस भी प्रिंट करवाना होता तो हम प्लस की जगह माइनस लिख सकते थे दोनों का प्रोडक्ट प्रिंट करवाना होता तो एस्टरिस करके इनको मल्टीप्लाई भी कर सकते थे तो इस तरीके से जो भी वैल्यू प्रिंट करवानी है डायरेक्टली उस पर ऑपरेशंस कर सकते हैं और उसको यहां पर हम लिख सकते हैं अब हमने काफी सारी चीजें सीख ली है सी के अंदर और ये सारी की सारी चीजें कैसे रन की इनको हमने एक फाइल में लिखा और उस फाइल से हमारे पास आउटपुट आते चले गए अब इस पूरे के पूरे प्रोसेस को हम कंपाइलेशन कहते हैं इस प्रोसेस को समझते हैं कि एक्चुअली होता क्या है कंपाइलेशन की जो डेफिनेशन है वो है अ कंप्यूटर प्रोग्राम दैट ट्रांसलेट्स सी कोड इनटू मशीन कोड तो कंपाइलर एक ऐसा प्रोग्राम होता है जो सी का कोड लिखता है और उसको मशीन कोड में ट्रांसलेट कर देता है जैसे जो हमारे पार्लियामेंट होते हैं उसमें अगर कोई फॉरेन गेस्ट आए होते हैं तो बीच में ट्रांसलेटर्स आते हैं अगर फ्रेंच के प्राइम मिनिस्टर आएंगे तो बीच में ट्रांसलेटर होगा जो उनकी फ्रेंच को समझेगा और प्राइम मिनिस्टर यानी इंडियन प्राइम मिनिस्टर तक पहुंचाएगा उसी तरीके से हमारे कंप्यूटर के अंदर भी लैंग्वेजेस के लिए ट्रांसलेटर्स होते हैं कंप्यूटर जो है वो सी को नहीं समझता हमारी जो विंडोज मशीन है मैक मशीन है linux.com सी वाली एक फाइल थी उसको हमने कंपाइलर के पास भेजा और सी के कंपाइलर ने क्या किया सबसे पहले चेक करेगा कि फाइल जो है सी जो रूल्स डिफाइन करता है जो सिंटेक्स डिफाइन करता है उन सब को फॉलो कर रही है ना कोई गलती तो नहीं है इसके अंदर कोई एरर तो नहीं है हमारा जो वेरिएबल का नाम है उसको हमने एक नंबर से तो शुरू नहीं कर दिया अंडरस्कोर ही लगाया ना शुरुआत में तो इस तरीके के बेसिक एरर्स को वो चेक करता है और अगर एरर्स होते हैं तो फिर वो कंपाइलेशन फेल कर देता है लेकिन अगर कंपाइल हो जाती है हमारी फ मतलब उसमें कोई सिंटेक्स वाले एरर्स नहीं है और उसके बाद यह कंपाइलर उसको कन्वर्ट कर देता है windows.exe फाइल में कन्वर्ट कर देता है और linux.com में भी डसी बना सकते हैं और विज में भी डॉट आउट बना सकते हैं पर बाय डिफॉल्ट जो आपको एक्सटेंशन दिख रही होगी आपकी मशीन के अंदर वो यह एक्सटेंशन होगी तो घबराने की बात नहीं है अगर आपको अभी मेरी स्क्रीन पर डॉट आउट दिख रहा है और अपनी स्क्रीन पर आपको डॉटसी दिख रहा है तो अब हमने सी के जो है बेसिक बेसिक कांसेप्ट समझ लिए हैं और अभी तक हमें थोड़ा बहुत आईडिया लग चुका है कि एक्चुअली प्रोग्रामिंग है क्या तो इसके अंदर हम दो ऐसे सवाल सॉल्व करेंगे जो अगर आप कॉलेज की पढ़ाई कर रहे हैं तो उसमें यूजुअली बेसिक से अगर आपसे कोई इजी लेवल सवाल पूछे जाते हैं तो वो कुछ ऐसे से देखेंगे इनमें सबसे पहला प्रैक्टिस क्वेश्चन जिसको हम सॉल्व करेंगे वो है राइट अ प्रोग्राम टू कैलकुलेट एरिया ऑफ अ स्क्वायर तो स्क्वायर का एरिया हमें कैलकुलेट करना है साइड हमारे पास गिवन है हमें पता है मैथ हमने छोटी क्लास में पढ़ ी रखी है कि स्क्वायर का एरिया क्या होता है साइड मल्टीप्ला बाय साइड तो हम क्या करेंगे एक ऐसा प्रोग्राम बनाएंगे जिसमें साइड को इनपुट ले लेंगे और फिर एरिया को आउटपुट दे देंगे अपने कोड के अंदर यह चीज करके देखते हैं ऊपर एक कॉमेंट लिख लेते हैं एरिया ऑफ स्क्वायर सबसे पहले एक वेरिएबल डिफाइन करेंगे साइड उसके बाद प्रिंट एफ कर लेते हैं एंटर साइड अब स्कैन एफ से उसको ले लेते हैं इनपुट तो लिखेंगे परसेंटेज डी एंड साइड अब हम प्रिंट करवा सकते हैं एरिया इज परसेंटेज डी साइड इनटू साइड इसको कर लेते हैं सेव और अपने टर्मिनल को खोलकर इसको करते हैं रन हमारी साइड हम एंटर करते हैं फोर तो हमारा एरिया आ गया स्क्वायर का 16 क्योंकि 4 * 4 इ 16 अब यहां पर जरूरी नहीं है कि जो हमारी साइड हो वो एक इंटी जर हो ये हमारी फ्लोट वैल्यू भी हो सकती है अगर साइड हमारी फ्लोट वैल्यू हुई तो इस केस में यहां पर परसेंटेज d की जगह परसेंटेज f आ जाएगा यहां पर भी परसेंटेज f आ जाएगा क्योंकि दो फ्लोट्स अगर मल्टीप्लाई होते हैं तो फ्लोट वैल्यू प्रोड्यूस होती है इसको कर लेंगे सेव और दोबारा से करेंगे रन तो अब अगर साइड हम एंटर करें फोर तो आएगा हमारे पास एरिया इज स 16.00 तो ऑटोमेटिक फोर को उसने अंदर ही इंटरनली फ्लोट में कन्वर्ट कर लिया अब नेक्स्ट प्रैक्टिस क्वेश्चन जिसको हम करने वाले हैं ये कहता है राइट अ प्रोग्राम टू कैलकुलेट एरिया ऑफ अ सर्कल हमें यहां पर लिखा है साइड पर यहां पर होना चाहिए कि हमें सर्कल की रेडियस गिवन है और एरिया ऑफ अ सर्कल हमें पता है होता है हमारे पास पा r स् तो पा की वैल्यू तो पता ही है कि कांस्टेंट होती है 3.14 इसमें r स् और मल्टीप्लाई कर देंगे तो इस तरीके से एरिया ऑफ़ अ सर्कल हमारे पास आ जाएगा इसके लिए प्रोग्राम को थोड़ा सा चेंज कर लेते हैं य फ्लोट रेडियस लिख देते हैं और यहां लिख देते हैं एंटर रेडियस अब हमें जो भी वैल्यू एंटर होगी अब जो भी वैल्यू एंटर होगी उसको हम रेडियस वेरिएबल में स्टोर करा देंगे अब लिखेंगे एरिया इज पाई यानी 3.14 मल्टीप्ला बाय रेडियस मलाड बाय रेडियस क्योंकि हमें लेना है रेडियस का स्क्वायर इसको कर लेते हैं सेव यहां पर रेडियस को हमने डिफाइन किया वेरिएबल को उसके बाद प्रिंट एफ से लिखा हमने स्क्रीन पर एंटर रेडियस फिर रेडियस को हमने स्टोर करा लिया फिर हमने एरिया को स्टोर करा लिया एरिया को कैसे स्टोर कराया 3.14 को मल्टीप्लाई कर दिया रेडियस से और दोबारा मल्टीप्लाई कर दिया रेडियस से इसको हम रन कर लेते हैं टर्मिनल में रेडियस अगर हम एंटर करें थ्र तो आउटपुट हमारे पास आ है कि सर्कल का एरिया है 28.2 600 तो इस तरीके से हम इन सवालों को सॉल्व कर सकते हैं अभी तक जितना भी हमने इस चैप्टर के अंदर पढ़ा है अभी हमारा चैप्टर वन खत्म हो चुका है हमने यहां पर अपना चैप्टर वन यानी सी के सारे बेसिक कॉन्सेप्ट्स को बहुत सक्सेसफुली कंप्लीट कर लिया है इन सारे कांसेप्ट को यूज़ करके ऐसे-ऐसे क्वेश्चंस होते हैं जो कभी-कभी आपके मिड सेमेस्टर या एंड सेमेस्टर एग्जाम में पूछ लिए जाते हैं जैसे हो सकता है फारेनहाइट से सेल्सियस का कन्वर्जन दे दिया जाए सेल्सियस से फारेनहाइट का कन्वर्जन दे दिया जाए या फिर हमारे पास सिंपल इंटरेस्ट कैलकुलेट करने के फॉर्मूले आपको बोल दिया जाए कि इस फॉर्मूले को लगाओ या फिर यहां पे जैसे हमने रेडियस निकाल रेडियस से हमने एरिया निकाला है स्क्वायर का एरिया निकाला वैसे रेक्टेंगल का एरिया बोल सकते हैं ट्रायंगल का एरिया बोल सकते हैं या बोल सकते हैं कंपाउंड इंटरेस्ट आप कैलकुलेट करें तो बेसिकली मैथ के छोटे-मोटे फॉर्मूले लगाकर जो भी चीजें पॉसिबल हो सकती हैं या इनपुट आउटपुट से जो भी चीजें पॉसिबल हो सकती हैं उस तरीके का हमें यह कांसेप्ट करने के बाद कोड मिल सकता है अब नेक्स्ट चैप्टर है हमारा चैप्टर टू यानी इंस्ट्रक्शंस एंड ऑरेटर्स इसके अंदर हम पढ़ेंगे कि सी के अंदर इंस्ट्रक्शंस और ऑपरेटर्स का क्या मतलब होता है अब इस चैप्टर के अंदर हम काफी सारी न्यूमेरिकल चीजें करेंगे जो मैथ्स से रिलेटेड होंगी साथ के साथ हम काफी सारे नए कांसेप्ट सीखेंगे तो अगर हम नोट्स के अंदर ऐसे पेजेस देख रहे हैं जिसके अंदर काफी सारी इंफॉर्मेशन लिखी हुई है तो घबराना नहीं है क्योंकि उन चीजों को एक साथ रटने की जरूरत नहीं है हमें सारे के सारे नोट्स आपके पास नीचे अवेलेबल होंगे जब आपका मन करे रिवीजन करने का जब आपका मन करे कि अब मुझे इन चीजों को याद करने की जरूरत है जैसे एग्जाम से एक दिन पहले या इंटरव्यू के लिए अगर रिवीजन करना है तब आप इनको जाकर एक्सेस कर सकते हैं उन नामों को पढ़ सकते हैं अभी क्लास के चलते टाइम पर जो चीजें हमारे दिमाग में रह रही है उनको नेचुरली दिमाग में रखना है एक्स्ट्रा अभी हमें चीजें मेमोराइज करने का जो कष्ट है वो बिल्कुल नहीं लेना है तो चैप्टर की शुरुआत करते हैं सबसे पहले हम पढ़ेंगे कि इंस्ट्रक्शंस क्या होती है सी के अंदर इंस्ट्रक्शंस की बेसिक डेफिनेशन होती है कि दीज आर स्टेटमेंट्स इन अ प्रोग्राम यानी अभी तक हम सी के जितने भी प्रोग्राम लिख रहे थे कोड लिख रहे थे सब में क्या था एक सीक्वेंस ऑफ इंस्ट्रक्शंस थी एक के बाद एक के बाद एक के बाद एक के बाद स्टेटमेंट्स लिखी हुई थी जब भी हम प्रोग्राम की ऑफिशियल डेफिनेशन देखते हैं ना तो इट इज अ सीक्वेंस ऑफ इंस्ट्रक्शंस जैसे हमें मान लो मैगी बनानी होती है तो सीक्वेंस ऑफ इंस्ट्रक्शंस क्या होते हैं कि सबसे पहले पानी उबाल लो उसके अंदर मैगी मसाला डालो और उसके अंदर अपनी एक्चुअल मैगी डालो और फिर उसको गर्म होने दो चाय बनानी होती है तो पहले पानी डालो उसके अंदर हमारा दूध डाल देते हैं चीनी डाल देते हैं चाय पत्ती डाल देते हैं अदरक डाल देते हैं फिर उसको बॉयल करने देते हैं फिर उसको छान लेते हैं तो ये कुछ सीक्वेंस ऑफ इंस्ट्रक्शंस है वैसे ही किसी भी प्रोग्राम के अंदर एक सीक्वेंस ऑफ इंस्ट्रक्शंस होती हैं जो प्रोग्राम को बताती हैं कि उसको क्या-क्या करना है अब हम जब टाइप्स ऑफ इंस्ट्रक्शंस पढ़ते हैं तो उसमें तीन टाइप्स हमारे आते हैं सबसे पहला टाइप डिक्लेरेशन इंस्ट्रक्शन दूसरी है हमारी एरिथ मेे िक इंस्ट्रक्शन और तीसरी है हमारी कंट्रोल इंस्ट्रक्शन इन तीनों इंस्ट्रक्शंस के अलग-अलग काम होते हैं और काम के अकॉर्डिंग इनका नाम रखा हुआ है तो ऐसा नहीं है कि इनको याद करना बहुत मुश्किल होगा सबसे पहले अगर बात करें टाइप डिक्लेरेशन इंस्ट्रक्शंस की तो टाइप डिक्लेरेशन से क्या समझते हैं टाइ टाइप डिक्लेरेशन यानी किसी भी वेरिएबल को डिक्लेयर करना उसके टाइप के साथ तो जब भी हम ऐसी स्टेटमेंट्स लिखते हैं ऐसी इंस्ट्रक्शंस लिखते हैं जहां पर हमें एक वेरिएबल बताना होता है और उसका टाइप हमें डिक्लेयर करना होता है उसको हम टाइप डिक्लेरेशन स्टेटमेंट दे देते हैं हम बहुत टाइम से अपने सी कोड के अंदर टाइप डिक्लेरेशन स्टेटमेंट्स लिखते आ रहे हैं इसको हम लिख सकते हैं जैसे अगर हमने लिखा इंट a = 4 यह भी हमारी एक टाइप डिक्लेरेशन स्टेटमेंट है अगर हमने लिखा कैरेक्टर c इ इक्व टू एस्ट रिस्क ये भी हमारी एक टाइप डिक्लेरेशन स्टेटमेंट है पर जब भी हम ये स्टेटमेंट्स लिखते हैं ना एक छोटी सी गलती हम कर देते हैं कि एक रूल को भूल जाते हैं रूल हमारा कहता है डिक्लेयर वेरिएबल बिफोर यूजिंग इट जब भी हम किसी वेरिएबल को यूज कर रहे हैं उसको यूज़ करने से पहले हमें डिक्लेयर जरूर कर देना है यानी देखना है उसके अंदर कोई वैलिड वैल्यू हो हमने कंपाइलर को पहले ही बता दिया हो कि यह वेरिएबल एजिस्ट करता है कोड में और फिर हम यूज करें अगर ऐसा नहीं होगा और सी कंपाइलर अचानक से किसी वेरिएबल को देख लेगा कि ये कहां से आ गया तो फिर वो एरर थ्रो करेगा जैसे इसके वैलिड एग्जांपल्स अगर देखें तो हमने यहां पर इंट a को डिक्लेयर किया एज 22 फिर इंट b में लिखा है कि a की वैल्यू b में डाल दो यह बिल्कुल सही है क्योंकि a ऑलरेडी डिक्लेयर हो चुका है और फिर b में उसकी वैल्यू गई है और इसी को अगर हम कोड की फॉर्म में लिखकर देखें तो अपने फंक्शन के अंदर हम लिख सकते हैं इंट a = 22 और फिर लिखें अगर इंट b = a तो यहां पर कोई भी ए एरर हमारे पास नहीं आया यह कोड जो है हमारा बहुत अच्छे से काम करेगा उसके बाद हम क्या कर सकते हैं अगर हम इस तरीके से भी लिख रहे हैं इंट c = ू b + 1 यानी ऑलरेडी डिक्लेयर्ड एक वेरिएबल है उसमें आप कुछ ऐड कर रहे हैं या फिर इसमें अगर -1 होता या फिर ये मल्टीप्ला बाय 2 होता डिवाइडेड बाय 3 होता तो इस तरीके की भी अगर हम एरिथ मेे ऑपरेशंस करते राइट हैंड साइड पे और फिर उसको c में असाइन करते हैं तो वो भी वैलिड है वो भी बिल्कुल सही है इसको एक्चुअली लिख के देखते हैं प्रोग्राम में c इ इक्वल टू हमारा हो जाए अगर b मल्टीप्ला बाय 6 तो कोई एरर नहीं आया हमारे पास क्योंकि एक वैलिड स्टेटमेंट है एक और टाइप ऑफ वैलिड इंस्ट्रक्शन क्या हो सकता है इंट d = 1 e इसमें हमारे पास क्या हुआ कि हमने एक वेरिएबल डिक्लेयर किया d जिसको वैल्यू दे दी वन इसके साथ-साथ हमने एक और इंटी जर वेरिएबल डिक्लेयर किया e लेकिन e को अभी कोई वैल्यू हमने दी नहीं है तो ये बिल्कुल वैलिड स्टेटमेंट है जहां d की वैल्यू असाइन हो रही है पर e की नहीं हो रही इसको भी हम कोड में लिख के देख लेते हैं इंट d = हमने वन दे दिया पर e जो है उसको कोई वैल्यू नहीं दी तो यह भी बिल्कुल वैलिड स्टेटमेंट होगा अब कुछ एग्जांपल्स देखते हैं इनवैलिड स्टेटमेंट्स के c के अंदर जैसे अगर हम कोई वेरिएबल बनाए ओल्ड एज अब ओल्ड एज वेरिएबल के अंदर अगर हम कोई वैल्यू स्टोर करा दें व्हिच इज़ 22 और फिर हम एक नया वेरिएबल बनाएं न्यू एज न्यू एज को हम बना दें ओल्ड एज प्लस इयर्स यानी कितने इयर्स पास हो गए हैं तो यहां पर ओल्ड एज वेरिएबल तो ऑलरेडी है पर इयर्स नहीं है अब मान लो इयर्स को भी हम डिक्लेयर करने निकले इंट इयर्स इ इक्व 2 कि 2 साल के बाद हमारी नई एज क्या होने वाली है अब इयर्स हमने बता तो दिया कोड के अंदर कि उसकी वैल्यू टू है फिर भी यहां पे रेड लाइन क्यों आ रही है क्योंकि हमने ईयर्स को बताने से पहले उसको यूज कर लिया है तो वेरिएबल को डिक्लेयर करने से पहले जब हम उसको यूज कर लेते हैं तो वो एरर देता है स के अंदर यानी कंपाइलर क्या करता है लाइन बाय लाइन जाता है इस लाइन में उसने पढ़ लिया कि ओल्ड एज एक वेरिएबल है उसकी वैल्यू 22 है इस लाइन में पढ़ लिया कि इन न्यू एज भी हमारा एक इंट वेरिएबल है उसकी वैल्यू है ओल्ड एज की वैल्यू जो उसको पता है क्या था प्लस इयर्स अब वो यहां पे कंफ्यूज हो जाएगा कि इयर्स तो अभी तक पढ़ा ही नहीं मैंने इयर्स तो वो अगली लाइन में पढ़ने वाला था इसीलिए अगर इस तरीके की कोई स्टेटमेंट है तो उसमें इयर्स को ऊपर होना चाहिए तभी ये एक वैलिड स्टेटमेंट होगी तभी जो हमारी टाइप डिक्लेरेशन स्टेटमेंट्स होती हैं उनके अंदर एरर्स नहीं आएंगे अब एक और टाइप की हम वैलिड स्टेटमेंट समझे अगर तो मल्टीपल वेरिएबल को हम एक साथ डिक्लेयर कर सकते हैं यानी यहां पर हमने उनको डिक्लेयर कर दिया इंट a b c एंड उसके बाद a को b को c को तीनों को सेम वैल्यू असाइन कर दी व्हिच इज़ वन यह वैल्यू कैसे असाइन हुई वन की वैल्यू c में असाइन हुई फिर c की वैल्यू यानी व b में असाइन हुई फिर b की वैल्यू यानी व a में असाइन हुई तो इस तरीके का प्रोसेस रहा इसको एक बार अपने कोड में हम करके भी देख लेते हैं जैसे अगर हम कुछ वेरिएबल डिक्लेयर करते हैं x y और z तो हम वैल्यूज दे सकते हैं x = y = z = 4 तो इस तरीके की जो स्टेटमेंट है वो c के अंदर वैलिड है पर वही अगर इसका दूसरा हम वर्जन देखें जिसमें हम डिक्लेरेशन के टाइम पर ही यहां पे फोर दे दे यानी इन सबको इक्वल टू करें और हम सोचे कि एक लाइन स्किप कर देते हैं एक्स्ट्रा हमें क्यों लिखना तो यहां पर रेड लाइन ऑटोमेटिक आ जाती है ये रेड लाइन क्यों आई क्योंकि जब हम फोर को z में असाइन कर रहे हैं तो फिर उसकी वैल्यू y के पास जा रही है और वह सोच रहा है अभी तक तो जो z है वह कंपाइलर को पता ही नहीं क्या है क्योंकि ये लाइन अभी खत्म नहीं हुई है सेम लाइन के अंदर हम जो z है उसमें वैल्यू असाइन भी कर रहे हैं और उसकी वैल्यू किसी और को भी दे रहे हैं सेम स्टेटमेंट में हम y को एक वैल्यू असाइन भी कर रहे हैं और फिर उसकी वैल्यू किसी और को भी दे रहे हैं यानी यूज़ और डिक्लेयर साथ में नहीं कर सकते पहले हमेशा डिक्लेयर करना पड़ेगा उसके बाद वेरिएबल को यूज करना पड़ेगा नहीं तो c हमें एरर दे देगा तो इस तरीके के जो एरर्स हैं उन्हें हमें नहीं करना जब भी मल्टीपल वेरिएबल साथ में डिफाइन कर रहे हैं c के अंदर डिक्लेयर कर रहे हैं तो उनको एक साथ डिक्लेयर कर दीजिए पर उनकी वैल्यूज जो है उनका यूसेज जो है वो बाद में होगा नेक्स्ट टाइप ऑफ इंस्ट्रक्शंस जो सी के अंदर एजिस्ट करती हैं वो है हमारी एरिथ मेे िक इंस्ट्रक्शंस एरिथ मेे शब्द ऐसा है जो हमने 11 12थ में नाथ 10थ में या सिक्सथ टू एथ की मैथ्स में जरूर पढ़ा होगा एरिथ मेे िक का मतलब हम समझते हैं कि जहां प्लस माइनस मल्टीप्लाई डिवाइड ये सब चल रहा होता है यानी बेसिकली मैथ्स से रिलेटेड सारी चीजें तो मैथ की अगर हम कोई भी स्टेटमेंट देखें जैसे मान लीजिए हम a + b का एग्जांपल लें तो उसके अंदर जिन चीजों पर ऑपरेशन परफॉर्म होता है यानी प्लस हो रहा है जो चीज मल्टीप्लाई हो रही है डिवाइड हो रही है जिसका रिमाइंडर हम निकाल रहे हैं क्वेश निकाल रहे हैं इनको हम कहते हैं ऑपरेंट तो यहां पर a बन जाएगा हमारा ऑपरेंट वन बी बन जाएगा हमारा ऑपरेंट टू इसी तरीके से अगर कोई और स्टेटमेंट होती जैसे a + b - c ल्ड बा d तो यहां पर a b c d हमारे चार ऑपरेंट होते हैं और दूसरी टर्म जिसको हमें सीखने की जरूरत है वो है ऑपरेटर ऑपरेटर क्या होता है वो सिंबल जो बताता है कि क्या ऑपरेशन परफॉर्म होने वाला है जैसे यहां पर हमारा ऑपरेटर है अपना प्लस ऑपरेटर हो सकता है यहां पे माइनस परफॉर्म हो रहा होता सबट क्शन परफॉर्म हो रहा होता तो हमारा माइनस जो होता वो बन जाता हमारा ऑपरेटर अगर मल्टीप्लाई हो रहा होता तो एस्ट रिस्क हमारा ऑपरेटर बन जाता डिवाइड हो रहा होता तो इस स्लैश को हम अपना ऑपरेटर कह देते तो स के अंदर वो इंस्ट्रक्शंस जि उसके अंदर कुछ-कुछ ऑपरेंड्स होते हैं कुछ-कुछ ऑपरेटर्स होते हैं उनको हम एरिथ मेे िक इंस्ट्रक्शंस कहते हैं अब एरिथ मेे िक इंस्ट्रक्शंस के एग्जांपल्स क्या-क्या हो सकते हैं इनको हम लिख के देखते हैं जैसे अगर हम एक नया वेरिएबल डिफाइन करें इंट a = 1 है और b = 2 है और यहां पर हम नया वेरिएबल डिफाइन करते हैं सम = a + b तो यहां पर ये एक एरिदमेटोसस लिया जा रहा है a और b ऑपरेंड्स हैं प्लस हमारा एक ऑपरेटर है और सम हमारा एक नया वेरिएबल है जिसके अंदर वैल्यू हमारी असाइन हो जाती है यानी स्टोर हो जाती है जाकर ऐसे ही हम बना सकते हैं इंट मल्टीप्लाई = a * बा b अब यहां पर मल्टीप्लाई एक वेरिएबल है जिसके अंदर a * b की वैल्यू जाकर स्टोर हो रही है अब जब भी हम एरिथ मेे िक इंस्ट्रक्शंस की बात करते हैं एक स्पेशल चीज़ हमें ज़रूर नोट करनी है वह यह है कि सिंगल वेरिएबल ऑन द लेफ्ट हैंड साइड जब भी हम कोई एरिथ मेे ऑपरेशंस परफॉर्म करते हैं वो सारे के सारे हमारे राइट हैंड साइड पे जाते हैं यानी a + b - c * बा d ऐसा कुछ हमारे पास एक्सप्रेशन होगा उसकी सारे की वैल्यू हम किसी वेरिएबल लेफ्ट में असाइन करेंगे जो लेफ्ट हैंड साइड पर लिखा होगा और ये सारी की सारी वैल्यू राइट से लेफ्ट में जाकर स्टोर हो जाएगी और लेफ्ट साइड में हमें हमेशा ध्यान रखना है कि एक सिंगल वेरिएबल हमारे पास हो सिंगल वेरिएबल के अंदर ही सारा का सारा आउटपुट निकल के जाके स्टोर होगा हम लेफ्ट साइड में अगर रखें कि हम तो दो वेरिएबल स्टोर कराना चाहते हैं इंट x y = a * b तो इस केस में क्या होगा कि a * b की वैल्यू y को असाइन हो जाएगी पर x को असाइन नहीं होगी क्योंकि x यहां पर हमने सिर्फ एक नया वेरिएबल डिक्लेयर कर दिया है y एक नया वेरिएबल डिक्लेयर किया जिसमें a * b की वैल्यू गई है तो लेफ्ट में मतलब इस एक्सप्रेशन के लिए हमारे पास सिर्फ y है जिसमें इसकी वैल्यू स्टोर हुई है इसके बाद हम बात करने वाले एरिथ मेे िक इंस्ट्रक्शंस में क्या-क्या हमारे एक्सप्रेशंस वैलिड होते हैं क्या-क्या नहीं होते कुछ बेसिक ऑपरेशंस हम समझ लेते हैं एरिथ मेे िक इंस्ट्रक्शंस में हमारे पास आ जाता है प्लस ऑपरेटर माइनस ऑपरेटर मल्टीप्लाई ऑपरेटर और डिवाइड ऑपरेटर इसके साथ-साथ एक और ऑपरेटर हमारे पास होता है मॉड्यूल जिसके बारे में हम अभी पढ़ने वाले हैं इसी चैप्टर के अंदर तो ये पांच हमारे मेन ऑपरेटर्स होते हैं अब इसमें वैलिड स्टेटमेंट्स क्या-क्या होंगी जैसे a = b + c हमने लिखा है ये एक वैलिड स्टेटमेंट है यानी यहां पर ये दोनों हमारे ऑपरेंट हैं ये ऑपरेटर है और लेफ्ट हैंड साइड में हमने सिंगल जो है एक वेरिएबल लिखा हुआ है नेक्स्ट की बात करें तो b * c भी एक वैलिड ऑपरेशन है क्योंकि हमारे पास मल्टीप्लिकेशन आया और उसको हमने a में स्टोर करा दिया अब राइट हैंड साइड में इनवैलिड की अगर बात करें तो राइट हैंड साइड में है a और लेफ्ट में है हमारा b + c अब अगर मैथ हम पढ़ रहे होते तो ये बिल्कुल सही स्टेटमेंट होती मैथ के हिसाब से पर यहां पर हमारे लिए बिल्कुल गलत स्टेटमेंट है ये स्टेटमेंट कंपाइलर को कह रही है कि a की वैल्यू को लो और उसको b + c में स्टोर करा दो जबकि b + c एक सिंगल वेरिएबल नहीं है क्योंकि लेफ्ट हैंड साइड पे सिंगल वेरिएबल नहीं लिखा हुआ तो स्टेटमेंट हमारी बिल्कुल गलत हो जाती है इसको एक बार कोड में लिख लेते हैं जैसे अगर हम लिखते हैं इंट b + c = a अब यहां पर एक रेड लाइन आ गई क्योंकि ये स्टेटमेंट गलत है क्योंकि लेफ्ट साइड पे हमारे पास एक ही वेरिएबल होना चाहिए जिसके अंदर वैल्यू स्टोर हो पर यहां पर अगर हम इसको रिवर्स कर देंगे यानी यहां लिख देंगे a और यहां पर लिख देंगे b + c तो ये सही हो जाएगी पर ऊपर हमें b और c को डिफाइन करना पड़ेगा b को हम लिख लेते हैं = c = 1 तो अब यह स्टेटमेंट बिलकुल सही हो जाएगी क्योंकि सारे वेरिएबल डिफाइन हैं और लेफ्ट साइड में हमने लिखा है सिर्फ a को अब और क्या एक्सप्रेशंस हो सकते हैं जैसे मैथ के अंदर हम क्या लिखते हैं दो नंबर्स को मल्टीप्लाई करना होता है तो लिख देते हैं इ x = 2 * 3 हम वहां पर डॉट लगा देते हैं या फिर 2 * 3 इसको भी मल्टीप्लिकेशन की तरह देखा जाता है पर यह सेम चीज़ c के अंदर वैलिड नहीं है c के अंदर अगर आप लिख देंगे a = c की तरह नहीं देखा जाएगा इसको एक एरर की तरह देखा जाएगा इसका एग्जांपल क्या हो सकता है जैसे हम लिखें इंट d = bc-c तो a के अंदर क्या स्टोर होगा b c से डिवाइड होगा और जो भी हमारे पास क्श आएगा वो a के अंदर जाकर स्टोर हो जाएगा वहीं पर इनवैलिड एक्सप्रेशन यह हो सकता है कि कहीं-कहीं हमने देखा है कि b की पावर c अगर हमें लिखना हो तो हम कैसे लिख दे ते हैं b c यह वाला जो एक्सप्रेशन है यह गलत होता है c के अंदर c के अंदर पावर हमारे पास एक सिंगल ऑपरेटर नहीं होता पावर के लिए हमें पड एक फंक्शन यूज करना पड़ता है जिसके अंदर पहले हम डालेंगे b फिर हम डालेंगे c ये हमें देगा वैल्यू b टू द पावर c तो अगर a के अंदर हमें स्टोर कराना है पावर ऑफ b टू द पावर c तो हम कुछ ऐसा लिख रहे होंगे अगर हमने ये लिखा तो ये वैल्यू हमारी गलत हो जाएगी यह वैल्यू सही हो जाएगी इसका एग्जांपल देखते हैं अपने कोड के अंदर इंट पावर इ इक्वल टू b की पावर c ऊपर हमें बस एक और हेडर फाइल को इंक्लूड करना पड़ेगा इंक्लूड मैथड h ये मैथड ए एक हेडर फाइल है यानी इसके अंदर ऑलरेडी कुछ-कुछ चीजें हैं जो हम यूज कर सकते हैं तो पावर जो हम फंक्शन यूज़ कर रहे हैं वह मैथड h से ही आया है हमारे पास अब पावर को अगर हम प्रिंट करवाएं तो 1 की पावर व हमें ऑलरेडी पता है कि हमारे पास वन ही प्रिंट होकर आएगा पावर को हम प्रिंट करवाना चाहते हैं इसको कर लेते हैं सेव और करते हैं रन तो हमारे पास वन प्रिंट होकर आया है वहीं पर यहां अगर हम लिख देते b इसको अगर हम सेव करके रन कराएं तो क्या आउटपुट आएगा हमारे पास हमारे पास आउटपुट आया है रो अब ये रो क्यों आया है हमारे पास तो एरर आना चाहिए था क्योंकि पावर तो एजिस्ट ही नहीं करता एक्चुअली ये जो ऑपरेटर होता है ना स के अंदर इसको जॉर ऑपरेटर कहते हैं जॉर के बारे में हम बाद में सीखने वाले हैं ये बिट वाइज ऑपरेशन करने के लिए परफॉर्म होता है हमें पता है कि c के अंदर हर जो नंबर होता है वो मशीन को तो समझ में आता है नहीं मशीन को कौन सा कोड समझ में आता है मशीन को समझ में आता है मशीन कोड जो लिखा होता है जीरोज और वनस में तो जब भी हम जीरोज और वंस के बीच में ऑपरेशन परफॉर्म करते हैं वो हमारे बिट वाइज ऑपरेशंस होते हैं तो ये हमारा एक जॉर ऑपरेटर है जो बिट्स के बीच में परफॉर्म होता है बिट्स का यानी सेम बिट्स के बीच में जब आप जौर करते हैं तो उसका आउटपुट जरो हमारे पास आता है बिट वाइज ऑपरेटर्स के बारे में हम बाद में पढ़ रहे होंगे पर अभी के लिए b टू द पावर c अगर हम इस तरीके से लिखने की कोशिश करें हैं वो वैलिड स्टेटमेंट है ऐसा नहीं है कंपाइल र हमें एरर देगा पर आउटपुट हमारे पास गलत आएगा b की पावर c हमारा आउटपुट नहीं आएगा आउटपुट कुछ और आएगा इसीलिए इसको हम नहीं लिखेंगे अगर हम पावर दिखाना चाहते हैं पावर दिखानी है तो फिर हमें मैथड ए का यूज करना पड़ेगा और यूज करना पड़ेगा अपने पावर फंक्शन का नेक्स्ट टॉपिक जिसकी हम बात करने वाले हैं वो है हमारा मॉड्यूलर ऑपरेटर तो इसको मॉड्यूलर या मॉडलो भी कहा जाता है इसको परसेंटेज का जो साइन होता है ये होता है हमारा मॉड्यूल ऑपरेटर ये ऑपरेटर क्या करता है अगर हमने लिखा है a मॉडलो b तो यह हमें रिटर्न कर देगा रिमाइंडर ऑफ a डिड बा b का जैसे इसके कुछ एग्जांपल्स अगर देखें तो 4 मॉडलो 2 हमें रिटर्न करेगा रो 5 मॉडलो 3 हमें रिटर्न करेगा ू क्योंकि फोर को टू से डिवाइड करेंगे तो रिमाइंडर हमारे पास आएगा ़ फव को थ्री से हम डिवाइड करेंगे तो रिमाइंडर हमारे पास आएगा टू क्श एट आएगा वन तो अगर हम 5 / 3 करते तो क्ट हमारे पास आता वन यहां पर मॉड्यूल और ंडर देता है तो हमारे पास रिमाइंडर आया टू उसी तरीके से 12 मॉड्यूल 10 करेंगे तो रिमाइंडर टू ही आएगा और 20 मॉड्यूल 10 करेंगे तो रिमाइंडर आएगा हमारे पास जीरो तो कुछ इस तरीके से जब भी रिमाइंडर फाइंड आउट करना होता है तब यूज करते हैं अपने मॉड्यूल ऑपरेटर का इसका एग्जांपल लिख के देखते हैं अगर हमें प्रिंट एफ करना हो एक इंटी जर वैल्यू जिसमें हम प्रिंट करवाना चाहते हैं 16 मड 10 तो हमें ऑलरेडी पता है कि आंसर हमारे पास क्या आना चाहिए आंसर आना चाहिए सिक्स और आंसर में प्रिंट हुआ है हमारे हमारे पास 6 क्योंकि 16 को जब 10 से डिवाइड करेंगे तो छह रिमाइंडर में बचेगा अब मॉड्यूल ऑपरेटर जो है ना हमारे फ्लोट वैल्यूज पर काम नहीं करता जैसे अगर हम यहां पर लिखें 1.6 / 1.0 और इसको सेव करके अगर हम रन करना चाहे तो रन नहीं करेगा क्योंकि इनवैलिड ऑपरेंड्स है ऑपरेंट है हमारा 1.6 और दूसरा ऑपरेंट है 1.0 तो मॉड्यूल ऑपरेटर जो है सिर्फ इंटी जर्स पे काम करता है जब भी इंटी जर को इंटी जर से डिवाइड करते हैं तो हमें रिटर्न करके देता है एक इ इंटी जर रिमाइंडर वैल्यू अब इंटी जर में भी दो केसेस होते हैं या तो हमारा जो न्यूमरेशन है वो पॉजिटिव हो सकता है या हमारा न्यूमरेशन नेगेटिव हो सकता है जब भी हमारा न्यूमरेशन पॉजिटिव होता है तो हमारे पास जो रिमाइंडर आता है वो भी एक पॉजिटिव रिमाइंडर आता है पर जब हमारा न्यूमरेशन नेगेटिव होता है तो हमारा रिमाइंडर भी नेगेटिव आता है हमारे पास इसके एग्जांपल्स कैसे देख सकते हैं यहां पर अगर हम लिखें -8 मॉडलो 3 इसको कर लेते हैं सेव और इसको करते हैं रन तो हमारे पास आंसर में आया -2 क्योंकि 8 को जब थ्री से डिवाइड करेंगे तो रिमाइंडर में आएगा टू क्योंकि सिक्स हमारा ऑलरेडी डिवाइड हो जाएगा क्योंकि हमारे न्यूमरेशन नेगेटिव है तो हमारा आंसर भी रिमाइंडर में आया है नेगेटिव पर इसी को अगर हम पॉजिटिव एट बना दें और इसको हम सेव करके रन करें तो अब आउटपुट में आएगा + 2 तो इस तरीके से जब भी हमें नेगेटिव रिमाइंडर चाहिए तो हमने न्यूमरेशन को नेगेटिव रखना है जब भी पॉजिटिव रिमाइंडर चाहिए तो अपने न्यूमरेशन को पॉजिटिव रखना है नेक्स्ट टॉपिक जिसकी हम बात करेंगे एरिथ मेे िक इंस्ट्रक्शंस में उसका नाम है टाइप कन्वर्जन जब भी हमारे जो डिफरेंट डिफरेंट ऑपरेंट होते हैं उनके अगर सेम टाइप है तो आउटपुट भी सेम टाइप का आएगा लेकिन उनके डटा टाइप अगर अलग-अलग हैं तो आउटपुट भी अलग डाटा टाइप का आएगा जब भी हम इंट का कोई ऑपरेशन परफॉर्म कराते हैं इंट के साथ तो आउटपुट में इंट ही आएगा जब भी फ्लोट का ऑपरेशन कराते हैं फ्लोट के साथ तो आउटपुट में फ्लोट ही आएगा लेकिन अगर इंट का ऑपरेशन हुआ फ्लोट के साथ तो आउटपुट में फ्लोट आएगा जब हम अपने डटा टाइप्स वाली टेबल की बात करते हैं ना तो इंट हमारा जो लेता है वो लेता है दो बाइट और फ्लोट हमारा लेता है चार बाइट्स तो इस तरीके से फ्लोट का जो कंटेनर है इस डाटा टाइप का जो कंटेनर है वो बड़ा है यानी ज्यादा वैल्यू स्टोर कर सकता है तो सी कंपाइलर क्या करता है थोड़ा सा लॉजिक लगाता है लॉजिक कैसे लगाया कि अगर इंट वैल्यू है वो तो छोटी है पर फ्लोट की वैल्यू तो बड़ी है ना और इनके बीच में कोई ऑपरेशन हुआ मान लीजिए प्लस हुआ या मल्टीप्लाई हुआ या डिवाइड हुआ उसमें एक बड़ा नंबर आउटपुट में आएगा अब उस बड़े नंबर को स्टोर कराने के लिए एक बड़ा कंटेनर चाहिए यानी फ्लोट जैसा कंटेनर चाहिए तो इसीलिए आउट ट में हम इंट को नहीं रखते फ्लोट को रखते हैं तो जब भी इंट का ऑपरेशन परफॉर्म होगा फ्लोट के साथ हमारे पास आउटपुट में आएगा फ्लोट इसके एग्जांपल्स क्या हो सकते हैं एग्जांपल जैसे इंट का इंट के साथ अगर हम मल्टीप्लाई करें टू तो आंसर में आएगा फोर पर यहां पर 2.0 को मल्टीप्लाई करें अगर टू के साथ तो आउटपुट में हमारे पास आएगा 4.0 और यहां पर 2.0 को मल्टीप्लाई करें 2.0 के साथ तो आउटपुट में आएगा 4.0 इसको अपने कोड में लिखकर देखते हैं तो सबसे पहले प्रिंट एफ करवाएंगे हम 2 * 2 इसको कर लेते हैं सेव तो आउटपुट में आया 4 लेकिन 2.0 को अगर मल्टीप्लाई कराए टू के साथ तो यहां पर ये एरर आ गया सबसे पहले ही एरर क्यों आया क्योंकि आउटपुट जो है एक फ्लोट वैल्यू होना चाहिए था पर हमने बोला कि आउटपुट इंटी जर वैल्यू होगा तो इसको अब हमें चेंज करना पड़ेगा टू f इसको कर लेते हैं सेव और दोबारा से इसको करते हैं रन रन करने के बाद आउटपुट हमारे पास आया 4.00 जो भी फ्लोट का हमारे पास बाय डिफॉल्ट जितने भी डे मिल जाते हैं इसके बाद अगर यह 2.0 * 2.0 होता तो उस केस में क्या होता उस केस में भी हमारे पास सेम आउटपुट आता व्हिच इज अ फ्लोट वैल्यू अब इस ऑपरेशन की जगह हम डिवाइड भी यूज़ कर सकते हैं अगर मान लीजिए हम चार को डिवाइड कर रहे होते 2.2 से तो इस केस में भी फ्लोट जो है आउटपुट आना चाहिए क्योंकि एक ऑपरेंट हमारे पास फ्लोट का है तो आउटपुट में आया है एक फ्लोट वैल्यू तो इस तरीके से टाइप कन्वर्जन हो जाता है टाइप कन्वर्जन कैसे हुआ अगर कंपाइलर देखता है कि आउट पुट जो है वो बड़े कंटेनर में स्टोर होना चाहिए क्योंकि बड़ा आउटपुट है तो वो जबरदस्ती उसको छोटे कंटेनर में स्टोर नहीं कराता खुद से यानी इंट में स्टोर नहीं कराएगा वो कोशिश करेगा इस पूरे के पूरे आउटपुट को सेव कर लिया जाए तो वो फ्लोट के अंदर उसको बाय डिफॉल्ट स्टोर कराता है अब हम इसके थोड़े से और स्पेशल केसेस देख लेते हैं जैसे अगर हमने टू को डिवाइड किया थ्री के साथ तो क्योंकि ये दोनों के दोनों हमारे इंटी जर वैल्यूज है आउटपुट हमारा इंटी जर आना चाहिए आउटपुट एक बार देखते हैं यहां पे इंटी जर आएगा तो इसको कर देते हैं हम d आउटपुट हमारे पास आया है रो क्योंकि हमेशा एक इंटी जर आउटपुट आएगा अब टू को जब हम थ से डिवाइड करेंगे तो 0 पॉइंट समथिंग समथिंग आता है पर क्योंकि एक इंटी जर वैल्यू है इसके अंदर सिंगल डिजिट हम हमारे होल डिजिट स्टोर होते हैं डेसीमल स्टोर नहीं होते तो इसको वो जीरो बना देगा वहीं पर अगर हम 2.0 इसको ले लेते तो अब हमारे पास आउटपुट में आती है एक फ्लोट वैल्यू फ्लोट वैल्यू में क्या आउटपुट आता है हमारे पास ये हमें दे देता 0.666 667 तो अगर हमें एग्जैक्ट आउटपुट चाहिए तो उसके लिए हम फ्लोट बना देंगे दोनों में से किसी एक को पर अगर हम चाहते हैं कि डेसीमल का जितना भी पार्ट आए वो कंप्लीट हट जाए तो उसको हम बना देंगे इंटी जर्स तो थ्री को हम डिवाइड कर सकते हैं टू के साथ थ्री को जब भी टू के साथ डिवाइड करेंगे तो यहां पर आउटपुट हमारे पास आना चाहिए एक इंटी जर वैल्यू आउटपुट में आएगा वन लेकिन 3.0 को अगर टू से डिवाइड करेंगे तो आउटपुट में वन नहीं आएगा इसको भी कर देते हैं f आउटपुट में अब हमारे पास आएगा 1.5 तो जब एग्जैक्ट आंसर चाहिए तब फ्लोट बनाना है जब हम बिल्कुल डेसीमल को हटाना ही चाहते हैं तब हम बना देंगे उसको इंटी जर तो टाइप कन्वर्जन कुछ इस तरीके से होता है टाइप कन्वर्जन पे बेस्ड एक काफी इंटरेस्टिंग सवाल अभी सॉल्व करेंगे सवाल में हमें यह करना है कि इंट a को देखना है उसकी वैल्यू जो है 1.99 999 है कैसे काम करेगा ये अगर इस वैल्यू को हम एक इंटी जर में असाइन करेंगे तो वो क्या करेगा इसके डेसिमल्स हटा देगा डेसिमल्स हटा देगा यानी इस पार्ट को कंपलीटली हटा देगा तो यहां पर a की वैल्यू वन होनी चाहिए या ए की वैल्यू टू होनी चाहिए वो हम अपने कोड से एनालाइज करने वाले कोड में हम लिखेंगे इंट ए = 1.99 999 इसको कर लेते हैं सेव और अब प्रिंट करवा देंगे अपने ए को और इसकी वैल्यू देखेंगे कि एक्चुअली प्रिंट क्या होता है यहां पर उसने सबसे पहले तो एरर दे दिया कि डबल से इंट में कन्वर्जन जो है वो पॉसिबल नहीं है इंप्लीड कन्वर्जन पॉसिबल नहीं है जब भी टाइप कन्वर्जन होता है ना सी के अंदर दो टाइप ऑफ कन्वर्जन होते हैं सबसे पहला हमारा जो कन्वर्जन होता है वो होता है इंप्ली इंप्ली कन्वर्जन कंपाइलर खुद कर देता है और दूसरा टाइप हमारा होता है एक्सप्लिसिट एक्सप्लिसिट कन्वर्जन हम एज अ प्रोग्रामर हम एज अ यूजर खुद करते हैं हमारा कंपाइलर हमें करके नहीं देता ये वो कन्वर्ज है जो हम खुद से करना चाहते हैं ये एक्सटर्नल कन्वर्जंस है तो इंप्लीड कन्वर्जंस कहते हैं कि जो छोटे टाइप्स हैं जैसे इंट जैसा टाइप वही फ्लोट में जाकर स्टोर हो सकता है इंट जैसा टाइप डबल में जाकर स्टोर हो सकता है पर फ्लोट या डबल इंट के अंदर आकर स्टोर नहीं हो सकता इसीलिए ऑटोमेटिक इसको कन्वर्ट नहीं करेगा लेकिन अगर हम खुद से एज अ प्रोग्रामर एज अ कोडर कन्वर्ट कराना चाहते हैं तो हम यहां इस तरीके से वैल्यू लिख देते हैं हम दो पैरेंस लगाते हैं दोनों के बीच में उस टाइप में लिख देते हैं जिसमें हम कन्वर्ट कराना ना चाहते हैं तो क्या करेगा कंपाइलर फोर्सफुली कन्वर्ट करेगा कंपाइलर करना नहीं चाहता बड़े टाइप को छोटे में कन्वर्ट पर उसको करना पड़ेगा क्योंकि हमने इंट लिख दिया है आगे अब इसको सेव करते हैं और अब एक बार इसको दोबारा कंपाइल करके देखते हैं तो अब उसने सक्सेसफुली कंपाइल कर दिया है और अब हम अगर अपने कोड को रन करें तो उसका जो आउटपुट आएगा दैट विल बी वन तो जब भी इसने कन्वर्ट किया ना इस डबल वैल्यू को बाय डिफॉल्ट सी में जो सारी फ्लोट वैल्यूज होती है उनको डबल की तरह देखा जाता है क्योंकि डबल बड़ा डटा टाइप है अब जब इसने इस डबल वैल्यू को यानी इस वैल्यू को इंट में कन्वर्ट किया तो इसने ये 999999 को कंप्लीट हटा दिया वो राउंड ऑफ नहीं करता सी का कंपाइलर एरिथ मेे ऑपरेशंस में जब भी फ्लोट से इंट में कन्वर्ट करता है राउंड ऑफ नहीं करता कि 1.99 है तो उसको टू बना दो और फिर टू डाल दो इंटी जर में वो मैथ की तरह इतना ज्यादा लॉजिक नहीं लगाता अगर डेसीमल हटाने हैं तो वो पूरे के पूरे हटा देगा और सिर्फ वन स्टोर कराएगा तो इस चीज का हमें खास ध्यान रखना है जब भी हम इंटरव्यूज में बैठते हैं और ऐसे कुछ सवाल हमसे पूछ लिए जाते हैं कि सी में आप बताओ या क्लास टेस्ट में मिट सेम में एंड सेम में क्वेश्चन आता है कि इसके आउटपुट में हम क्या लिखेंगे तो हमें अपने डेसिमल्स को कंप्लीट उड़ा देना है नेक्स्ट टॉपिक जिसकी हम बात करेंगे वो है ऑपरेटर प्रेसीडेंट जैसे मैथ के अंदर हमने एक रूल पढ़ा था छोटा सा जिसको हम कहते थे बॉर्ड मास रूल बॉर्ड मास रूल हमारा क्या कहता था पहले ब्रैकेट ओपन कर लो उसके बाद पहले डिवाइड करो फिर मल्टीप्लाई करो फिर ऐड करो फिर सबट क्ट करो तो इस तरीके से मैथ में अगर बहुत सारे ऑपरेशंस दिए हुए हैं तो कौन से ऑपरेशन को पहले करना है कौन से ऑपरेशन को बाद में करना है उसका हमारे पास एक प्रॉपर सीरीज होता था सीक्वेंस होता था वैसे ही सी के अंदर है कौन सा ऑपरेशन पहले परफॉर्म होगा कौन सा ऑपरेशन बाद में परफॉर्म होगा ये सी के कंपाइलर के अंदर पहले से ही हमारे पास डिफाइंड है अब इसमें प्रायोरिटी ऑर्डर को हम प्रेसीडेंट कह देते हैं यानी प्रायोरिटी में जो ऊपर आएगा उसकी प्रेसीडेंट हाई है जो प्रायोरिटी में नीचे आएगा उसकी प्रेसीडेंट लो है तो सबसे पहले प्रायोरिटी में आते हैं हमारे पास मल्टीप्लाई डिवाइड एंड मॉड्यूल ऑपरेटर इन तीनों ऑपरेटर्स की प्रायोरिटी सबसे ऊपर होती है उसके बाद प्रायोरिटी में आते हैं प्लस माइनस उसके बाद प्रायोरिटी में आता है ये इक्वल टू इक्वल टू को c के अंदर हम असाइनमेंट ऑपरेटर भी कहते हैं असाइन करना किसी चीज को यानी किसी चीज को उसको दे देना जैसे अगर हम कहते थे कि स्कूल में जो मॉनिटर बनता था उसको कहते थे कि इसको मॉनिटर वाली जो पोस्ट है वो असाइन हो गई है यानी इसको दे दी गई है तो जब भी कोई वैल्यू हम देते हैं उसको हम कहते हैं असाइनमेंट तो अगर a + b = c हमने लिखा है तो इस a + b की वैल हमने c के अंदर असाइन कर दिया है तो इस तरीके से हम मतलब समझते हैं चीजों का c के अंदर अब एक एग्जांपल अगर देखें x = 4+ 9 * 10 लिखा हुआ है तो इसको हम सॉल्व कैसे करेंगे प्रेसीडेंट देख लेंगे सबसे पहले कि 4+ 9 पहले करना है या 9 * 10 ओबवियसली हमारे मल्टीप्लाई की प्रेसीडें हाई है तो 9 * 10 पहले करेंगे 9 * 10 करेंगे तो 90 आ गया इसमें अब हम फोर को ऐड करेंगे तो फोर को ऐड करेंगे तो हमारा जो ना 94 आंसर है वो x के अंदर जाकर स्टोर हो जाएगा पर अगर हम गलत तरीके से करते तो गलत तरीका करने का क्या होता कि ना को फोर में ऐड कर देते तो 13 हो जाता मल्टीप्ला बाय 10 जिसका आउटपुट आता 130 पर ये एक गलत आउटपुट होता सही आउटपुट है इसका 94 इसको एक बार कोड भी करके देख लेते हैं कि कितना हमने सही किया है इंट ए के अंदर हम स्टोर करेंगे 4 प् 9 इन 10 इसको करते हैं रन और आउटपुट में हमारे पास आया है 94 अब एक और दूसरे तरीके के हमारे पास जो है एक्सप्रेशंस लिखे हो सकते हैं तो यह हमारे पास केस आ गया ऑपरेशंस ऑफ सेम प्रेसीडेंट यानी मल्टीप्लाई की भी उतनी प्रेसीडेंट है और डिवाइड की भी उतनी प्रेसीडेंट है तो पहले कौन सा सॉल्व होगा तो इसके लिए हमारे पास एसोसिएटिविटी रूल आता है ये जो रूल्स है ना ये दिखने में खतरनाक लग रहे होंगे पर बहुत लॉजिकल है इनको अभी रटना नहीं है ये जैसे-जैसे हम डिफरेंट डिफरेंट प्रॉब्लम सॉल्व करेंगे अपने प्रैक्टिस प्रॉब्लम्स भी सॉल्व करेंगे अपने आप आ जाएंगी और बहुत लॉजिकल है समझने में तो बिल्कुल इनके नाम याद करने कि इसको एसोसिएटिविटी कहते थे इसको प्रेसीडेंट कहते थे इतने भारी शब्द बिल्कुल रट्टेड की बिल्कुल अभी जरूरत नहीं है नोट्स आपको पूरे अवेलेबल होंगे उनको आप जाकर कभी भी रिवाइज कर सकते हैं कभी भी एक्सेस कर सकते हैं एसोसिएटिविटी हम यूज करते हैं जब भी हमारे पास आते हैं ऑपरेटर्स ऑफ सेम प्रेसिडेंस सेम प्रेसिडेंस में जैसे अगर हम अपने एग्जांपल की बात करें एसोसिएटिविटी कहता है कि लेफ्ट से राइट कर लो यानी लेफ्ट लेफ्ट से लेकर राइट तक ऑपरेशंस को परफॉर्म करते जाओ अगर सेम प्रेसीडें के है तो जैसे यहां पर मल्टीप्लाई डिवाइड और यह वाला मल्टीप्लाई सेम प्रेसीडें के है तो हम क्या करेंगे लेफ्ट से राइट कैलकुलेट कर लेंगे लेफ्ट से राइट कैलकुलेट करते हैं तो सबसे पहले कैलकुलेट होगा 4 * 3 4 * 3 हो जाएगा हमारा 12 फिर कैलकुलेट होगा 12 / 6 ये बन जाएगा हमारा ू फिर कैलकुलेट होगा 2 * 2 ये बन जाएगा हमारा फर तो सबसे पहले हमने फोर को थ्र से मल्टीप्लाई किया फिर इसके आउटपुट को हमने सिक्स के साथ डिवाइड किया फिर इसके आउटपुट को हमने टू के साथ मल्टीप्लाई किया तो इस तरीके से लेफ्ट से राइट हम चलते चले गए अगर इसको ब्रैकेट फॉर्म में मुझे दिखाना हो तो मैं क्या लिख सकती हूं मैं लिख सकती हूं पहले मल्टीप्लाई कर दो फोर को थ्री से फिर डिवाइड कर दो इसको और फिर इसके बाद मल्टीप्लाई कर दो इसको टू से और फाइनल वैल्यू को x में असाइन कर दो और हमारी फाइनल वैल्यू आई थी हमारे पास फोर इसी का हम कोड लिख लेते हैं कोड में लिखेंगे 4 * 3 / बा 6 * 2 इसको कर लेते हैं सेव तो इस वैल्यू के लिए जो हमारे पास आउटपुट आएगा वो आया है फोर क्योंकि यहां पे एसोसिएटिविटी रूल लगा है लेफ्ट से राइट तक हमारी कैलकुलेशंस होती चली गई अब हमने काफी सारी चीजें पढ़ ली एरिथ मेे िक इंस्ट्रक्शन में तो उनके थोड़े से हम सवाल कर लेते हैं ताकि दिमाग में चीजें सारी की सारी बैठ जाए तो प्रैक्टिस क्वेश्चन फोर करते हैं इन चारों के लिए हमें सवाल सॉल्व करना है सबसे पहले अपने बोर्ड के अंदर सॉल्व करके देखेंगे अपनी स्लाइड्स पे सॉल्व करके देखेंगे उसके बाद क्या क्या करेंगे उसका कोड लिखकर उसको वेरीफाई कर लेंगे अब पहला सवाल है हमारे पास 5 * 2 - 2 * 3 यहां पे मल्टीप्लाई और इस मल्टीप्लाई दोनों की प्रेसीडेंट ऊपर है और माइनस जो है हमें बाद में करना है तो प्रेसीडेंट दोनों की सेम है मल्टीप्लाई की तो क्या करेंगे लेफ्ट वाला रूल लगा देंगे सबसे पहले मल्टीप्लाई करेंगे 5 * 2 को तो इसकी जगह लिख देंगे 10 बीच में है माइनस फिर प्रेसीडें के हिसाब से सॉल्व होना चाहिए 2 * 3 तो 2 * 3 को हमने सॉल्व करके लिख दिया 6 और इन दोनों का आउटपुट हमारे पास आया फोर तो सबसे पहले यह सॉल्व होगा क्योंकि हायर प्रेसीडें में और लेफ्ट में भी आता है फिर यह सॉल्व होगा क्योंकि हायर प्रेसीडें में और लेफ्ट के बाद राइट में आ गया फिर हमारा माइनस सॉल्व होगा तो ये हो जाएगा 10 - 6 = 4 इसी को कोड फॉर्म में लिख लेते हैं कोड में हम लिखेंगे 5 न 2 - 3 * 2 यहां पर लगा देते हैं अपना स्टेटमेंट टर्मिनेटर सेमी जो होता है उसको टर्मिनेटर कहा जाता है टर्मिनेटर हमारा वो एआई मूवी वाला रोबॉट वाला टर्मिनेटर नहीं टर्मिनेटर यानी किसी चीज को रोक देना तो जैसे वो अपोकलिप्टो कने आया था मूवी के अंदर यहां पर यह क्या करता है स्टेटमेंट को वहीं पे रोक देता है तो अब इसको कर देते हैं कंपाइल एंड रन रन करके आउटपुट हमारे पास आया फोर सेकंड प्रॉब्लम है हमारे पास 5 * 2 डिवाइड बा 2 * 3 यहां पर क्योंकि तीन ऑपरेटर्स हैं तीनों की प्रेसीडेंट हाईएस्ट है तो इसमें हम लगाएंगे अपना एसोसिएटिविटी रूल एसोसिएटिविटी रूल क्या कहता है लेफ्ट से राइट भैया कैलकुलेट कर लो तो 5 * 2 को सबसे पहले कैलकुलेट करेंगे आ गया हमारे पासस 10 फिर 10 डिवाइड बा 2 को कैलकुलेट करेंगे आ गया हमारे पास 5 अब इसका आउटपुट आया 5 इसको मल्टीप्लाई कर लेंगे ्र के साथ तो आउटपुट हमारे पास आएगा 15 इसको वेरीफाई भी कर लेते हैं हम आउटपुट लिखेंगे इसको कर लेते हैं डिवाइड कंपाइल रन सिक्स इसलिए आया है क्योंकि यहां पर 3 मल्ला बा 2 हमने लिख दिया ये एक्चुअली होना चाहिए था 2 मल्ला बा 3 इसको कर लेते हैं कंपाइल एंड रन आउटपुट में हमारे पास आया 15 थर्ड जो प्रॉब्लम है उसमें है 5 मड बा 2 / 2 म 3 अब इसको कैसे सॉल्व करना है क्योंकि ब्रैकेट तो दीदी हम पहली बार देख रहे हैं तो जब भी ब्रैकेट आता है ना सबसे पहले ब्रैकेट के अंदर की चीज को सॉल्व करने है ये सिंगल चीज है जो वर्ड मैस के साथ मैच करती है कि ब्रैकेट आए तो पहले ब्रैकेट ओपन कर लो तो ब्रैकेट के अंदर की चीज सबसे पहले सॉल्व होगी यानी ये एक्सप्रेशन हमारे पास बन जाएगा 5 मल बा 1 मल्ला बा 3 अब क्या करेंगे अब दो ऑपरेशंस बच गए ये मल्टीप्लाई और ये मल्टीप्लाई दोनों की प्रेसीडेंट सेम है तो एसोसिएटिविटी रूल लगा दो तो ये बन जाएगा हमारे पास 5 * 3 यानी 15 इसका भी आउटपुट 15 आना चाहिए तो यहां पर हल्का सा चेंज कर लेते हैं एक ब्रैकेट लगा लेते हैं इसको कर लेते हैं सेव आउटपुट में आएगा 15 और जो लास्ट सवाल है इसके अंदर वह यह है 5 + 2 / 2 * 3 इसमें क्या चीज़ होगी इसमें हमारे पास तीन ऑपरेशंस हैं सबसे पहले है एडिशन फिर है डिवाइड फिर है मल्टीप्लाई अब हायर प्रेसीडेंट किसकी हायर प्रेसीडेंट है डिवाइड और मल्टीप्लाई की दोनों की सेम प्रेसीडेंट है तो लगा देंगे लेफ्ट एसोसिएटिविटी लेफ्ट एसोसिएटिविटी से यह किसमें कन्वर्ट हो जाएगा 5 प् सबसे पहले कर देंगे 2 / 2 फिर कर देंगे मल्टीप्ला बा 3 फिर उसको ऐड कर देंगे फाइव से तो ये हो जाएगा 5 प् अंदर वाला एक्सप्रेशन बन गया 1 * 3 उसके बाद करेंगे 5 + 3 और ये बन जाएगा हमारे पास 8 अब इसी को सेम आउटपुट में कर लेते हैं एक्सप्रेशन हमारे पास था 5 + 2 डिवाइड बा 2 ल्ड बा 3 इसको कर लेते हैं सेव और रन करेंगे आउटपुट में हमारे पास आया एट तो इस तरीके के जो सवाल हैं ये आपके एमसीक्यू में भी पूछ लिए जाएंगे प्लेसमेंट टाइम पे या फिर आपसे अपने स्कूल के कॉलेज के टेस्ट के अंदर पूछ लिए जाएंगे तो सवाल का जवाब किस तरीके से करना है अगर थ्योर पेपर है तो उसमें एक्चुअली सॉल्व करके दिखाना है कि लेफ्ट एसोसिएटिविटी लगेगी कैसे कौन सी चीज पहले सॉल्व होगी बेस्ट इसको करने का तरीका है अपनी सुविधा के लिए आप ये पैरेंस लगा लें ब्रैकेट्स लगा लें तो पता चल जाएगा कौन सी चीज पहले सॉल्व करनी है कौन सी चीज बाद में सॉल्व करनी है और अगर कोड में लिखना है तो कोड में तो ऑटोमेटिक सी का कंपाइलर कर ही लेगा तो काफी आसान है इन चीजों को करना जैसे बॉर्ड मास का रूल होता है होता है वैसे यह भी रूल होता है थोड़े से चार पांच सवाल होमवर्क प्रॉब्लम्स और हम कर लेंगे तो उसके बाद चीजें काफी क्लियर हो जाएंगी नेक्स्ट जिस टॉपिक की हम बात करेंगे वो है हमारी कंट्रोल इंस्ट्रक्शंस अब शुरुआत में हमने पढ़ा था कि इंस्ट्रक्शंस तीन टाइप की होती है टाइप डिक्लेरेशन हमने पढ़ लिया कि वेरिएबल को पहले डिक्लेयर करना है फिर यूज़ करना है सेकंड हमने पढ़ लिया एरिथ मेे िक इंस्ट्रक्शन जिसके अंदर मॉड्यूल हमने नया सीखा हमने टाइप कन्वर्जन सीखा हमने प्रेसीडेंट सीखी अब हम पढ़ने वाले हैं कंट्रोल इंस्ट्रक्शंस कंट्रोल इंस्ट्रक्शंस वो इंस्ट्रक्शंस होती हैं जो डिटरमिन करती हैं हेल्प करती हैं बताने में हमारा फ्लो ऑफ प्रोग्राम अभी तक हमने क्या पढ़ा था सीक्वेंस में इंस्ट्रक्शंस चल रही थी एक कोड लिखा हु है उसमें पहली स्टेटमेंट पहले एग्जीक्यूट होगी यानी ये वाली स्टेटमेंट पहले एग्जीक्यूट होगी उसके बाद ये स्टेटमेंट एग्जीक्यूट होगी उसके बाद ये स्टेटमेंट एग्जीक्यूट होगी लेकिन कुछ ऐसी स्टेटमेंट होती है सीके कोड के अंदर जो फ्लो चेंज कर सकती हैं हो सकता है हमारी नीचे वाली स्टेटमेंट पहले एग्जीक्यूट हो और ऊपर वाली बाद में हो ये जो स्टेटमेंट्स होती है ना जो फ्लो को अल्टर करने की चेंज करने की पावर रखते हैं इनको हम कहते हैं कंट्रोल इंस्ट्रक्शंस जो कंट्रोल कर सकती है फ्लो ऑफ इंस्ट्रक्शंस इन अ प्रोग्राम अब ये चार टाइप्स की होती है इनमें से सबसे पहली होती है सीक्वेंस कंट्रोल सीक्वेंस कंट्रोल इंस्ट्रक्शंस वो होती हैं जो सीक्वेंस वाइज चलती रहती है यानी एक के बाद एक के बाद एक अगर हमारा फ्लो बनता है तो उनको हम सीक्वेंस कंट्रोल इंस्ट्रक्शंस कहते हैं जैसे हमने अभी तक सीखते आए हैं जिनको हम ये सारी की सारी हमारी सीक्वेंस कंट्रोल इंस्ट्रक्शंस है सेकंड टाइप ऑफ कंट्रोल इंस्ट्रक्शन हमारे पास होती है डिसीजन कंट्रोल सजन कंट्रोल में हम पढ़ेंगे इफ एल्स के बारे में यह वो इंस्ट्रक्शंस है जिनके बारे में हम आने वाले चैप्टर्स के अंदर पढ़ने वाले हैं क्योंकि बहुत डिटेल में इनको डिस्कवर करना होता है और यह सारी की सारी मिलाकर हमारी सी प्रोग्रामिंग के बेसिक्स फॉर्म करती हैं तो डिसीजन कंट्रोल के अंदर हम आगे इफल्स वाला टॉपिक पढ़ेंगे लूप कंट्रोल के अंदर हम जो डिफरेंट डिफरेंट लूप्स होते हैं सी के अंदर जैसे हमारा फॉर लूप हो गया हमारा वाइल लूप हो गया डिफरेंट लूप पढ़ेंगे यानी किसी काम को अगर हमें बार-बार बार बार बारबार करना होता है सेम कुछ लाइंस को यूज करके उसमें हम लूप कंट्रोल इंस्ट्रक्शन यूज करते हैं जब हमें कोई डिसीजन लेना होता है कि आज बारिश हो रही है तो छाता लेकर जाना है या नहीं जाना सूरज है और संडे है तो आज हम खुश होंगे या नहीं होंगे ऐसे कुछ-कुछ डिसीजंस होते हैं इनको जब भी हम कोड में लिखते हैं वो लिखते हैं डिसीजन कंट्रोल इंस्ट्रक्शंस की हेल्प से उसके बाद लास्ट आती है हमारे पास केस कंट्रोल इंस्ट्रक्शन जिसके अंदर कुछ-कुछ केसेस के हिसाब से हम अलग-अलग चीजें करते हैं जैसे अगर मंडे टू फ्राइडे है तो काम पे जाना है और संडे आ गया तो फिर काम पर नहीं जाना फिर हमें घर पे बैठ के रेस्ट लेना है इस पूरे एक फ्लो को हमें कोड में कैसे दिखा सकते हैं वेरिएबल की हेल्प से और केसेस की हेल्प से कि कौन से दिन में काम पे जाना है कौन से दिन में घर पे रहना है तो उन स्टेटमेंट्स का जब भी हम लिख रहे होते हैं उन इंस्ट्रक्शंस को उनको हम केस कंट्रोल के अंदर डालते हैं इन तीनों को हम आने वाले चैप्टर्स के अंदर पढ़ेंगे सीक्वेंस कंट्रोल हम ऑलरेडी पढ़ चुके हैं इसके साथ नेक्स्ट टॉपिक इसी चैप्टर के अंदर जिसकी हम बात करेंगे वो है हमारे ऑपरेटर्स अब ऑपरेटर्स हमने ऑलरेडी बेसिक देख लिया है एरिथ मेे िक ऑपरेटर्स क्या होते थे एरिथ मेे ऑपरेटर्स की कैटेगरी में हमारे पास आ गया था प्लस माइनस मल्टीप्लाई डिवाइड ये मल्टीप्लाई ये डिवाइड और मॉड्यूल तो ये पांच मेजर एरिथ मेे िक ऑपरेटर्स हम ऑलरेडी पढ़ चुके हैं अब c के अंदर और भी डिफरेंट टाइप्स ऑफ ऑपरेटर्स होते हैं हमारे पास रिलेशनल ऑपरेटर्स होते हैं जो दो ऑपरेंट के बीच का रिलेशन बताते हैं हमारे पास लॉजिकल ऑपरेटर्स होते हैं जो दोनों के बीच में लॉजिकल चीज निकाल के लेकर आते हैं फिर बिट वाइज ऑपरेटर्स भी होते हैं अभी हमने बात की थी कि मशीन लैंग्वेज के अंदर मशीन कोड के अंदर सब कुछ जीरोज और वनस की फॉर्म में होता है और उन जीरोज और वंस के बीच में अगर हम ऑपरेशन करते हैं उसको बिट वाइज ऑपरेशन कह देते हैं फिर असाइनमेंट ऑपरेटर्स भी होते हैं फिर एक होता है टरनरी ऑपरेटर ये हमारा कंडीशनल ऑपरेटर होता है यानी अगर किसी कंडीशन के हिसाब से हमें कोई चीज करनी है और दूसरी चीज नहीं करनी वो हम टरनरी ऑपरेटर की हेल्प से भी लिख सकते हैं उसको इफल्स की हेल्प से भी लिखा जाता है इसकी हेल्प से भी लिखा जाता है मेजर इसमें समझने वाली चीज है रिलेशनल और लॉजिकल और असाइनमेंट यह तीनों इनमें से सबसे इजी है एरिथ मेे िक के बाद इनको हम अभी पढ़ लेंगे टरनरी ऑपरेटर को नेक्स्ट चैप्टर में हम पढ़ेंगे जब भी हम कंडीशनल स्टेटमेंट्स पढ़ रहे होंगे और बिट वाइज ऑपरेटर्स को हम आने वाले चैप्टर्स में पढ़ेंगे तो सबसे पहले बात करते हैं अपने रिलेशनल ऑपरेटर्स की अब रिलेशनल ऑपरेटर्स दो ऑपरेंट के बीच का रिलेशन बताते हैं मैथ के अंदर जब भी हम लिखते हैं ना कि a = b हमें चेक करना हो कि a b के इक्वल है क्या वो हम c के अंदर ऐसे का ऐसा नहीं नहीं लिख सकते c के अंदर अगर कहीं लिख देंगे a = b तो इसका मतलब हो जाएगा b की वैल्यू को उठाकर a में डाल दो वो तो इक्वलिटी चेक करना नहीं हुआ तो जब भी चेक करना होता है कि a की वैल्यू मतलब एक वैल्यू किसी दूसरी वैल्यू के इक्वल है क्या तो हम लगाते हैं डबल इक्वल टू a इ इ = b का मतलब है कि हम यहां पर पूछ रहे हैं क्वेश्चन कर रहे हैं कि a की वैल्यू b की वैल्यू के इक्वल है क्या और a = b का मतलब है कि b की वैल्यू को a में डाल रहे हैं तो जब भी हम रिलेशनल ऑपरेटर्स की बात करते हैं रिलेशन चेक करने की बात करते तो हम इसको यूज कर रहे होंगे यानी डबल इक्वल टू को अगर अपने कोड में हम लिखना चाहे आउटपुट करवाते हैं यहां पर लिखेंगे a इक्वल टू इक्वल टू या a डिफाइंड नहीं है तो 4 इक्व टू इक्वल टू 4 अगर हम लिखे इसको कर लेते हैं सेव और उसको रन करते हैं तो हमारे पास आउटपुट में आएगा वन ये वन क्या दिखाता है वन कहता है ट्रू है स्टेटमेंट यानी 4 = इ 4 रिटर्न कर रहा है ट्रू यानी सही बता रहा है सी कंपाइलर पर अगर यहां ते 4 = = 3 तो इस केस में हमारे पास वन नहीं प्रिंट होता इस केस में प्रिंट होता रो यानी 4 = = ू 3 फॉल्स रिटर्न कर रहा है गलत है तो सी एक स्पेशल लैंग्वेज है जिसके अंदर ट्रू फॉल्स नहीं होते ट्रू फॉल्स की जगह ट्रू की जगह हमारे पास होता है वन और फाल्स की जगह हमारे पास होता है रो इनफैक्ट कोई भी नॉन जीरो इंटी जर अगर c के अंदर हम लिख दें जैसे 2 3 4 5 6 7 -1 -5 ये सारे के सारे रिप्रेजेंट करते हैं ट्रू को पर अगर जहां जीरो आ गया उसका मतलब फाल्स होता है स के अंदर तो जो स्टूडेंट्स जो जावा सीखने के बाद सी सीख रहे हैं c+ प्स के बाद जावास्क्रिप्ट के बाद उन्हें ये थोड़ा सा अजीब लगेगा कि सी के अंदर ट्रू फॉल्स जैसा कुछ नहीं होता वन होता है ट्रू की जगह और जीरो होता है फाल्स की जगह तो अगर इक्वल टू इक्वल टू में वन प्रिंट हुआ तो मतलब ट्रू है स्टेटमेंट और फाल्स प्रिंट हुआ तो हमारे पास आएगा स्क्रीन पर जीरो वहीं पर दूस दूसरा रिलेशन जो हम चेक करते हैं वो होता है ग्रेटर देन का या ग्रेटर दन इक्वल टू का जैसे अगर हम 3 ग्र दन 4 लिखें ये रिटर्न करेगा रो क्योंकि फाल्स है 3 तो ग्रेटर दन 4 होता नहीं पर अगर हम 4 ग्र दन 3 करें ये रिटर्न करेगा हमारे पास ट्रू पर अगर हम 4 ग्रेटर दन 4 कर दें ये रिटर्न करेगा रो क्योंकि फोरर इज नॉट ग्रेटर दन 4 लेकिन 4 ग्रेटर दन इक्वल टू 4 करें तो ये रिटर्न करेगा वन तो ये कुछ-कुछ केसेस होते हैं जिनके हिसाब से हम आउटपुट अपना प्रोड्यूस कराते हैं इनको कोड में करके देख लेते 4 ग्रेटर 3 अगर लिखा तो आउटपुट में आया न पर यहीं पर अगर 3 ग्रेटर दन 4 हमने लिख दिया तो आउटपुट में अब आना चाहिए जीरो यानी फॉल्स अगर हमने 3 ग्रेटर दन 3 लिखा तो आउटपुट में आएगा जीरो क्योंकि थ इज नेवर ग्रेटर दन 3 पर अगर हमने 3 ग्रेटर दन इक्वल टू कर दिया तो ग्रेटर देन तो चेक करेगा इक्वल टू भी चेक करेगा इस केस में आउटपुट आएगा हमारे पास 1 तो यह ग्रेटर दन और ग्रेटर दन इक्वल टू हो गया थर्ड रिलेशनल ऑपरेटर जिसकी हम बात करेंगे यह है हमारा लेस दन इक्वल टू लेस दन और लेस दन इक्वल टू सेम केसेस रहेंगे 3 इज लेन 4 इसमें रिटर्न करेगा ट्रू 4 इज लेन 3 इसमें रिटर्न करेगा फाल्स 3 इज लेसन 3 इसमें रिटर्न करेगा 0 और 3 इज लेन इक्व 3 इसमें रिटर्न करेगा वन यानी ट्रू इनके भी केसेस बना लेते हैं इज ग्रेटर दन इक्वल टू कर देते हैं लेसन इक्वल टू तो लेस दन इक्वल टू में हमारे पास प्रिंट होगा ट्रू अगर सिर्फ लेस दन किया तो उस केस में हमारे पास प्रिंट होगा रो अगर 4 < 3 किया इस केस में प्रिंट होगा फॉल्स क्योंकि ये गलत स्टेटमेंट है यानी रो और अगर किया हमने 4 लेसन 5 इस केस में प्रिंट होगा ट्रू तो कुछ इस तरीके से हमारी रिलेशनल स्टेटमेंट्स काम करती हैं अब एक लास्ट स्पेशल रिलेशनल ऑपरेटर हमारे पास है जिसको हम कहते हैं नॉट इक्वल टू इसका नाम हम रखते हैं नॉट इक्वल टू इसको हम कहते थे इक्वल टू जब भी इक्वल होंगी दो वैल्यूज यह वन रिटर्न करेगा जब भी नहीं होंगी जीरो रिटर्न करेगा जब भी इक्वल नहीं होंगी दो वैल्यूज तब यह वन रिटर्न करेगा और जब भी इक्वल होंगी तब यह जीरो रिटर्न करेगा यानी यह दोनों एक दूसरे के ऑपोजिट्स है जैसे अगर हम अपनी स्टेटमेंट में लिखना चाहे फर इज नॉट = 4 और वहीं पर हम प्रिंट करवाना चाहे 4 = ू = 4 जब भी हम एक्सक्लेमेशन मार्क लगा देते हैं सी के अंदर प्रोग्रामिंग के अंदर तो उसको हमेशा नॉट की तरह हमें पढ़ना होता है जहां भी एक्सक्लेमेशन आया मतलब नॉट नॉट नॉट तो नॉट ऑपरेटर जो होता है अलग से एक ऑपरेटर होता है अभी यह जो है व कंप्लीट है नॉट इक्वल टू इन दोनों के बीच में हम स्पेस नहीं दे सकते इन दोनों को हमें साथ में लिखना होता है अब आउटपुट एक बार एनालाइज कर हैं फर्स्ट स्टेटमेंट का आउटपुट आया जीरो यानी फाल्स फोर इज नॉट इक्वल टू 4 इस स्टेटमेंट में हम कह रहे हैं कि चार चार के इक्वल नहीं होता ओबवियसली एक फॉल्स स्टेटमेंट है इसलिए प्रिंट हुआ जीरो सेकंड स्टेटमेंट में कह रहे हैं चार चार के इक्वल ही होता है तो इसीलिए प्रिंट हुआ वन अब यहीं पर अगर हम कह देते कि चार तीन के इक्वल नहीं होता या हम कह देते कि चार तीन के इक्वल होता है इसमें फर्स्ट स्टेटमेंट में तो प्रिंट होगा हमारे पास वन क्यों क्योंकि हम सही कह रहे हैं कि चार तीन के इक्वल होता ही नहीं है और सेकंड स्टेटमेंट में प्रिंट होगा फाल्स क्योंकि हम कह रहे हैं चार तीन के इक्वल होता है जो कि ऑब् वियस फॉल्स है तो प्रिंट होगा ज़ीरो तो इस तरीके से जब भी इक्वल टू चेक करना है तो दो इक्वल टू लगाएंगे जब भी नॉट इक्वल टू चेक करना है तो एक्सक्लेमेशन मार्क के साथ इक्वल टू को हम नॉट इक्वल टू कहते हैं नेक्स्ट टाइप ऑफ ऑपरेटर जिसकी हम बात करेंगे वो है हमारे लॉजिकल ऑपरेटर्स कभी-कभी ऐसा होता है c के अंदर कि हमें लॉजिक चेक करना होता है चीजों का जैसे लॉजिकल स्टेटमेंट को हम किन केसेस में यूज़ कर सकते हैं मान लेते हैं हमने c को यूज़ करके एक सिस्टम बनाया है कोडिंग वाला सिस्टम जिसके अंदर हम उसके मार्क्स फीड कर रहे हैं और अगर हम कहते हैं कि उसके मार्क्स अगर 30 से ज्यादा है और 90 से कम है तो तो उसको ग्रेड दे दो a और 90 से अगर ऊपर है या 100 और 90 के बीच में तो फिर उसको ग्रेड दे दो a प् अगर ऐसे हमें केसेस चेक करने हैं तो हमें चेक करना पड़ेगा कि मार्क्स 90 से ऊपर भी हो और 100 से नीचे भी हो यहां पे चेक करना पड़ेगा मार्क्स 30 से ऊपर भी हो और 90 से नीचे भी हो तभी a देना पड़ेगा तो जब दो कंडीशंस एक साथ चेक करनी हो या दो कंडीशंस में से मान लो कोई एक ट्रू है जैसे आज अगर कोई नेशनल हॉलीडे है या फिर आज संडे है तभी हम बाहर घूमने जाएंगे दोनों में से कोई भी एक चीज ट्रू हो गई तो फिर हमें काम करना पड़ेगा अगर दोनों ही ट्रू है तो तो करना ही है दोनों में से एक भी ट्रू है तब भी करना है तो ऐसे कुछ-कुछ केसेस होते हैं ना रियल लाइफ केसेस जिनको हम कोड में डालना चाहते हैं तब हमारे लॉजिकल ऑपरेटर्स हमारे काम आते हैं सबसे पहला लॉजिकल ऑपरेटर है एंड ऑपरेटर इसको हम एंड भी कहते हैं इसके अंदर हम दो एंड लगाते हैं अगर आप ध्यान से देखें तो m पर m पर सिंगल एंड अगर हम लिखेंगे तो ये बिट वाइज ऑपरेटर होता है जिसको हमें यहां पर नहीं लिखना दो एंड हमेशा लिखेंगे तो वो लॉजिकल ऑपरेटर होगा इसको हम कैसे यूज़ कर सकते हैं जैसे मान लो हम फर्स्ट स्टेटमेंट लिखते हैं 4 इ > 3 ये क्या देगी हमें ये देगी वन यानी ट्रू और हम दूसरी स्टेटमेंट लिखते हैं 5 इज ग्रे द 2 ये स्टेटमेंट भी हमें वन देगी यानी ट्रू देगी अगर इन दोनों स्टेटमेंट्स को हम चाहते हैं दोनों स्टेटमेंट जब ट्रू हो तभी हमारे पास फाइ फाइनल आउटपुट ट्रू आए तो इन दोनों के बीच में हम लगा देंगे एंड तो ये ट्रू होगा और ये ट्रू होगा तभी आउटपुट ट्रू आएगा पर इनमें से अगर एक भी ट्रू नहीं है यानी यहां पर हमारे पास आ जाता है 2 इज ग्रेटर दन 5 तो ये दे देगा जीरो यानी फॉल्स तो आउटपुट हमारे पास फॉल्स आएगा एंड के लिए जरूरी है कि फर्स्ट स्टेटमेंट और सेकंड स्टेटमेंट या जितनी भी हम स्टेटमेंट्स के बीच में एंड लगा रहे हैं वो सारी की सारी ट्रू हो नहीं तो फाल्स आउटपुट आ जाएगा जैसे इसका आउटपुट अगर हम देखें तो यहां पर हम लिख सकते हैं 4 इ ग्र द 3 एंड एंड 5 इ ग्रे द 2 तो ये दोनों स्टेटमेंट्स हमारी सच है यानी 4 भी ग्रेटर दन 3 है और 5 भी ग्रेटर दन टू है तो ट्रू और ट्रू का जो एंड होगा वो हमारे पास ट्रू आएगा लेकिन यहां पर एक भी हम फाल्स बना दें यानी यहां पर लिख दें 3 इज ग्रेटर दन फॉल्स फर तो यहां पर जो आउटपुट हमारे पास आएगा वो आएगा रो ये स्टेटमेंट तो सच है हमारी 5 ग्र 2 पर ये एक फॉल्स हो गई जहां भी फॉल्स हो गई मतलब पूरा फॉल्स हो गया अगर एंड लगाया है तो दोनों फॉल्स होंगे तब भी फॉल्स है दोनों में से एक फॉल्स होगा तब भी फॉल्स है दोनों ट्रू होंगे तभी ट्रू प्रिंट होगा तो इसकी हम टेबल भी बनाते हैं कभी-कभी एक दो आपके सब्जेक्ट होते हैं इलेक्ट्रॉनिक्स के अंदर भी कंप्यूटर साइंस के अंदर भी आईटी के अंदर भी जहां पर ये तीनों लॉजिकल ऑपरेटर्स की एक टेबल बनती है और अगर आपने लॉजिक गेट्स पढ़े होंगे कॉलेज के अंदर तो आपको समझ आएगा कि हम किसके बारे में बात कर रहे हैं अगर नहीं पढ़े तो अगले वाले सेमेस्टर्स में शायद आप पढ़ रहे होंगे तो टेबल ये बनती है कि फर्स्ट एक्सप्रेशन और सेकंड एक्सप्रेशन हमारे पास अगर कुछ इस तरीके के क्यों तो फाइनल आउटपुट क्या आएगा फर्स्ट एक्सप्रेशन ट्रू है सेकंड भी ट्रू है तो आउटपुट में आएगा ट्रू अगर हम एंड की बात कर रहे हैं फर्स्ट ट्रू है सेकंड फॉल्स है तो आउटपुट में आएगा फॉल्स फर्स्ट फॉल्स है सेकंड ट्रू है तो आउटपुट में आएगा फॉल्स फर्स्ट फॉल्स है सेकंड भी फॉल्स है तो भी आउटपुट में आएगा फॉल्स तो ये छोटी सी टेबल है जिससे हम हल्का सा विजुलाइज कर सकते हैं कि किस तरीके से हमारे आउटपुट्स आते हैं जब भी हम लॉजिकल एंड की बात करते हैं नेक्स्ट हम बात करने वाले हैं लॉजिकल र की और में हमारे कीबोर्ड के अंदर पाइप वाला एक सिंबल होता है यानी एक स्ट्रेट लाइन का सिंबल होता है इसको जब हम दो बार लिख देते हैं तो वो हमारा लॉजिकल और ऑपरेटर बन जाता है अब सिंगल पाइप भी एक ऑपरेटर होता है वो बिट वाइज र होता है यहां पर हम बात कर रहे हैं लॉजिकल र की लॉजिकल र क्या करता है दो स्टेटमेंट या तीन स्टेटमेंट या जितनी भी स्टेटमेंट अगर हम दे दें और सबके बीच में लॉजिकल और लगा दें तो उनमें से अगर एक भी ट्रू हो जाए तो फिर आउटपुट हमारे पास ट्रू आएगा बाकी सारी चाहे फॉल्स हो पर एक भी ट्रू होगी तो आउटपुट ट्रू आएगा नहीं तो सारी फॉल्स तो आउटपुट फॉल्स आएगा तो इसका अगर कोड लिखकर देखें तो सबसे पहले हमारे पास है 3 ग्र द 4 जो कि एक फॉल्स स्टेटमेंट है यहीं पर अगर हम और लगा दें और लिख दें और 5 ग्र द 2 तो यहां पर ये स्टेटमेंट फॉल्स है ये स्टेटमेंट ट्रू है तो इसका आउटपुट एंड में तो हमारे पास फाल्स आया था पर और में हमारे पास ट्रू आ जाएगा तो इसकी भी अपनी एक टेबल बन सकती है टेबल में अगर हम ले फर्स्ट और सेकंड एक्सप्रेशन और उसके बाद फाइनल आउटपुट को एनालाइज करें तो यहां पर अगर ट्रू ट्रू दिए होंगे तो आउटपुट में ट्रू आएगा ट्रू फॉल्स दिए होंगे तो आउटपुट में ट्रू आएगा फॉल्स ट्रू दिया होगा तो भी आउटपुट में ट्रू आएगा लेकिन दोनों फॉल्स होंगे तभी हमारे आउटपुट में फॉल्स आ रहा होगा तो ये हमारा है लॉजिकल ऑर इसके अलावा एक और स्पेशल ऑपरेटर होता है जो होता है हमारा लॉजिकल नॉट ऑपरेटर लॉजिकल नॉट ऑपरेटर कहता है कि अगर ट्रू दिया है तो उसको फॉल्स कर दो फॉल्स दिया है तो उसको ट्रू बना दो यानी जो भी हमें दिया हुआ है एक्सप्रेशन के अंदर उसको उल्टा कर देना है चाहे वो कुछ भी हो जैसे अगर एक एक्सप्रेशन है 3 > 4 हमें पता है यह फॉल्स देगा पर इसके आगे नॉट लगा दिया तो यह ट्रू दे देगा वहीं पर अगर दूसरा एक्सप्रेशन है 5 > 1 हमें पता है यह ट्रू देगा पर वहीं पर नॉट लगा दिया तो यह फॉल्स दे देगा तो इस तरीके से जब भी एक्सप्रेशन के आउटपुट को उल्टा करना होता है फ्लिप करना होता है तो हम नॉट लगा देते हैं यहां पर देखते हैं हमें पता है कि 5 > 1 हमें देगा ट्रू पर आगे इसके नॉट लगा दिया तो आउटपुट में हमारे पास आएगा फाल्स यानी ज़ीरो अगर दो एक्सप्रेशंस की भी बात करें यानी 5 ग्र 1 जो है यह हमें देगा ट्रू और और या यहां पर लगा देते हैं एंड एंड 3 ग्र 4 इसका आउटपुट अगर हम गेस करने निकले 5 ग्र द 1 देगा ट्रू 3 ग्र 4 देगा फॉल्स दोनों के बीच में लगा है एंड एक ट्रू है एक फॉल्स है तो आउटपुट में आएगा फॉल्स लेकिन इस सब के बाहर हमने नॉट लगा दिया तो फाल्स की जगह हमारे पास प्रिंट होने वाला है ट्रू यहां पर एक और ब्रैकेट लगा देते हैं आउटपुट में में हमें पता है हमारे पास ट्रू प्रिंट होकर आना चाहिए तो प्रिंट हुआ है ट्रू यानी वन तो कुछ इस तरीके से हमारे लॉजिकल ऑपरेटर्स काम करते हैं इन लॉजिकल ऑपरेटर्स की जो एक्चुअल इंपॉर्टेंस है ना वो हम नेक्स्ट चैप्टर में सीखेंगे जब हम कंडीशनल स्टेटमेंट्स की बात करेंगे जब भी इफ एल्स वाले कंडीशनल स्टेटमेंट्स हम लिखते हैं तो उसके अंदर कंडीशन डालनी होती है कि वो कंडीशन ट्रू है या फॉल्स है तो वहां पर इन एक्सप्रेशंस को हम सबसे ज्यादा यूज़ कर रहे होंगे अब यहां पर हमारे पास एक सवाल आता है कि सिंगल एक्सप्रेशन के अंदर हम कुछ एरिथ मेे िक ऑपरेटर्स भी लिख सकते हैं एरिथ मेे ऑपरेटर्स जैसे सिंगल एक्सप्रेशन में हम लिख सकते हैं a + b - c + d * e इस तरीके से और सिंगल एक्सप्रेशन के अंदर हम उनको कंपेयर भी कर सकते हैं यानी इस वैल्यू को ग्रेटर द 4 * 3 * 5 इस तरीके की वैल्यू को हम फिर एंड एंड कर सकते हैं 4 > 2 तो इतना लंबा हम एक एक्सप्रेशन लिख सकते हैं जिसके अंदर एरिदमेटोसस हमारे रिलेशनल ऑपरेटर्स आ रहे होंगे तो फिर इनमें प्रेसीडेंट कैसे डिसाइड होती है तो इनका भी अपना एक ऑपरेटर प्रेसीडेंट ऑर्डर होता है जिसमें प्रायोरिटी वाइज प्रेसीडेंट होती है सबसे हायर प्रेसीडेंट जो दी जाती है वो दी जाती है हमारे नॉट ऑपरेटर को जहां भी नॉट ऑपरेटर आ गया सबसे पहले नॉट करना है उसके बाद बाकी सारी चीजें करनी है उसके बाद मल्टीप्लाई डिवाइड मॉड्यूल को फिर प्लस माइनस आ जाते हैं फिर आ जाते हैं हमारे रिलेशनल ऑपरेटर्स फिर आ जाते हैं रिलेशनल ऑपरेटर्स में इक्वल टू और नॉट इक्वल टू फिर आते हैं हमारे लॉजिकल ऑपरेटर्स जिसमें सबसे पहले देखा जाता है एंड कैसे होगा फिर देखा जाता है और कैसे होगा फिर आ जाता है इक्वल टू यानी असाइनमेंट ऑपरेटर पहले ऊपर वाली सारी चीजें हो जाएंगी फिर लेफ्ट हैंड साइड में जाके जो भी लिखा होगा उसमें हम असाइन कर देंगे वैल्यू को तो कुछ इस तरीके से प्रेसीडेंट रहता है इसको भी याद करने की जरूरत नहीं है मेजर चीजें जो इसमें याद रखनी है वो ये है कि सबसे पहले नॉट को किया जाएगा रिलेशनल ऊपर आते हैं लॉजिकल नीचे आते हैं तो इस तरीके से हम रखेंगे बाकी जब भी आपको कैलकुलेशन में रेफर करना पड़े आप इन सेम नोट्स को जाकर रेफर कर सकते हैं अब इसके बाद एक और ऑपरेटर का टाइप हम पढ़ लेते हैं यह काफी आसान ऑपरेटर है सबसे आसान ऑपरेटर जो होने वाले हैं हमारे असाइनमेंट ऑपरेटर असाइन करना हम ऑलरेडी पढ़ चुके हैं इक्वल टू क्या करता है a इ b है तो b की वैल्यू को a में डाल देगा c = d है तो d की वैल्यू को c में डाल देगा e = f + g - h है तो इस पूरे एक्सप्रेशन की वैल्यू को e में डाल देगा ये होता है असाइनमेंट ऑपरेटर का काम उसके बाद हमारा प्लस इक्वल टू वाला ऑपरेटर होता है ये बेसिकली हमारे शॉर्ट हैंड ऑपरेटर है क्या है शॉर्ट हैंड ऑपरेटर्स यह क्या करते हैं मुश्किल लंबी लंबी जो स्टेटमेंट होती है ना उसको छोटा करने के तरीके बताते हैं जैसे अगर हमने लिखा है a = a प् बी अगर हम अपने कोड में इस चीज को लिखें इंट a = 1 इंट बी = 4 और हम लिखना चाहते हैं इंट या a = ए प् बी तो यहां पर क्या आना चाहिए b है 4 a है व तो 1 प् 4 होगा 5 तो a की वैल्यू अब फ बन जाएगी इसको प्रिंट भी कराकर हम टैली कर सकते हैं आउटपुट में आएगा फाइव तो a की वैल्यू फाइव बन गई क्योंकि फोर और वन को मिलाकर फाइव हो गया अब हम नोटिस करेंगे लेफ्ट में भी a लिखा हुआ है राइट में भी a लिखा हुआ है जब लेफ्ट और राइट में सेम एक्सप्रेशन होता है ना यानी सेम वेरिएबल लिखा होता है तो उसको हम छोटा कर सकते हैं छोटा कैसे कर सकते हैं इस a = a + b को हम लिख सकते हैं a प् इक्वल टू b तो यहां पर प्लस इक्वल टू ने रिप्लेस कर लिया है इक्वल टू a को तो इस तरीके से हम बार-बार बार-बार जब भी सेम वेरिएबल को लेफ्ट में और राइट में यूज करते हैं तो हम इक्वल टू को रिप्लेस कर सकते हैं प्लस इक्वल टू से तो वो ऑपरेशन परफॉर्म हो जाएगा जैसे यहां पर अगर हम स्टेटमेंट लिखें a + = b और फिर इसकी वैल्यू को चेक करें तो सेम आउटपुट हमारे पास आएगा व्हिच इज अब जो सेम चीज हमने प्लस के साथ की वो मल्टीप्लाई के साथ भी कर सकते हैं यहां पर अग लिख दिया मल्टीप्लाई इक्वल टू तो क्या होगा 4 * 1 दोनों मल्टीप्लाई हो जाएंगे आउटपुट में फर आएगा वहीं पर माइनस लिख दिया तो माइनस में क्या होगा इस स्टेटमेंट का मतलब है a = a - b तो a है 1 b है 4 1 - 4 - 3 आ जाएगा तो a में हमारे पास प्रिंट होकर आना चाहिए -3 इसको टैली कर लेते हैं आउटपुट में आया -3 तो इस तरीके से जब भी एक्सप्रेशंस को छोटा करना हो क्योंकि हम लेफ्ट और राइट में सेम ऑपरेंट यूज़ कर रहे हैं तो क्या करेंगे माइनस इक्वल टू लिख देंगे मल्टीप्लाई इक्वल टू सेम फॉर डिवाइड सेम फॉर मॉड्यूल ये होते हैं हमारे सबसे आसान ऑपरेटर्स हमारे असाइनमेंट ऑपरेटर्स तो इस तरीके से हमारे जो बेसिक ऑपरेटर्स थे बेसिक इंस्ट्रक्शंस थे हमने कंप्लीट कर लिए हैं अब हम कुछ-कुछ प्रॉब्लम्स करेंगे यह प्रॉब्लम्स करने के बाद जो चीजें अभी हमने पढ़ी हैं चैप्टर टू में व हमारे दिमाग के अंदर बैठ जाएंगी सबसे पहला सवाल करते हैं राइट अ प्रोग्राम टू चेक इफ अ नंबर इज़ डिविजिबल बाय टू ऑर नॉट अब नंबर इज डिविजिबल बाय टू और नॉट का प्रोग्राम हमें लिखना है कोई भी नंबर मान लो x हमें दिया है x की वैल्यू पाच हो सकती है छ हो सकती है 10 हो सकती है देखना है यह टू से डिवाइड होगा या नहीं होगा जो भी नंबर किसी दूसरे नंबर से डिवाइड हो जाता है जैसे मान लीजिए 4 ू से डिवाइड हो जाता है 10 5 से डिवाइड हो जाता है तो रिमाइंडर क्या देता है जीरो देता है 4 डि बा 2 भी रिमाइंडर हमें जीरो देगा तो यहां पे हमें दिमाग लगाना है कि रिमाइंडर टू दे दे जो भी नंबर दूसरे से डिवाइड हो जा तो यहां हम इस्तेमाल करेंगे अपने मॉडलो ऑपरेटर का तो क्या करेंगे किसी भी नंबर एक को इनपुट ले लेंगे इनपुट में हमने ले लिया एकस को अब x का मॉडलो देख लेंगे ू के साथ अगर यह मॉडलो जीरो हो जाता है एक केस है कि जीरो हो गया मतलब हो गया डिवाइड एक केस है जीरो नहीं हुआ जीरो के अलावा मान लो न प्रिंट होर आ गया ू आ गया मानव या माइन फ कुछ भी आ गया जीरो के अलावा तो मतलब नॉट डिवाइड हो जाएगा तो सिंपली क्या करना है एक नंबर इनपुट लेंगे यूजर से फिर उसका मॉड्यूल चेक कर लेंगे टू के साथ अगर मॉड्यूल जीरो रिटर्न कर रहा है तो मतलब डिवाइड होता है नहीं तो नहीं होता अब इसके लिए कोड लिखकर देख लेते हैं सबसे पहले एक्स को हम कर लेते हैं डिक्लेयर फिर स्कैन एफ करके सबसे पहले प्रिंट एफ कर देते हैं एंटर अ नंबर यहां पर हमारे पास नंबर एंटर होगा फिर उसको हम कर लेंगे स्कैन परसेंटेज डी एंड x अब दोबारा प्रिंट कर लेंगे हम परसेंटेज डी कैसे चेक करेंगे डिवाइड होता है या नहीं होता हम लिख देंगे x मॉडलो 2 इक्वल टू इक्व 0 यहां पर हमने दो को कंबाइन किया एरिथ मेे ऑपरेटर को कंबाइन किया किसके साथ अपने रिलेशनल ऑपरेटर के साथ मॉड्यूल लिया पहले और फिर रिलेशनल आया अब जब हमने ऑपरेटर प्रेसीडें देखा था तो उसमें क्या था हमारे एरिदमेटोसस ऑपरेटर्स नीचे थे तो यहां पर सबसे पहले x का मॉड्यूल निकलेगा टू के साथ अगर वो वैल्यू जीरो के इक्वल होती है तो प्रिंट होगा ट्रू यानी वन मतलब ये डिवाइड हो जाता है अगर नहीं होती तो प्रिंट होगा जीरो मतलब ये डिवाइड नहीं होता है तो इसको सेव कर लेते हैं आउटपुट अपना देखते हैं हम एंटर करते हैं नंबर फाइव फाइव के लिए प्रिंट हुआ जीरो क्योंकि फाइव जो है टू के साथ डिवाइड नहीं होता वहीं पर इसको दोबारा रन करें अबकी बार एंटर करेंगे 10 10 में प्रिंट हुआ वन क्योंकि 10 हमारा टू के साथ डिवाइड हो जाता है जब भी 10 एंटर किया 10 का मॉड्यूल निकला पहले टू के साथ फिर मॉड्यूल क्या आया रो उस रो को हमने रो से ही कंपेयर कर दिया तो आ गया ट्रू तो ट्रू रिटर्न हो गया पर यहां पे फाइव के केस में फाइव का मॉड्यूल टू के साथ आया वन तो वन को हमने कंपेयर किया रो के साथ तो वो इक्वल टू नहीं आया तो इसलिए प्रिंट हुआ रो यानी फाल्स अब इसका एक दूसरा वर्जन होता है इसी प्रोग्राम का वो वर्जन होता है टेल इफ अ नंबर इज इवन और ऑड जो नंबर्स टू के साथ डिवाइड हो जाते हैं वो होते हैं हमारे इवन नंबर्स जो नंबर्स टू के साथ डिवाइड नहीं होते यानी उनका मॉड्यूल हमारे पास जीरो नहीं आता वो होते हैं हमारे ऑड नंबर्स तो जब भी इवन ऑड चेक करना हो कोई नंबर है या नहीं तो उसके लिए भी टू से डिवीजन चेक कर लो तो यही है हमारा नेक्स्ट प्रैक्टिस क्वेश्चन जिसमें राइट अ प्रोग्राम टू चेक इफ अ नंबर इज ऑड और इवन जब भी इवन वाला हमारे पास केस होगा तो उसमें हम प्रिंट करवाने वाले हैं वन और ऑड वाला केस होगा उसमें प्रिंट करवाने वाले हैं जीरो तो नंबर हमने एंटर कर लिया सेम लाइन से उसको x में स्टोर करा लिया अब क्या प्रिंट करेंगे उसी नंबर को टू से मॉड्यूल ले लेंगे मॉडलो में अगर जीरो आएगा तो वो नंबर इवन है नहीं तो ऑड है इसी प्रोग्राम को दोबारा रन कर देंगे पहले लेते हैं हम 16 16 में प्रिंट हुआ वन यानी 16 हमारा इवन नंबर है क्योंकि टू से हो गया डिवाइड अब वहीं पर अगर हम बात करें सेवन की तो सेवन के केस में प्रिंट हुआ जीरो क्योंकि सेवन हमारा ऑड नंबर है नेक्स्ट क्वेश्चन कहता है आर द फॉलोइंग वैलिड और नॉट सबसे पहली स्टेटमेंट है इंट इ 8 और यह वाला सिंबल 8 अब यहां पर हमारी जो एक्सपेक्टेशन होगी इसके बारे में ऑलरेडी बात कर चुके हैं हम एक्सपेक्ट कर रहे हैं 8 टू द पावर 8 जो कि होना चाहिए कोई बड़ी सी वैल्यू वह तो यहां पर प्रिंट नहीं होगा यहां पर बल्कि प्रिंट होगा जीरो कैसे प्रिंट होगा जीरो एक बार कोड में देख लेते हैं इस पूरे को हटाते हैं और यहां प्रिंट करवाते हैं 8 जीरो प्रिंट हुआ है क्योंकि कंपाइलर ने क्या किया इसको 8 की पावर 8 की तरह नहीं लिया इसको लिया 8 एजोर 8 और जब सेम नंबर का सेम नंबर के साथ एजर करते हैं तो आउटपुट में हमेशा जीरो आता है इसीलिए यहां पर हमारे पास आउटपुट में जीरो आया है ये बिट वाइज ऑपरेटर है जिसके बारे में हम ऑलरेडी बात कर चुके हैं कि हम बाद में बात करेंगे तो और इसका आउटपुट हमारे पास पावर नहीं आता पावर के लिए पीओ डब् पाव फंक्शन यूज करना पड़ता है पर क्या ये स्टेटमेंट चल गई हां ये स्टेटमेंट चल गई क्या कंपाइलर ने कोई एरर रिटर्न किया नहीं कंपाइलर ने कोई एरर रिटर्न नहीं किया इसीलिए स्टेटमेंट हमें पावर तो नहीं देती पर यह है एक वैलिड स्टेटमेंट दूसरी स्टेटमेंट की बात करते हैं इंट x उसके बाद है हमारा टर्मिनेटर फिर इंट y = x फिर है टर्मिनेटर क्या ये स्टेटमेंट वैलिड है अब इसमें ध्यान से देखें तो पहली स्टेटमेंट तो हमारी यही खत्म हो गई है दूसरी स्टेटमेंट शुरू हुई है दूसरी स्टेटमेंट में हमने x को x की वैल्यू को y में डाल दिया है अब ये जो स्टेटमेंट है सेम लाइन में तो लिखी है पर क्योंकि टर्मिनेटर आ गया तो नेक्स्ट स्टेटमेंट बन गई तो पहले हमने x को डिक्लेयर किया बाद में यूज़ किया है तो यह स्टेटमेंट भी वैलिड है इसको सॉल्व करके एक बार देख लेते हैं इंट x और इंट y = x अब यहां पर अगर हम सेव करें तो कोई एरर नहीं आया क्योंकि क्या हुआ पहले x को डिक्लेयर कर लिया फिर y को कर दिया अगर हम इसको ऐसे लिखें या हम इसको ऐसे लिखें दोनों में कोई डिफरेंस नहीं है दोनों सिंटेक्स वाइज सही है और सेम है पर यहीं पर अगर हम ये टर्मिनेटर हटा देते और यहां कॉमा लगा देते और फिर उसको सेव करते तो यहां पर आ जाता एरर क्यों आता है एरर क्योंकि टर्मिनेटर हट गया तो मतलब ये सेम लाइन पर है सेम लाइन पर है तो एक को हमने यूज कर लिया जिस लाइन में डिक्लेयर कर रहे हैं उसी लाइन में तो यहां तो टाइप डिक्लेरेशन का रूल ब्रेक हो गया और यहीं पर आता है हमारा थर्ड प्रॉब्लम थर्ड प्रॉब्लम में क्या था हमारे पास कि सेम लाइन में है और बीच में आ गया हमारे पास कॉमा तो यह तो वैलिड था पर ये हो गया हमारा इनवैलिड स्टेटमेंट चौथी स्टेटमेंट है एक कैरेक्टर हमने डिफाइन किया स्टार्स नाम से उसके अंदर दो स्टार हमने स्टोर कर दिए ये देखते हैं कि वैलिड है या नहीं है अपने कोड के अंदर लिखते हैं कैर स्टार्स इज इक्वल टू स्टार स्टार उसको करते हैं सेव अब इस स्टेटमेंट को कंपाइल करते हैं एक बार कंपाइल करके हमारे पास वॉर्निंग जनरेट हुई वॉर्निंग क्या कहती है कि हमने एक मल्टी कैरेक्टर कांस्टेंट बना दिया मतलब हमने मल्टीपल कैरेक्टर्स यहां पर डाल दिए तो ये एक एरर वाली चीज है ये हम नहीं कर सकते अगर हम स्पेस भी डालें कैरेक्टर के अंदर तो वो भी कंपाइल नहीं करेगा सेम चीज बोलेगा कि आपने स्पेस क्यों डाल दिया तो इसीलिए जब भी कैरेक्टर्स बनाते हैं उनके अंदर सिंगल वैल्यू जो है हमें डालनी होती है तभी वो कंपाइल करेंगे सक्सेसफुली अगर हम यहां पर वन भी लिख रहे हैं तो वन जो होगा वो तो कंपाइल कर जाएगा पर वन के साथ अगर टू लिख दिया तो यहां पर दो कैरेक्टर्स आ गए एक तरीके से तो ये हमारा कंपाइल नहीं करेगा ये दे देगा हमें इंप्ली कन्वर्जन की वार्निंग ये वार्निंग्स क्यों दी गई है क्य कि अगर हम मल्टीपल कैरेक्टर्स डालते हैं ना अगर हम स्टार स्टार भी डालते हैं तो वो मेमोरी के अंदर इतनी जगह ले लेता है जो कैरेक्टर को जितनी जगह दी जाती है उससे बड़ी होती है तो इसको क्या हमें बड़े कंटेनर में डालना चाहिए तो वो सोचता है कैरेक्टर वाले छोटे कंटेनर में तो ये आएगा नहीं इसको क्या इंट वाले कंटेनर में डाल दूं पर वो ऑटोमेटिक इंप्ली वो कर नहीं पाता क्योंकि कैरेक्टर को ऑटोमेटिक वो इंटी जर में डालता नहीं है इसीलिए यहां पर ये वार्निंग जनरेट होती है तो ऐसा नहीं करना है जब भी कैरेक्टर डिफाइन कर रहे हैं सिंगल वैल्यू वाला कैरेक्टर हमें डिफाइन करना है इस स्टेटमेंट को हम इनवैलिड कहेंगे क्योंकि यहां पर कंपाइलर हमें वार्निंग थ्रो कर रहा है नेक्स्ट जो प्रैक्टिस क्वेश्चन है उसमें हमें बताना है कि प्रिंट कर दो ट्रू या फॉल्स फॉर द फॉलोइंग स्टेटमेंट पहली स्टेटमेंट है इफ इट्स संडे एंड इट्स नोइंग देन प्रिंट करो ट्रू यानी अगर संडे का दिन है और स्नो कर रहा है तो फिर ट्रू प्रिंट करना है कैसे इसको प्रोग्राम की फॉर्म में कैसे कन्वर्ट करेंगे सबसे पहले तो दो वेरिएबल ले लेते हैं पहला वेरिएबल है इंट इज संडे दूसरा वेरिएबल है इंट इज स्नोइंग तो अब इज संडे में अगर हम ट्रू डाल दे और इज स्नोइंग में भी अगर हम ट्रू डाल द तो फिर प्रिंट एफ करते हैं इस संडे जब ट्रू होगा एंड एंड इज स्नोइंग जब ट्रू होगा तभी हमारे पास ट्रू प्रिंट हो यानी यह भी ट्रू हो और यह भी ट्रू हो संडे हो और स्नो पड़ रही हो तभी हम करेंगे ट्रू प्रिंट तो ऑलरेडी हमने इन दोनों को ट्रू कर रखा है देख लेते हैं आउटपुट हमारा ट्रू आ रहा है या नहीं आ रहा तो आउटपुट में हमारे पास आया ट्रू वहीं पर मान लेते हैं कि संडे का दिन नहीं है कोई और दिन है तो इस संडे तो फॉल्स हो जाएगा और अब अगर हम इसको रन करें तो आउटपुट में हमारे पास आएगा जीरो क्योंकि दोनों में से एक कंडीशन फॉल्स हो गई और एंड क्या करता है एक भी कंडीशन फॉल्स हुई तो पूरे को फॉल्स बना देगा अब सेकंड जो क्वेश्चन है वो कहता है इफ इट्स मंडे और इट्स रेनिंग तो ट्रू कर दो या तो मंडे हो या रेन हो रही हो तो ट्रू प्रिंट हो जाए यहां पे और जो है उसकी जगह हम करेंगे अपना लॉजिकल और ऑपरेटर तो इज संडे को बना देंगे इज मंडे इस नोइंग को बना देंगे इज रेनिंग यहां पर मंडे नहीं है तो जीरो कर लेंगे रेनिंग है तो वन कर लेंगे यहां पर कर लेते हैं इज मंडे यहां कर लेते हैं इज रेनिंग अब एक कंडीशन जो है वो है फॉल्स एक कंडीशन है ट्रू अब दोनों में से कोई भी अगर ट्रू हो तो हमें प्रिंट करवाना है ट्रू तो उसके लिए यूज कर लेंगे लॉजिकल और और इसको रन करके देख लेते हैं प्रिंट होगा हमारा पास ट्रू थर्ड कंडीशन कहती है इफ अ नंबर इज ग्रेटर दन ना यानी एक नंबर है x वो अगर नाइन से बड़ा है एंड लेस दन 100 100 से छोटा है तो इसको हम प्रिंट करवा देंगे ट्रू तो एक नंबर के लिए चेक करना है कि वो नाइन से बड़ा हो एंड वो सेम नंबर 100 से छोटा हो ये दोनों कंडीशन है दोनों कंडीशन ट्रू होनी चाहिए बीच में लगा देंगे अपना लॉजिकल एंड ऑपरेटर और फिर प्रिंट करवा देंगे हम ट्रू की जगह वन अब ये जो हम स्टेटमेंट लिखने वाले कंडीशन लिखने वाले हैं इसको हम एक तरीके से कह सकते हैं कि हम चेक करें कि टू डिजिट नंबर है या नहीं है जो नंबर नाइन से बड़ा होगा और 100 से छोटा होगा वो हमेशा एक टू डिजिट नंबर होगा तो जब भी टू डिजिट नंबर की हमें कंडीशन चेक करनी है यह स्टेटमेंट अपने कोड में हम लिख लेते हैं तो जब भी ऐसा कोई सवाल आए ये सेम की सेम स्टेटमेंट हमें छाप देनी है उस सवाल के अंदर इसके लिए कोड लिख लेते हैं सबसे पहले एक वेरिएबल डिफाइन करते हैं एक फिर स्क्रीन पर प्रिंट कर देते हैं एंटर नंबर नंबर एंटर करवा लेते हैं फिर उस नंबर को कर लेते परसेंटेज डी एंड x अब चेक कर लेंगे यहां पर कि x इ ग्रेटर दन 9 एंड एंड x इ ले 100 अगर यह दोनों कंडीशंस ट्रू हो गई तो फिर वो नंबर एक टू डिजिट नंबर है तो प्रिंट होगा वन अगर नहीं हुई तो प्रिंट होगा जीरो इसको रन करते हैं सबसे पहले जो नंबर एंटर करेंगे वो करते हैं 78 78 के लिए प्रिंट हुआ वन अब सेम कोड को अगर रन करें और अबकी बार नंबर एंटर करें हम 101 तो प्रिंट होगा जीरो क्योंकि ये टू डिजिट नंबर नहीं है तो अभी तक सी के अंदर हमने जितना पढ़ा है डिफरेंट डिफरेंट ऑपरेटर्स को मिलाकर हम बहुत ब्यूटीफुल लॉजिकल प्रोग्राम्स बना सकते हैं दुनिया के अंदर कोई भी ऐसा लॉजिक है जो एजिस्ट करता है यानी मैथ जैसी चीज जो कि बहुत ज्यादा लॉजिकल है फिजिक्स जैसी चीज जो बहुत ज्यादा लॉजिकल है कहीं भी अगर लॉजिक एजिस्ट करता है जिसका हम कोई फार्मूला बना सकते हैं कोई प्रोसेस बना सकते हैं उस चीज को हमेशा एक कोड में कन्वर्ट किया जा सकता सता है तो यहां पे हमने अपनी चीज को एक कोड में कन्वर्ट कर दिया है बहुत सारे ब्यूटीफुल प्रोग्राम्स हमने सीखे क्या सीखा कि ऑड इवन कैसे चेक करते हैं बहुत बेसिक है और बहुत सारे मिड सेमेस्टर्स में पूछ लिया जाता है कॉलेजेस में अगर आप इनिशियल राउंड्स दे रहे हैं टीसीएस जैसी कंपनीज के तो वो भी इनिशियली पूछ सकते हैं आपसे नहीं तो आपके एमसीक्यू राउंड्स में आ जाते हैं ऐसे सवाल अगर हमें चेक करना है कोई नंबर टू डिजिट नंबर है क्या तो उसकी हमने कंडीशन देख ली है इसके अलावा नेक्स्ट चैप्टर्स के अंदर बहुत सारे ऐसे लॉजिकल सवाल हम और ज्यादा डिस्कवर कर रहे होंगे और ज्यादा सॉल्व कर रहे होंगे बहुत सिंपल तरीकों से इसके बाद हमें एक होमवर्क प्रॉब्लम जो है होमवर्क शीट हमें दी होगी उसको हमें पॉज करना है खुद से सॉल्व करना है अगर सॉल्व नहीं कर पाते कोई भी एरर आता है तो अपने नोट्स के अंदर हमें सॉल्यूशन मिल जाएंगे उन प्रॉब्लम्स के उनको जाकर हम देख सकते हैं और खुद से सवाल करने की प्रैक्टिस कर सकते हैं तो यहां पर हमारा चैप्टर टू खत्म होता है और नेक्स्ट चैप्टर की तरफ बढ़ते हैं जो है कंडीशनल ऑपरेटर्स हाय एवरीवन और अब हम शुरू करने वाले हैं अपने थर्ड चैप्टर के साथ जिसका नाम है कंडीशनल स्टेटमेंट्स सी के अंदर कंडीशनल स्टेटमेंट्स बहुत इंपॉर्टेंट होते हैं और ये हमारा बेसिस ऑफ प्रोग्रामिंग फॉर्म कर रहे हैं अब कंडीशनल स्टेटमेंट्स को पढ़ने से पहले ना थोड़े से उसके रियल लाइफ एग्जांपल्स देख लेते हैं जैसे मान लो कि हमारे पास हमें कोई कैरेक्टर दिया जाएगा जैसे एम फॉर मंडे टी फॉर ट्यूजडे या अ डब्लू फॉर वेनसडे तो इस तरीके से हमें कैरेक्टर लेके वो जिस भी कैरेक्टर के हिसाब से जो भी दिन होगा हमें वो प्रिंट करवाना है या इसके अलावा हमें मार्कशीट मिलती है स्कूल के अंदर जिसमें क्या होता है हमें कुछ ग्रेड्स दिए होते हैं जैसे अगर आपके 90 प्लस आए होंगे तो आपको ए प्लस प्लस दिया होगा 80 से 90 में a प्लस दिया होगा 70 से 80 में आपको a दिया होगा 60 से 70 में आपको बी दिया होगा इस तरीके से ग्रेडिंग सिस्टम रहता है तो इसी पूरे के पूरे ग्रेडिंग सिस्टम को अगर हमें कोड की फॉर्म में लिखना है तो हमें कंडीशनल स्टेटमेंट्स की जरूरत पड़ेगी अगर मान लीजिए ऐसा कोई सिनेरियो बन रहा है कि अगर हमारी रोशनी है तो प्रिंट करवाना है मॉर्निंग और डार्कनेस है तो प्रिंट करवाना है नाइट ऐसे-ऐसे कुछ-कुछ चीजें होती हैं जो कभी-कभार कोड में लिखनी पड़ती हैं या फिर अगर हम मार्केट से कोई सामान खरीदने जा रहे हैं जैसे मान लीजिए आप क्लोथ्स खरीदते हैं आप गैजेट्स खरीदते हैं तो उनके ऊपर आपको कुछ टैक्स भरना पड़ता है लेकिन वहीं आप मार्केट से अगर बुक्स खरीदते हैं तो उनके ऊपर टैक्स नहीं देना पड़ता तो कौन सा आप सामान खरीद रहे हैं उस हिसाब से आपका जो सॉफ्टवेयर है वो डिसाइड करेगा कि आपके ऊपर कितना टैक्स लगेगा इस तरीके के जो प्रोग्राम्स होते हैं इनमें कंडीशंस आपकी चेक होती है जैसे कंडीशन में आइटम के ऊपर टैक्स कैलकुलेट करने के लिए कंडीशन चेक होगी कि आइटम कौन सा है फिर बताया जाएगा उस पर कितना टैक्स लगेगा पहले देखा जाएगा अंधेरा है है या लाइट है और फिर बताया जाएगा क्या प्रिंट करवाना है पहले देखा जाएगा कैरेक्टर कौन सा है फिर प्रिंट करवाया जाएगा कि कौन से हफ्ते के दिन की हम बात कर रहे हैं पहले देखा जाएगा आपके सब्जेक्ट के मार्क्स कितने आए हैं फिर प्रिंट करवाया जाएगा कि आपके उस सब्जेक्ट में कितने ग्रेड्स हैं तो ऐसी सिचुएशंस जहां पर हम किसी कंडीशन को देखकर उस हिसाब से काम करते हैं उस हिसाब से कोई भी चीज करवाते हैं तो उन्हें हम कंडीशनल स्टेटमेंट्स की कंडीशनल ऑपरेटर्स की कैटेगरी में लेके आते हैं अब जब भी हम सी के अंदर कंडीशनल स्टेटमेंट्स की बात करते हैं तो हम दो टाइप की स्टेटमेंट्स को पढ़ेंगे इनमें से सबसे पहली हमारी एफएल स्टेटमेंट्स और दूसरी है हमारी स्विच स्टेटमेंट इफ का मतलब इंग्लिश के अंदर होता है अगर और एल्स का मतलब होता है अगर वो चीज नहीं हुई तो यह चीज कर दो तो इस तरीके से हमारी फफएल स्टेटमेंट्स फॉर्म होती हैं अब अगर सिंटेक्स देखें कि फफएल स्टेटमेंट्स को लिखा कैसे जाता है तो सबसे पहले हम इफ कीवर्ड लिखते हैं ये सी का एक कीवर्ड है मतलब ऑलरेडी सी के कंपाइलर को पता है कि इफ का मतलब क्या होता होता है फिर हम पैरेंस लगाते हैं फिर उसके अंदर कोई कंडीशन हम लिखते हैं अब कंडीशंस हम ऑलरेडी पढ़ चुके हैं किस तरीके की हम कोई रिलेशन लिख देंगे कि क्या हमारा जो कैरेक्टर है वो इक्वल टू m है उस केस में मंडे प्रिंट करवा दो या फिर मार्क्स की अगर कंडीशन लिखनी है तो मार्क्स अगर हमारे ग्रेटर दन 80 हैं एंड एंड मार्क्स अगर हमारे लेस दन इक्वल टू 90 हैं तो इस केस में ग्रेड जो हम प्रिंट करवाना चाहते हैं मान लीजिए वो a+ है तो इस तरीके की कंडीशंस जो हैं वह हम यहां पर लिख रहे होते हैं कि क्या कंडीशन चेक करूं मैं जो अगर ट्रू हो जाए तो फिर यह वाली चीज कर दो और फाल्स हो जाए तो फिर यह वाली चीज कर दो तो यह है हमारी इफ स्टेटमेंट ये है हमारी एल्स स्टेटमेंट एल्स का अपना एक ब्लॉक होता है एल्स भी एक कीवर्ड है अगर यह कंडीशन ट्रू हो जाती है तो इसके अंदर जो भी लिखा होगा मतलब इन दो कर्ली ब्रेसस के अंदर जो भी लिखा होगा वो एग्जीक्यूट हो जाएगा लेकिन अगर ये स्टेटमेंट फाल्स हो जाती है तो फिर ये जो एल्स वाला ब्लॉक है ना ये दो कर्ली ब्रेसे इसके अंदर जो भी लिखा होगा वो प्रिंट हो जाएगा या जो जो भी काम हमने दिया होगा कंपाइलर को करने के लिए वो हो जाएगा अब इफ एल्स कंडीशंस के अंदर ये एल्स जो है वो कंपलसरी नहीं होता इफ तो ओबवियसली कंपलसरी होता है एल्स हमारा ऑप्शनल होता है हमारी मर्जी होती है एल्स हम कुछ और काम करवाना चाहते हैं अगर कंडीशन फॉल्स हो गई या नहीं भी करवाना चाहे तो एल्स को हम कंप्लीट हटा सकते हैं अब इसके कुछ एग्जांपल्स करके देखते हैं अपने कोड के अंदर सबसे पहले एक वेरिएबल डिफाइन करते हैं एज एज में मान लो हमने 19 स्टोर किया है या फिर इससे भी अच्छा एज को यूजर से इनपुट ले लेते हैं पहले प्रिंट करते हैं एंटर एज और उसके बाद स्कैन कर लेंगे एज को परसेंटेज डी एंड एज यहां से डिक्लेरेशन से जो असाइनमेंट है इसको हटा देते हैं अब जैसे ही हमारे पास एज आ गई सबसे पहले हम चेक करेंगे अब एज में हमें पता है जिसकी एज 18 से ऊपर ऊपर होती है वो एक एडल्ट होता है जिसकी ऐज 18 से नीचे होती है वो एक एडल्ट नहीं होता तो उसी स्टेटमेंट को हम यहां पर कोड में लिखने वाले हैं इफ हमारी एज जो है वो ग्रेटर दन 18 है उस केस में हम प्रिंट करना चाहते हैं एडल्ट इस स्टेटमेंट को थोड़ा सा ध्यान से देखेंगे सबसे पहले हमने इफ कंडीशन को चेक करने के लिए इफ कीवर्ड लिखा है अंदर हमने लिखी अपनी कंडीशन कंडीशन हमारी क्या थी कि एज हमारी ग्रेटर दन 18 हो तभी जिस भी बंदे की हमने एज ली है वो एक एडल्ट है तो हमने ऑलरेडी पढ़ा था रिलेशनल ऑपरेटर को कैसे यूज़ करते हैं वेरिएबल के साथ कंपैरिजन लगा देंगे इस कांस्टेंट का कि एज हमारा वेरिएबल 18 जो हमारा कांस्टेंट है उससे बड़ा है या नहीं और अगर ये स्टेटमेंट ट्रू हो जाती है ये वाली कंडीशन अगर ट्रू हो जाती है तो उस केस में हम यहां पर लिखा हुआ कुछ भी एग्जीक्यूट कर देंगे तो यहां पे लिखा है एडल्ट तो अगर ये कंडीशन ट्रू हो गई तो हमारे पास प्रिंट हो जाएगा स्क्रीन में एडल्ट लेकिन मान लो यह कंडीशन फाल्स हो जाती है और उस केस में हम प्रिंट करवाना चाहते हैं नॉट एडल्ट तो हम क्या करेंगे हम एल्स लिख देंगे इस तरीके से फिर उसके भी कर्ली ब्रेसे का ब्लॉक बना देंगे जो कर्ली ब्रेसस के बीच में जितनी भी लाइंस होती है ना इसको हम ब्लॉक कहते हैं कर्ली ब्रेसस का अगर यहां पर अपना हम प्रिंट एफ कंप्लीट करें तो उसमें लिखेंगे नॉट एडल्ट नेक्स्ट लाइन और इसको कर लेंगे सेव अब यहां पर हम मल्टीपल लाइंस भी लिख सकते थे अब अगर वो एडल्ट है तो ओबवियसली हमें पता है कि दे कैन वोट अगर वो 18 के हैं तो वोट कर पाएंगे अगर 18 के हैं तो ड्राइव भी कर पाएंगे तो यहां पर लिख देते हैं दे कैन ड्राइव आल्सो तो इस तरीके से अगर यह वाली कंडीशन ट्रू होगी तो ये तीनों की तीनों स्टेटमेंट्स प्रिंट होंगी और अगर कंडीशन ट्रू नहीं होगी तो फिर इस वाले ब्लॉक में सिर्फ एक ही स्टेटमेंट है अब इन दो कर्ली ब्रेसे के बीच में जो यह पूरी की पूरी स्टेटमेंट्स का चंक आता है यह ग्रुप आता है इनको हम ब्लॉक कहते हैं सी के अंदर या किसी भी प्रोग्रामिंग लैंग्वेज के अंदर ब्लॉक जो होता है एक कॉमिनेशन ऑफ स्टेटमेंट्स होता है जिसमें हम बहुत सारी स्टेटमेंट्स घुसा देते हैं तो ये तीनों एक साथ एग्जीक्यूट हो रही होंगी इसको कर लेते हैं सेव और इसको करते हैं रन कंपाइल कर लेंगे रन करेंगे एंटर करते हैं सबसे पहले 15 कि हमारी ऐज 15 है इस केस में प्रिंट हुआ नॉट एडल्ट अब दोबारा से अगर रन करें इस बार एंटर करेंगे एज 22 और इस बार प्रिंट हुआ दे आर एन अडल्ट दे कैन वोट दे कैन ड्राइव तो जिस केस में हमने वो स्टेटमेंट डाली जो ट्रू नहीं होगी मतलब यहां पे तो फाल्स हो गया तो फिर वोह एल्स के अंदर चला गया तो नॉट एडल्ट उसने प्रिंट कर दिया पर जहां पर हमने 22 डाला और यह कंडीशन ट्रू हो गी उसमें फिर ये सारी स्टेटमेंट एग्जीक्यूट हुई पर साथ में ये नहीं हुई मतलब ये वाली स्टेटमेंट नहीं हुई अब इसके बाद अगर हम लास्ट में कुछ लिखना चाहे थैंक यू तो ये एग्जीक्यूट होगा क्या ऑब् वियस हां ये वाली स्टेटमेंट हर केस में एग्जीक्यूट होगी क्योंकि इसके आगे ना तो इफ लगा है ना एल्स लगा है मतलब कोई भी कंडीशन हो इसको जरूर एग्जीक्यूट होना है इसका भी हम एग्जांपल देख लेते हैं इसको कर लेते हैं कंपाइल एंड रन अब अगर हम एंटर करें 19 तो उस केस में यह सारी कंडीशंस तो प्रिंट हुई यह सारी स्टेटमेंट्स साथ के साथ लास्ट वाला थैंक यू हमेशा प्रिंट होगा चाहे हम एज 18 से छोटी डालें चाहे 18 से बड़ी डालें अब यह जो एल्स है यह कंपलसरी नहीं है इसको अगर हम हटा भी दें मान लीजिए हमें सिर्फ चेक करना है 18 से बड़ा है या नहीं अगर छोटा है तो उस केस में कुछ भी प्रिंट नहीं कराना तो भी हमारा प्रोग्राम जो है सक्सेसफुली कंपाइल और हो जाएगा इस बार अगर 15 हम एंटर करेंगे तो सिर्फ थैंक यू प्रिंट होगा कुछ और प्रिंट होगा ही नहीं क्योंकि एल्स है ही नहीं सिर्फ ये स्टेटमेंट ट्रू है या नहीं है वो चेक होगा तो इस तरीके से हमारा इफ एल्स काम करता है अब इफ एल्स के अंदर एक स्पेशल चीज है अगर मल्टीपल स्टेटमेंट्स हमने लिखी है ना इफ के अंदर या एल्स के अंदर तब तो हमें कर्ली ब्रेसे लगाने पड़ते हैं पर ये कर्ली ब्रेसेज ना कंपलसरी नहीं है अगर हमें सिर्फ मान लो एक ही स्टेटमेंट लिखनी है जैसे इफ के केस में एक ही स्टेटमेंट लिखनी है एल्स के केस में भी एक ही स्टेट लिखनी है लास्ट वाला थैंक यू हम यहां से हटा देते हैं अभी के लिए और इसको हम सेव करें तो बिना कर्ली ब्रेसेज के भी यह प्रोग्राम कंपाइल हो रहा होगा और रन हो रहा होगा 23 अगर डालें तो देखिए एडल्ट प्रिंट हो गया है और कोई एरर नहीं आया तो अगर हमारे पास एक स्टेटमेंट है तब तो हम बिना कर्ली ब्रेसेज के भी काम चला सकते हैं पर सही अच्छे जो प्रोग्रामर्स होते हैं ना वो कंसिस्टेंसी लेके आते हैं प्रोग्राम में और अगर हमें अच्छा प्रोग्रामर बनना है तो हर बार कर्ली ब्रेस लगाने हैं तो मैं तो हर बार कर्ली ब्रेसेज लगाती हूं क्योंकि एक एग्जांपल देखते हैं जब कर्ली ब्रेसेज नहीं लगाए और मल्टीपल स्टेटमेंट्स लिख दी तो क्या होगा दे कैन वोट दे कैन वोट को हमने यहां पे लिख दिया है अब इसको कर लेते हैं सेव तो यहां पे पहले ही एरर आ गया कि एल्स जो है ना हमेशा एक इफ के बाद आना चाहिए इसने क्या किया इस इफ के साथ इस सिंगल वाली जो शुरुआत वाली प्रिंटेड स्टेटमेंट है इसको तो मिला दिया पर सेकंड जो प्रिंटेड स्टेटमेंट है ना उसको इसने इफ के साथ नहीं काउंट किया उसको इसने अलग से काउंट किया फिर आया यह एल्स पे एल्स पे आके सोचा इसका इफ कहां है क्योंकि इसके लिए तो ऊपर इफ है ही नहीं ऊपर तो नॉर्मल स्टेटमेंट लिखी हुई है इंस्ट्रक्शन लिखी हुई है इसीलिए इस तरीके का कंफ्यूजन नहीं रखना जब भी कोई भी प्रोग्राम लिखना है उसमें हमेशा हमें कर्ली ब्रेसेज जरूर लगाने हैं चाहे कितनी भी लाइंस हो अब जब भी हमारा इफ ट्रू नहीं होता उसके बाद अगर हमें चेक करनी है कि कोई और कंडीशन ट्रू है क्या ऊपर वाली तो नहीं हुई नीचे वाली ट्रू है क्या तो हम लिखते हैं एल्स इफ एल्स इफ लिखने का क्या फॉर्मेट रहता है अगर हमने ऊपर लिख दिया इफ तो उसके अंदर हम कंडीशन वन अपनी डाल सकते हैं फिर जो भी अगर करना हो उसको पहले ब्लॉक में डाल दो फिर लिखो एल्स इफ उसके अंदर कंडीशन ट्रू डालो जैसे मार्क्स का अगर एग्जांपल लें अगर हमारे जो मार्क्स हैं वो ग्रेटर दन 90 हैं तो आप प्रिंट कर दो a + + और यहां पे चेक कर लो कि मार्क्स जो हैं वो लेस दन 90 है पर ग्रेटर दन 80 है तो उस केस में सिर्फ a+ प्रिंट करो और वो कंडीशन ट्रू का जो आउटपुट होगा वो इसके अंदर आ जाएगा इस तरीके से इसके के बाद हम एक और एलसीएफ लिख सकते हैं एक और एलसीएफ लिख सकते हैं जितने मर्जी एलसीएफ लिख सकते हैं और उसके बाद एंड में अगर हमें करना है ऊपर में से कुछ भी ट्रू नहीं हुआ तो एल्स कर दो तो इस तरीके से जब भी हमारा फ्लो ऑफ प्रोग्राम बनता है ना सबसे ऊपर हम अपना इफ वाला ब्लॉक बनाते हैं उसके बाद अपना एलसीएफ वाला ब्लॉक बनाते हैं उसके बाद एक और एलसीएफ जितने भी एलसीएफ हम लिखना चाहे और लास्ट में एक एल्स लिख देते हैं तो अगर आपको सारे के सारे यूज़ करने हैं तो इस तरीके का फ्लो होगा इसमें क्या होगा सबसे पहले एक कंडीशन चेक हो जाएगी अगर यह सच नहीं है तो फिर दूसरी कंडीशन चेक होगी अगर यह सच नहीं है तब तीसरी कंडीशन चेक होगी अगर ये सच हो जाती है मान लो ये ट्रू हो गई तो उसके बाद ये कोई भी चेक नहीं होगी और अगर ऊपर वाली सारी फॉल्स हैं तो फिर लास्ट वाला एल्स में कुछ चेक नहीं होता एल्स में ऊपर वाले सारे फॉल्स हैं तो जो काम लिखा है वो हो ही जाता है बिना चेकिंग के अब अगर हम चाहते हैं कि हमारी सारी की सारी कंडीशंस में चेक हो मतलब अगर ये भी ट्रू हो जाए तब भी ये चीज जो है चेक हो रही हो तो उस केस में हम इफ लिखते हैं बहुत सारे एक के बाद एक के बाद एक यह चेक होगा अगर ट्रू है तो हो जाएगा नहीं तो नहीं होगा फिर यह चेक होगा ट्रू है तो हो जाएगा नहीं यह नहीं होगा इसको ऊपर वाला ट्रू था या फाल्स था उससे कोई फर्क नहीं पड़ता तो जब ऊपर वाली कंडीशन से नीचे वाली कंडीशन को फर्क ना पड़े तो इफ बार-बार बारबार बार-बार लिखते जाओ और अगर ऊपर वाली कंडीशन से फर्क पड़ रहा है जैसे मार्क्स अगर हमें चेक करने थे तो ऊपर एक बार a + प प्रिंट हो गया तो नीचे a+ दोबारा प्रिंट ना हो इसका ध्यान हमें रखना है इसीलिए उसमें हम एलसीएफ यूज़ करेंगे तो एलसीएफ के लिए भी हम अपना ना एक फॉर्मेट लिख लेते हैं एक एग्जांपल के साथ इसको सॉल्व करके देखते हैं एज के केस में ही करते हैं अगर एज ग्रेटर दन 18 है तब तो एडल्ट लिख देंगे अब इसमें एक एल्स इफ करके कंडीशन लगा देते हैं कि एज हमारी ग्रेटर दन 13 है एंड एंड एज इज लेस देन इक्वल टू 18 वैसे यहां पर इक्वल टू 18 आना चाहिए और यह होना चाहिए लेस दन 18 तो यहां पर हम लिखेंगे टीनेजर और लास्ट में लिखेंगे एल्स प्रिंट एफ चाइल्ड इस थैंक यू को हम हटा लेते हैं अब ध्यान से देखें तो हमने क्या किया एज मांगी है यूजर से एज अगर हमारी 18 या 18 से बड़ी हो जाती है तो उस केस में एडल्ट प्रिंट करवाना है एज अगर 13 से बड़ी है पर 18 से छोटी है उस केस में जो भी व्यक्ति है वो एज के हिसाब से एक टीनेजर है तो उस केस में टीनेजर प्रिंट करवा देंगे तो एल्स इफ ने ये कंडीशन चेक कर ली और अगर कोई भी केस नहीं है ऊपर वाले दोनों में से तो यह वाला केस प्रिंट हो जाएगा यानी चाइल्ड वाला अब 18 से ऊपर भी नहीं है 13 से 18 के बीच में भी नहीं है तो ओबवियसली 13 से नीचे ही होगा तो चेक करने की जरूरत नहीं है सिर्फ चाइल्ड प्रिंट करवा दो इसको कर लेते हैं सेव और इसको करते हैं कंपाइल एंड रन सबसे पहले एज डालते हैं हम फाइव ईयर्स तो उस केस में चाइल्ड प्रिंट हुआ उसके बाद दोबारा एज डालें अगर मान लीजिए 16 हमने डाल ली इस केस में टीनेजर प्रिंट हुआ और दोबारा हमने एज डाली है अपनी 22 तो उस केस में प्रिंट हुआ एडल्ट तो इस तरीके से डिफरेंट डिफरेंट कंडीशन के हिसाब से क्या-क्या चीजें होनी चाहिए वो हम अपने कोड में एफएस की मदद से कर सकते हैं अब नेक्स्ट टाइप ऑफ स्टेटमेंट जिसकी हम बात करेंगे स्विच से पहले हम बात करने वाले हैं कंडीशनल ऑपरेटर की सेकंड चैप्टर में हमने पढ़ा था कि कुछ पांच टाइप ऑफ पांच प्रकार ऑफ ऑपरेटर्स होते हैं जिनमें से पढ़ा था कुछ हम आगे वाले चैप्टर्स में पढ़ेंगे अब उनमें से काफी इंपॉर्टेंट टाइप होता है हमारा टरनरी ऑपरेटर प्लेसमेंट के टाइम पे काफी सारे जो एमसीक्यू के सवाल होते हैं बहुत सारी कंपनीज टरनरी ऑपरेटर से रिलेटेड पूछ लेती है यह टर्नर ऑपरेटर आपका c+ प में भी होता है जावा में भी होता है और सेम सिंटेक्स होता है बिल्कुल सेम दिखता है दोनों लैंग्वेजेस में और इनफैक्ट वो स्टूडेंट्स जो एक बार c सीख लेते हैं उनको c+ प या जावा में शिफ्ट होने में बिल्कुल इशू नहीं आता क्योंकि ऑलमोस्ट सिंटेक्स काफी चीजों का सेम होता है बस इनपुट आउटपुट का डिफरेंस हो जाता है अब टर्नर ऑपरेटर को लिखने का क्या तरीका रहता है टर्नर ऑपरेटर का पहले यूसेज समझ लेते हैं जब भी हमारे पास ना बहुत लाइनें हो रही होती हैं सिंपल से इफ एल्स में मतलब इफ में कंडीशन चेक कर रहे हैं फिर कुछ कर रहे हैं उसको अगर हम शॉर्ट कर सकते हैं जैसे मान लो हमें वेरिएबल की वैल्यू चेक करनी है अगर एज हमारी ग्रेटर दन 18 है तो यहां पे एज वेरिएबल हो गया तो एडल्ट प्रिंट कर दो नहीं तो नॉट एडल्ट उसमें हमने देखा कि हमने बहुत सारी लाइनें लिख दी हैं मतलब अगर पहले वाली भी देखे 1 2 तीन और एल्स की तीन और तो छह लाइनों में हमारा कोड हो रहा है उस छह लाइनों के कोड को सिंगल लाइन में करने का तरीका होता है टरनरी ऑपरेटर तो टरनरी ऑपरेटर का सिंटेक्स होता है कि सबसे पहले तो अपनी कंडीशन बता दो कि क्या कंडीशन है उसके बाद क्वेश्चन क् मार्क लगा दो ये क्वेश्चन मार्क का काम होता है कि वो चेक करेगा क्वेश्चन करेगा कि आपकी कंडीशन सच है या नहीं है अगर आपकी कंडीशन ट्रू रिटर्न करती है तो फिर यहां पर जो भी लिखा होगा वो एग्जीक्यूट हो जाएगा नहीं तो ये कोलन फिर उसके बाद हम लगाते हैं इसका मतलब होता है नहीं तो यह चेक करेगा कंडीशन को ट्रू आया तो यह होगा नहीं तो उसके बाद जो लिखा है यानी ये होगा अगर कंडीशन फॉल्स हो जाती है तो यह हमारा सिंटेक्स रहता है इसको हम एक बार टरनरी ऑपरेटर का एक एग्जांपल लिख के देख लेते हैं जैसे एज को हमने एंटर करवाया था अब इसी का टरनरी ऑपरेटर को कैसे एग्जीक्यूट करते हैं अगर हमारी एज ग्रेटर देन इक्वल टू 18 है अगर 18 है और यह ट्रू चीज है तो उस केस में हम प्रिंट करवाने वाले हैं एडल्ट नहीं तो हम प्रिंट करवाने वाले हैं नॉट एडल्ट अब एक चीज इस लाइन में काफी ध्यान देने वाली है वो यह कि ये प्रिंट एफ स्टेटमेंट के बाद हमने जो है सेमीकलन नहीं लगाया मतलब टर्मिनेटर नहीं लगाया क्यों क्योंकि अभी हमें स्टेटमेंट खत्म नहीं करनी स्टेटमेंट हमें एंड में करनी है तो इवन अगर ट्रू हो जाए और प्रिंट एफ हमें लिखना पड़े बीच में या स्कैन एफ कुछ भी लिखना पड़े तो हम यहां पे टर्मिनेटर नहीं लगाएंगे क्योंकि अगर टर्मिनेटर लगा दिया तो वहीं पर हमारी कंडीशन जो है खत्म हो जाएगी हमारी स्टेटमेंट जैसे अगर इसको एक बार पहले रन कर लेते कंपाइल किया रन करके अब एज अगर डाले 15 तो प्रिंट हुआ नॉट एडल्ट इसने क्या किया पहले कंडीशन चेक करी उसके बाद अगर ट्रू थी तो यह करवाना था पर ट्रू तो नहीं थी तो नहीं तो इसने बाद वाली कंडीशन जो है नॉट एडल्ट को प्रिंट करवा दिया अब यहीं पर अगर हम एक टर्मिनेटर लगा देते तो एक तो सबसे पहले एरर ही आ जाता क्योंकि टर्मिनेटर के बाद हम सेमीकलन नहीं लगा सकते इसीलिए टर्मिनेटर यहां पर लगाना सही नहीं होगा आल्सो टर्न ऑपरेटर को तभी यूज़ करना है जब हमारे पास सिंगल लाइन कुछ हो यहां पे क्योंकि टर्मिनेटर तो लगा ही नहीं सकते तो जब भी इफ एल्स में हमें सिंगल स्टेटमेंट लिखनी हो उसकी जगह हम टरनरी ऑपरेटर यूज कर सकते हैं लद ये काफी इंपॉर्टेंट है सिंटेक्स बहुत अच्छा है इस ऑपरेटर का इसका प्रैक्टिकल यूसेज ज्यादा नहीं है मोस्टली आपके प्लेसमेंट्स या एग्जाम्स में य पूछा जाता है तो इसको हम ध्यान रख सकते हैं अब नेक्स्ट जिस कंडीशनल ऑपरेटर की बात करेंगे हम उसका नाम है स्विच जैसे हमने घर में लाइट के स्विच देखे होंगे पंखे के स्विच देखे होंगे टीवी का स्विच देखा होगा स्विच क्या करता है अगर उसको ऑन कर दो तो कुछ काम कर देता है ऑफ कर दो तो कुछ काम नहीं करता उसी तरीके से हमारा कोडिंग के अंदर स्विच होता है जिसकी अगर आपने कंडीशन ऑन कर दी तो वह आपको काम करके दे देगा और नहीं करी तो आपका काम नहीं होगा अब स्विच को लिखने का सिंटेक्स कुछ ऐसा रहता है जिसमें सबसे पहले तो कीवर्ड लिख देते हैं हम स्विच उसके अंदर हम लिखते हैं कुछ नंबर या कैरेक्टर और स्विच बेसिकली क्या करता है उस नंबर या कैरेक्टर से कुछ कांस्टेंट्स को मैच करता है जैसे नंबर आपने दे दिया एज फिर कांस्टेंट हमारा हो गया 1 2 3 4 5 6 7 8 9 10 लद ये बहुत इंप्रैक्टिकल केस है स्विच के लिए इस तरीके से हमारे बहुत सारे कांस्टेंट नंबर्स हो गए तो वो आपकी एज को जिस भी केस में मैच कर देगा मतलब वन के साथ अगर उसने आपकी एज को मैच कर दिया आपने एज में वन डाला था उसने वन के साथ उसको मैच कर दिया तो उसके आगे जो भी लिखा होगा वो उस काम को करके आपको दे देगा तो इस तरीके से आपने उसका स्विच ऑन कर दिया केस मैच करवा के फिर वो आपको काम करके दे देगा अब स्विच हम लिखते हैं उसके अंदर जिसके साथ भी जिस भी वेरिएबल के साथ नंबर या कैरेक्टर ही डाल सकते हैं य पे हमें मैच करवाना है फिर वो केसेस चेक करता है यहां पर हम कुछ कांस्टेंट लिखते हैं जैसे वन हो गया टू हो गया तो हम कुछ इस तरीके से लिखते हैं केस वन केस टू केस ्र और इन टर्म्स ऑफ कैरेक्टर अगर मान लो कैरेक्टर के साथ करवाना है तो केस ए केस बी केस केस के बाद कांस्टेंट लिखना है उसके बाद हमें कोलन लगाना है फिर अपनी जो भी स्टेटमेंट जितनी भी स्टेटमेंट है वो सारी लिख दो इसी तरीके से अगला केस लिखेंगे जो भी स्टेटमेंट है सारी और लास्ट में ब्रेक जरूर लिखना है ब्रेक का काम होता है केस के बाद बाहर निकालना आपको स्विच से अगर स्विच से ये ब्रेक नहीं होगा तो ये सारी की सारी स्टेटमेंट्स एग्जीक्यूट हो जाएंगी अगर एक स्विच ऑन हो गया और ब्रेक आपने नहीं लिखा तो सारे स्विच ऑन हो जाएंगे उसके बाद वाले यह मतलब होता है ब्रेक का कि अगर आपको सार सारे स्विच ऑन नहीं करने अगर करना चाहते हो तो वो तो डिफॉल्ट बिहेवियर है अगर सारे स्विच ऑन नहीं करने तो पहले स्विच के बाद ही ब्रेक कर दो और लास्ट में हमारा केस होता है एक डिफॉल्ट केस कि ऊपर वाला कुछ भी ट्रू नहीं हुआ तो ये चीज कर दो अब ये हमारे एल्स की तरह होता है कि ऊपर वाला कोई भी इफ एल्स या एल्स इफ ट्रू नहीं हुआ तो फिर अपना एल्स एग्जीक्यूट कर दो स्विच का एल्स होता है डिफॉल्ट अब इसका एक एग्जांपल लेते हैं एग्जांपल के अंदर क्या करेंगे हम यूजर से इनपुट लेने वाले हैं डे तो इंट डे हम इनपुट ले लेंगे यूजर से डे का यहां पर मतलब क्या है वन मतलब मंडे टू मतलब ट्यूसडे थ्री मतलब वेनसडे एंड सो ऑन हमने सात तक जो नंबर है डेज के वो यूजर को बोला है एंटर करने के लिए यहां हम लिख सकते हैं वन से सेन तक एंटर करने है और फिर यहां लिख देंगे एंड डे फिर लिखेंगे अपना स्विच स्विच के अंदर ये अ सिर्फ आप वीएस कोड के अंदर कोड कर रहे हैं तो एक बार आप एंटर दबाए सारी की सारी चीजें जो है लिखी आ जाएंगी पर सिंस हम फर्स्ट टाइम लिख रहे हैं हम शुरुआत से लिखेंगे स्विच के बाद लगते हैं पैरेंस पैरेंस के अंदर जिसको भी हमें चेक करना है वेरिएबल को वो लिखेंगे हमें किसको करना है डे को चेक करना है फिर लगाएंगे कर्ली ब्रेसेज अब इस ब्लॉक के अंदर सारी स्टेटमेंट्स लिखेंगे सबसे पहले लिखेंगे केस वन केस वन क्या कहता है कि हमारा दिन जो है वो मंडे है तो मंडे हमने लिख दिया अब इसके बाद हम कर देंगे ब्रेक इसी तरीके से छह और केसेस हम लिखने वाले हैं तो यहां पर हम कर देंगे केस टू उसके अंदर लिखेंगे अपना दिन ट्यूजडे इसमें नेक्स्ट लाइन डाल देते हैं इसमें भी नेक्स्ट लाइन डाल देते हैं यहां पर हमारा केस थ्री इसके अंदर भी नेक्स्ट लाइन केस फोर दिस इज गोइंग टू बी केस फाइ इज फ्राइडे अब मान लेते हैं हमारे यूजर ने हमें 29 एंटर करके दे दिया तो उस केस में तो कुछ प्रिंट ही नहीं कर सकते हम तो उस केस में हम डिफॉल्ट लिख देंगे यहां पे यानी हमारा एल्स वाला केस अब डिफॉल्ट में हम प्रिंट करवा देंगे नॉट अ वैलिड डे अब डिफॉल्ट के बाद हमें ब्रेक नहीं लिखना पड़ता क्योंकि डिफॉल्ट के बाद कोई स्विच ही नहीं है जो इसके बाद हम ऑन करवा लें अब इसको कर लेते हैं सेव एक बार कोड को रन करते हैं तो हमें अच्छे से समझ में आएगा एग्जीक्यूट होता कैसे है कंपाइल रन सबसे पहले हमें एंटर करना है डे डे हम एंटर करते हैं मान लीजिए थ्री थ्री हमने एंटर किया तो हमारे लिए वेनसडे प्रिंट हो गया जैसे ही डे की वैल्यू में थ्री स्टोर हुआ स्विच ने क्या किया थ्री का मैच ढूंढना शुरू कर दिया कांस्टेंट्स के साथ सबसे पहले वन के साथ चेक किया फॉल्स आया टू के साथ चेक किया फॉल्स आया थ्री के साथ थ्री मैच हो गया जैसे ही मैच हो गया यह वाली कंडीशन इसने कर दी एग्जीक्यूट उसके बाद कर लिया ब्रेक तो यह बाहर आ गया अब मान लेते हैं यह ब्रेक यहां पर नहीं होता या फिर इसको कर लेते हैं कॉमेंट आउट इस ब्रेक को भी कर देते हैं कॉमेंट आउट यह जो सारे ब्रेक्स हैं इनको अगर हम कॉमेंट आउट कर दें और कर लेते हैं सेव और दोबारा से एक बार कंपाइल करके इसको रन करें तो फिर अब अगर हम थ्री एंटर करेंगे थ्री हमने एंटर किया तो हमारे लिए क्या प्रिंट हुआ पहले तो वेनसडे प्रिंट हुआ मतलब मंडे और ट्यूजडे तो प्रिंट हुए नहीं क्योंकि वहां पे तो मैच ही नहीं किया जैसे ही थ्री के साथ मैच कर दिया मतलब हमने स्विच ऑन कर दिया अब वेनसडे प्रिंट हो गया उसके बाद सारे प्रिंट हो गए थर्सडे भी प्रिंट हुआ फ्राइडे भी प्रिंट हुआ सैटरडे भी संडे भी एंड उसके बाद नॉट अ वैलिड डे भी प्रिंट हुआ यानी उसके बाद वाले जो सारे स्विच है ना यहां से बाद वाले वो सारे ऑन हो गए इसीलिए ब्रेक हमारा काम आता है क्योंकि हमें सारे स्विच ऑन नहीं करने सिर्फ एक स्विच ऑन करना है जैसे ये ऑन हो जाए आप यहां से बाहर निकल जाओ आगे के इसीलिए जब भी स्विच लिखें बहुत इंपॉर्टेंट है ब्रेक लगाना अब एक बार डिफॉल्ट को भी चेक कर लेते हैं अगर हम एंटर करें मान लीजिए 19 तो 19 नॉट अ वैलिड डे हमारे लिए प्रिंट हो जाएगा तो इस तरीके से हमारा स्विच जो है वो काम करता है अब इसी सेम कोड के लिए हम कैरेक्टर्स के साथ भी खेल सकते हैं जैसे ये जो डे हमने बनाया ना इसको इंटी जर टाइप का नहीं इसको कैरेक्टर टाइप का बनाते हैं और मंडे के लिए एम होगा ट्यूसडे के लिए हमारा टी होगा छोटे वाला वेनसडे के लिए डब्लू थर्सडे के लिए हम कैपिटल टी रख लेते हैं फ्राइडे के लिए एफ रख लेते हैं सैटरडे के लिए स्मल एस और संडे के लिए कैपिटल एस तो इस तरीके से हम अपना डे ले लेंगे और यहां पर अब केस चेंज कर देते हैं केस में लिखेंगे कैरेक्टर्स इसको कर लेते हैं सेव और अब इसको दोबारा करते हैं रन तो यहां पर हमें लिखना है एस अगर हम डे अपना एंटर करें तो इस बार हम एंटर करने वाले हैं एफ तो हमारे लिए फ्राइडे प्रिंट हो गया और इस बार हमने कोई दूसरा कैरेक्टर जैसे मान लीजिए हमने एंटर किया ट द रेट तो उस केस में प्रिंट हुआ नॉट अ वैलिड डे तो हम कैरेक्टर्स भी एज अ कांस्टेंट यूज़ कर सकते हैं और अपने इंटी जर्स भी एज अ कांस्टेंट यूज़ कर सकते हैं अब इसके बाद स्विच की अपनी कुछ-कुछ प्रॉपर्टीज होती हैं जैसे दो प्रॉपर्टीज के बारे में मेजर्ली हम बात करेंगे सबसे पहले कि केसेस कैन बी इन एनी ऑर्डर हमने जैसे लिखा ना कि अ सबसे पहले लिखा था कि वन के लिए मंडे प्रिंट होना है टू के लिए ट्यूजडे प्रिंट होना है तो हम उनको ऊपर नीचे भी कर सकते थे हो सकता है ट्यूजडे वाली कंडीशन कि टू हो तो ट्यूजडे प्रिंट हो वो ऊपर आ रही है और वन हो तो मंडे प्रिंट हो वो नीचे आ रही है उसमें स्विच जो है एरर नहीं देता जैसे हमने यहां पे किया हुआ है डब जो है अब हमारे कैरेक्टर्स में एफ के बाद आता है पर डब् वाला केस हमारे पास ऊपर है ए वाला नीचे है अगर इस फ्राइडे वाले को भी हम ऊपर लिख देंगे तो कोई एरर नहीं आ रहा होगा सेकंड चीज है कि नेस्टेड स्विच मतलब स्विच इनसाइड स्विच आर अलाउड हम हो सकता है स्विच के अंदर हम हो सकता है स्विच के अर अंदर अपना एक अलग स्विच लिख दें जैसे बाहर है डे कौन सा है उसका हमने केसेस बना दिए हैं और केस मान लो थ्री नंबर जब ट्रू हो जाता है तो उसके बाद एक और स्विच लगा दो व लगा देंगे हम ईयर का कि ईयर कौन सा चल रहा है या लगा देंगे मंथ का कि मंथ कौन सा चल रहा है तो उसमें भी हमारे केस फोर मान लो ट्रू हो गया तो ऐसी तरीके से स्विच के अंदर हम स्विच जो है डाल सकते हैं और ऊपर हमें पढ़ना था कि इफ के अंदर भी हम डिफरेंट इफ जो है वो डाल सकते हैं एक बार इफ के अंदर इफ यानी इफ है कंडीशन वन है वो ट्रू हो जाती है तो दूसरा इफ है जिसके अंदर कंडीशन टू है उसको आप प्रिंट कर दो इस तरीके की इफ स्टेटमेंट्स को हम नेस्टेड नेस्ट यानी घोसला बना लेना एक के अंदर एक जाके तो इसको हम नेस्टेड इफ कहते हैं इसका भी एक एग्जांपल देख लेते हैं जैसे मान लो हमें एक नंबर एंटर करवाना है यूजर से इंट नंबर तो प्रिंट करेंगे एंटर नंबर और फिर स्कैन कर लेंगे नंबर के लिए अब कुछ कंडीशंस लिखते हैं सबसे पहले चेक करेंगे कि नंबर हमारा पॉजिटिव है या नेगेटिव है तो पॉजिटिव नंबर के लिए क्या करेंगे चेक कर लेंगे इफ नंबर इज ग्रेटर देन इक्वल टू 0 उस केस में नंबर के लिए हम प्रिंट करवा रहे होंगे पॉजिट और अगर ऐसा नहीं है मतलब एल्स वैसे इस एल्स को हम यहां भी लिख सकते हैं यूजुअली मैं प्रेफर करती हूं कि सेम लाइन में लिख दू तो एल्स के लिए हम प्रिंट करवाएंगे नेगेटिव अब इसके अंदर जैसे ही नंबर पॉजिटिव हो जाता है फिर हमें चेक करना है कि नंबर हमारा इवन है या ऑड है वो भी हम प्रिंट करवाएंगे तो यहां पर एक और फ लिख सकते हैं कि नंबर मॉडलो टू अगर हमारा इक्वल टू जीरो हो जाता है डल्स की कंडीशन हम ऑलरेडी चैप्टर टू के प्रैक्टिस सेट के अंदर पढ़ चुके हैं तो यह काफी आसान होना चाहिए हमारे लिए समझने में कि यहां पर कैसे हमने चेक किया कि नंबर इवन है तो यहां पर हम प्रिंट करवा देंगे इवन नहीं तो इसका भी खुद का एल्स हो सकता है हम प्रिंट करवाने वाले हैं ऑड इसको कर लेते हैं सेव अब एक बार रन करते हैं हम जो नंबर एंटर कर दैट इज 24 24 के लिए प्रिंट हुआ कि ये पॉजिटिव नंबर भी है और इवन नंबर भी है तो इसने क्या किया एक कंडीशन ट्रू हो गई उसके बाद इसने दूसरी कंडीशन भी चेक करी कि उसको भी देखना है क्या कि सही है या नहीं है ये सेम कंडीशंस हम एल्स के अंदर भी लिख सकते हैं यहां पर जाकर हम अपना कोई इफ कंडीशन बना सकते हैं फिर एल्स कंडीशन तो इस तरीके से जब भी इफ कंडीशन दूसरे इफ के अंदर लिखी होती है इस सिचुएशन को हम नेस्टेड इफ या नेस्टेड एल्स सिचुएशन कहते हैं अब कुछ क्वेश्चंस प्रैक्टिस कर लेते हैं अपने कांसेप्ट को दिमाग के अंदर बहुत ही अच्छे से डालने के लिए सबसे पहला हमारा सवाल है कि राइट अ प्रोग्राम टू चेक इफ अ स्टूडेंट पास्ड और फील्ड हमारे पास एक स्टूडेंट के मार्क्स होंगे जो गिवन होंगे 100 में से मार्क्स हमें दिए जाएंगे अगर मार्क्स हमारे 30 से ज्यादा है तो बच्चा पास हो गया अगर 30 से कम है तो बच्चा हमारा फेल हो गया तो इसी सिचुएशन को हमें कोड में कन्वर्ट करना है तो सबसे पहले तो क्या करेंगे मार्क्स को एंटर करा लेंगे यहां पर इस वेरिएबल को बना देंगे मार्क्स एंटर मार्क्स मार्क्स की रेंज दे देते हैं जीरो से 100 कुछ बच्चे को जीरो भी आते हैं जो बेचारे एब्सेंट हो जाते हैं पेपर वाले दिन और यहां लिख देंगे हम मार्क्स अब हमें दो कंडीशंस लिखनी है एक तो पास वाली और एक फेल वाली तो सबसे पहले इसको फफल से लिखने की कोशिश करते हैं इफ में डालेंगे अगर हमारे जो मार्क्स है दे आर लेस देन 30 या फिर हमारे क्वेश्चन में दिया हुआ लेस दन इक्वल टू 30 तो उस केस में हमें प्रिंट करवाना है फेल और अगर ऐसा नहीं है तो उस केस में प्रिंट करवाना है पास तो यहां पे टर्मिनल ऑन करेंगे कंपाइल रन मार्क्स अपने डालेंगे हम 56 हम हो चुके हैं पास दोबारा से इसको रन करके मान लो हमने डाला 105 क्योंकि हम क्लास के शैतान बच्चे हैं 105 डालने के बाद भी पास प्रिंट हुआ जबकि हमें डालना था 100 तक के लिए तो इसमें हम अपनी कंडीशन लगा सकते हैं कि एल्स इफ मार्क्स जो है हमारे ग्रेटर दन 30 तो है एंड मार्क्स हमारे लेसन इक्वल टू 100 है तो उस केस में तो पास प्रिंट कर दो नहीं तो एक और एल्स है जिसके अंदर हम प्रिंट करने वाले हैं रंग मार्क्स इसके अंदर भी कंडीशन लगा सकते हैं कि मार्क्स जो है दे शुड बी ग्रेटर देन इक्वल टू 0 एंड एंड मार्क्स लेस दन इक्वल टू 30 तो इस तरीके की जब सारे जो केसेस होते हैं उनको कवर करने वाली हम स्टेटमेंट्स लिखते हैं तो हमारा कोड जो है सेफ रहता है ज्यादा अब इसको भी कंपाइल कर लेंगे और इस बार अगर हमने सोचा कि हम 105 डालेंगे तो इस बार हमारे लिए प्रिंट हो जाएगा रॉन्ग मार्क्स तो इस तरीके से सेफ केसेस जो है हमें डालने पड़ते हैं के अंदर अब इसी सेम चीज को हम टरनरी स्टेटमेंट की हेल्प से भी कर सकते थे यानी इसको अगर कर दे कॉमेंट आउट यह सारे लाइंस को एक साथ कॉमेंट करने के लिए हमें प्रिंट करना हमें प्रेस करना पड़ता है कमांड और स्लैश तो अगर आपको दोबारा से किसी भी मेजॉरिटी चंक जो स्टेटमेंट्स है उनको कॉमेंट में कन्वर्ट करना है तो कमांड स्लैश आपको प्रेस करना पड़ेगा या अगर हम विंडोज सिस्टम पे मार्क्स अगर हमारे पर इसमें ज्यादा स्टेटमेंट्स हम चेक नहीं कर पाएंगे क्योंकि टरनरी बहुत ही सिंपल कंडीशन के लिए होता है मार्क्स अगर हमारे लेस देन इक्वल टू 30 है क्वेश्चन मार्क उस केस में हम प्रिंट करवा देंगे फेल नहीं तो हम प्रिंट करवा देंगे पास तो यहां पर हमें मैजिक समझ में आता है टरनरी ऑपरेटर का कि एक सिंगल लाइन में यह चार पांच लाइन का इसने कोड जो है कन्वर्ट कर दिया है अब इसको करते हैं रन मार्क्स हम एंटर कर रहे हैं अपने 23 तो हम हो चुके हैं फेल और वहीं पर अगर हम 89 एंटर करें तो उस केस में हम हो जाएंगे पास अब सेकंड जो प्रैक्टिस क्वेश्चन है उसकी बात करें तो इस केस में हमें ज्यादा केसेस दिए हुए हैं जैसे राइट अ प्रोग्राम टू गिव ग्रेड्स टू अ स्टूडेंट इसमें सबसे पहली कंडीशन है मार्क्स अगर लेस दन 30 है तो सी ग्रेड देना है 30 और 70 के बीच में तो बी देना है 70 और 90 के बीच में तो a देना है और 90 और 100 के बीच में तो a प्स देना है अब इन चारों कंडीशंस को हमें कोड की फॉर्म में लिखना है तो एक के बाद एक शुरू हो जाते हैं मार्क्स हमें दिए होंगे इस केस में टरनरी नहीं यूज कर सकते क्योंकि टरनरी बहुत कॉम्प्लेक्शन में चेक कर लेंगे मार्क्स अगर हमारे लेस दन 30 है तो उस केस में हम प्रिंट कर देंगे सी हमारा ग्रेड अब फिर एल्स इफ लगाएंगे अगर ऊपर वाली कंडीशन फॉल्स हो गई है तो नीचे वाला चेक कर लो कि मार्क्स हमारे मार्क्स आर ग्रेटर दन इक्वल ट 30 एंड एंड मार्क्स आर लेस देन हमारी कंडीशन क्या थी 70 की अब मैं जब भी मार्क्स वाले क्वेश्चन लेती हूं ना मैं बहुत कोशिश करती हूं कि ज्यादा ज्यादा ग्रेड्स दूं ताकि किसी बच्चे की अगर कम भी आए हैं तो उन्हें बुरा ना लगे वीडियो देखते हुए तो इस केस में यह ग्रेड आ जाएगा फिर लिखेंगे एल्स इफ अबकी बार मार्क्स आर ग्रेटर देन इक्वल टू हमारे 70 एंड एंड 70 एंड एंड मार्क्स आर लेस देन 90 तो इस केस में हम प्रिंट करने वाले हैं सेम कंडीशंस प्रिंट करने वाले हम ए और लास्ट हमारा एल्स केस आ जाएगा जिसमें हम प्रिंट कर देंगे अपने लिए ए प्लस प्लस या ए प्लस ज्यादा प्लस प्लस नहीं देते टीचर्स तो यह हमारी चार कंडीशन जो है हमने लिख दिए है फफ एल्स की फॉर्म में टर्मिनल विंडो हम खोलेंगे कंपाइल कर देंगे कोड को रन करेंगे अब अपने मार्क्स हमें एंटर करने हैं मान लेते हैं हमारे मैं फिजिक्स के मार्क्स 98 वाउ आई गट एन ए प्लस वहीं पर अगर आप किसी और सब्जेक्ट के डालना चाहे तो हम वो भी डाल सकते हैं जैसे मान लीजिए किसी सब्जेक्ट में हमारे 40 आए हैं तो उसमें हमारा ग्रेड जो है बी आ जाएगा तो इस तरीके से आप अपना एक छोटा सा मिनी प्रोजेक्ट बना सकते हैं जिसमें अपने मार्क्स के हिसाब से अपना ग्रेड आप कैलकुलेट करने के फॉर्मूले लगा सकते हैं अपने कॉलेज के या स्कूल की जो आपकी करिकुलम शीट होती है जो डिफाइन करती है कितने मार्क्स पे क्या ग्रेड मिलेगा उस हिसाब से या इवन आप सुपरमार्केट का अगर कोई एप्लीकेशन बनाना चाहे तो उसमें कौन से आइटम पे कितना टैक्स लगाना है और टैक्स लगा के जो फाइनल वैल्यू आएगी उसके लिए भी आप कोई प्रोग्राम बना सकते हैं तो ऐसे काफी सारे प्रोग्राम्स होमवर्क प्रॉब्लम्स में भी दिए होंगे अब बढ़ते हैं अपने नेक्स्ट सवाल की तरफ नेक्स्ट सवाल है हमारा एक प्रैक्टिकल कोड हमें दिया हुआ है विल दिस कोड यहां पे क्वेश्चन मार्क होना चाहिए था अब यहां पे हमें एक कोड दिया है जिसमें इंट x हमारा एक वेरिएबल है जिसमें हमने वैल्यू डाल रखी है 2 फिर लिखा है x = 1 और अगर यह स्टेटमेंट ट्रू हो जाती है तो प्रिंट करेंगे x = 1 नहीं तो प्रिंट करेंगे x इ नॉट इक्वल टू 1 तो इसमें ऑप्शंस हमारे हैं क्या ये प्रोग्राम हमें एरर देगा क्या यहां पे x = 1 प्रिंट हो जाएगा या x इज नॉट इक्वल टू 1 प्रिंट हो जाएगा काफी स्ट्रेट फॉरवर्ड सवाल है अगर हमें एक छोटी सी बात याद होगी जो हमने सीखी थी असाइनमेंट ऑपरेटर्स या रिलेशनल ऑपरेटर्स पढ़ते टाइम कि c के अंदर कभी भी आप रो लिख दो वह हो जाता है फॉल्स और कभी भी नॉट जीरो वैल्यू लिख दो यानी वन लिख दो ट लिख दो -1 लिख दो -2 लिख दो ये सारी वैल्यूज हमारी हो जाती हैं ट्रू इस चीज को हम यहां पे यूज करेंगे सबसे पहले आप रोक कर एक बार खुद से गेस करिए खुद से लॉजिकली गेस करिए गेस नहीं बेसिकली मैं कहूंगी एनालाइज करिए कि इसका क्या आंसर होना चाहिए तीनों में से इन तीनों में से हम आंसर सोचे खुद रीजन लगाएं और नहीं आता है या आ भी गया है तो उसके बाद रीजन को चेक जरूर करना है इसको ना सबसे पहले एग्जीक्यूट करके देख लेते हैं कि इसका आउटपुट क्या होने वाला है इंट x को हमने ऑलरेडी लिख रखा है ू अगर हमारा एक्व है हम यह कहने की कोशिश कर रहे हैं जरूरी नहीं है कह रहे हो तो प्रिंट करना है x इ इक्वल टूव नहीं तो प्रिंट करना है एक्स इज नॉट इक्वल टूव इसको कर लेते हैं सेव इसको करते हैं रन सबसे पहले तो यहां पर वार्निंग जनरेट हो गई है पर ठीक है हम इस वनिंग इग्नोर करने वाले हैं प्रिंट हुआ है हमारे लिए x = 1 अब यह प्रिंट क्यों हुआ क्योंकि x तो 2 के बराबर है ऐसा इसलिए हुआ क्योंकि अगर हमें चेक करना होता है कि x अगर टू के इक्वल है तो हम दो इक्वल टू लगाते हैं पर हम यहां पे सिंगल इक्वल टू लगाया है तो ये सिंगल इक्वल टू क्या कर रहा होगा ये सिंगल इक्वल टू बेसिकली पहले मेमोरी के अंदर एक वेरिएबल था x जिसके अंदर स्टोर्ड था टू इस सिंगल इक्वल टू ने क्या किया वहां से टू को हटा दिया और व वहां प वन को डाल दिया तो अब इस इफ कंडीशन के अंदर x की वैल्यू यानी कि वन जो है वो है अब वन एक नॉन जीरो वैल्यू है तो ये ट्रू हो जाएगा और यहां पर हम प्रिंट कर देंगे x = 1 अब अगर यहां पर हम मान लीजिए यहां पर वन की जगह फर भी लिख रहे होते तो भी यही प्रिंट होता जैसे अगर x को हमने कोड में रिप्लेस कर दिया एस फोर इसको कर लेते हैं सेव और इसको करते हैं रन तो कंपाइल किया वार्निंग इग्नोर करेंगे तो अब प्रिंट होगा x = 1 लद अगर हम प्रिंट करवाना चाहे x को तो व वन नहीं है उसकी वैल्यू फर हो चुकी है अब तो यहां पे लिखेंगे x को सेव इसको दोबारा से करते हैं कंपाइल रन तो x = 1 आया है उसके बाद हमारे पास बाद में फर प्रिंट हो गया है बिना स्पेस के तो य 14 लग रहा है यहां पे नेक्स्ट लाइन लगाना चाहिए था तो x = 1 और फिर प्रिंट हुआ है 4 तो बेसिकली क्या हुआ लॉजिक क्या है लॉजिक यह है कि इस लाइन ने x की वैल्यू में ट को हटाकर वहां पर वन स्टोर कर दिया है और फिर इसके अंदर सिंस हमारे पास नॉन जीरो वैल्यू है वन तो वो ट्रू की तरह लेगा उसको ट्रू की तरह लेगा तो इस स्टेटमेंट में जो भी लिखा हो वो हमारा एग्जीक्यूट हो ही जाएगा यहां पर अगर हम x = 0 लिख देते तब ये एग्जीक्यूशन नहीं होता तब ये वाली कंडीशन एग्जीक्यूट होती जैसे अगर हम यहां पर लिख दें x = 0 और इसको अब करें कंपाइल एंड रन इस केस में प्रिंट होगा x इज नॉट इक्वल टू 1 क्योंकि x की वैल्यू अगर जीरो हो गई तो यहां तो रो आ गया इफ के अंदर वो एक फाल्स वैल्यू है फाल्स हो गया तो हमेशा एल्स वाली स्टेटमेंट जो है वो रन करेगी तो इस क्वेश्चन का सही आंसर होना चाहिए था कि एरर तो देगा नहीं एरर तो हमारे पास कोई आया नहीं हां वार्निंग जरूर आई है क्योंकि कंपाइलर को शक हो रहा है कि आप कुछ गलत कर रहे हैं क्योंकि आप इक्वलिटी तो चेक नहीं कर रहे हैं आप असाइनमेंट कर रहे हैं इफ के अंदर जो लॉजिकली गलत माना जाता है पर कंपाइलर रूल्स के हिसाब से गलत नहीं तो यहां पर सही आउटपुट होगा प्रिंट x इ 1 क्योंकि x = 1 प्रिंट हो जाएगा क्योंकि x = 1 करते ही हमारे इफ में वन आ जाएगा जो कि एक ट्रू वेरिएबल है अब नेक्स्ट सवाल जिसको हम करने वाले हैं यह आखिरी सवाल है हमारा प्रैक्टिस सेट में वो है राइट अ प्रोग्राम टू फाइंड इफ अ कैरेक्टर एंटर्ड बाय यूजर इज अपर केस र नॉट अपर केस कैरेक्टर्स क्या होते हैं a b कपिल a कपिल b कपिल c इस तरीके लोअर केस क्या होते है स्मल ए स्मल बी स्मल सीमल डी इस तरीके से तो इनको हम अपर केस कहते हैं इनको हम लोअर केस कहते हैं हमें चेक करना है हमारा कैरेक्टर एक यूजर ने जो एंटर किया है वो अपर केस है या नहीं है इसके लिए देखते हैं क्या टेक्नीक हम यूज करेंगे सबसे पहले तो एक प्रोग्राम बना लेते हैं जिसमें कैरेक्टर सीच हमें एंटर करवाना है यूजर से एंटर कैरेक्टर इसमें कर लेंगे स्कैन एफ परसेंटेज सी एंड सी अब चेक कर लेंगे कि हमारा जो सी है वो ग्रेटर दन इक्वल टू a है यह चीज हमने नहीं देखी होगी क्योंकि हमेशा हम इंटी जर के साथ कंपेयर कर लेते हैं फ्लोट के साथ कर लेते हैं फर्स्ट टाइम हम कैरेक्टर की वैल्यू को कैरेक्टर के साथ कंपेयर कर रहे हैं रिलेशनल ऑपरेटर से तो यह भी पॉसिबल है क्योंकि इंटरनली सी कैसे काम करता है हर कैरेक्टर की ना एक एस्का वैल्यू होती है तो a जो है उसकी एस काई वैल्यू शायद 97 है और इस तरीके से z तक हमारी बहुत सारी अलग-अलग वैल्यूज हैं तो अगर हमें लोअर केस चेक करना हो तो इसको a से चेक कर लेंगे यहां पे यह हमारी एका वैल्यू प्रिंट भी हो रही है 97 हमारे लिए अगर यहां पर हम b कर लें तो उसकी एस काई वैल्यू क्या होगी 98 उसी तरीके से c करें तो 99 आ जाएगी तो एस काई वैल्यूज होती हैं एका वैल्यू इज बेसिकली कि हर कैरेक्टर का अपना एक इंटी जर होता है जो उसके साथ एसोसिएटेड होता है और कंपाइलर को पता होता है वो इंटी जर तो या तो हम कैरेक्टर को डायरेक्टली एस काई वैल्यू के साथ कंपेयर कर सकते हैं जैसे कैरेक्टर इज ग्रेटर दन इक्वल ट 97 लिखना एंड कैरेक्टर इज ग्रेटर दन इक्वल टू a लिखना इसका और इसका मतलब सेम है कंपाइलर के लिए तो या तो यह लाइन लिख लो आप या यह लाइन लिख लो कोई डिफरेंस नहीं आएगा तो यहां पे हम कंपेयर करने वाले हैं कपिल a के साथ तो कैपिटल a की एका वैल्यू है 65 एंड एंड सी इज लेस देन इक्वल टू कैपिटल जीी कैपिटल जीी की एस काई वैल्यू है 90 तो ये बढ़ती जाती है यानी कैपिटल ए की होगी जो 65 तो कैपिटल बी की 66 कैपिटल सी की 67 इस तरीके से बढ़ती जाती है अगर हमारा कैरेक्टर इस ए से बड़ा है इसके इक्वल है और जी से छोटा है और उसके इक्वल है अब मेरे एडिटर्स ने मुझसे पूछा जड क्यों बोला है तो ब्रिटिश इंग्लिश में जड बोलते हैं अमेरिकन इंग्लिश में जी बोलते हैं तो प्रिंट एफ हमें करना है अपर केस इस केस में तो अपर केस हम लिख देंगे वरना एल्स एल्स में एक और केस चेक कर लेते हैं कि सीच हमारा अगर सीच अगर हमारा ग्रेटर दन इक्वल टूल ए है एंड एंड सी हमारा लेसन इक्वल टू स्लजी है तो उस केस में हम प्रिंट करने वाले हैं लोर केस अब इसके अलावा जो हमारा एस्ट रिस्क होता है एम परसेंट होता है वह सारे भी हैशटैग हैश कैरेक्टर यह सभी कैरेक्टर्स होते हैं उनके इसमें हम प्रिंट करेंगे नॉट इंग्लिश लेटर इंग्लिश का लेटर नहीं है आपने कोई और ही कैरेक्टर हमारे पास प्रिंट करके हमें दे दिया है इन सबके बाद लगा लेते हैं एक नेक्स्ट लाइन को कर लेते हैं सेव और इसको करते हैं रन अब कैरेक्टर हमें एंटर करना है मान लीजिए सब सबसे पहले एंटर कर रहे हैं हम जी जी के लिए इसने बता दिया कि अपर केस कैरेक्टर है पर अगर हम स्मल जी एंटर करें तो बोल देगा लोअर केस है और अगर हम परसेंटेज का साइन एंटर कर दें इस कैरेक्टर तो बता देगा नॉट इंग्लिश लेटर तो इस तरीके से हम अपना पूरा प्रोग्राम बना सकते हैं जो चेक कर रहा है कि अपर केस है या लोअर केस है बहुत सारे इसमें अच्छे-अच्छे प्रोग्राम्स बन सकते हैं हमने कुछ क्वेश्चंस प्रैक्टिस कर लिए जो स्टैंडर्ड क्वेश्चंस है प्लेसमेंट में आपके कॉलेज के क्वेश्चंस में पूछ लिए जाते हैं इसके अलावा आपको होमवर्क प्रॉब्लम्स दिए होंगे उनको खुद से सॉल्व करना है अगर सवाल नहीं हो रहा तो फिर अपने नोट्स से थोड़ी सी हेल्प लेनी है बहुत आसानी से हमने बहुत ही इंपॉर्टेंट बहुत ही क्रुशल चैप्टर जो है कंप्लीट कर लिया है एंड इसके बाद बढ़ेंगे अपने फोर्थ चैप्टर की तरफ जिसमें हम कवर करने वाले हैं लूप्स को हाय एवरीवन और अब हम शुरुआत करने वाले हैं अपने चैप्टर फोर की जिसका नाम है लूप कंट्रोल इंस्ट्रक्शंस इसके अंदर हम पढ़ने वाले हैं कि फॉर लूप क्या होता है वाइल लूप क्या होता है डू वाइल लूप क्या होता है साथ के साथ डिस्कस करेंगे कि दो कीवर्ड्स ब्रेक और कंटिन्यू इनका कैसे यूसेज होता है किस तरीके से इनको यूज़ करना है अपने कोड के अंदर अब लूप कंट्रोल इंस्ट्रक्शंस क्या होते हैं और इसकी हमें जरूरत क्यों पड़ती है उसको एक एग्जांपल के साथ समझ लेते हैं मान लीजिए हमें कोड के अंदर प्रिंट करवाना है हेलो वर्ल्ड तो हम क्या करेंगे सिंपली एक प्रिंट एफ स्टेटमेंट लिखेंगे जिसमें लिख देंगे हेलो वर्ल्ड अब मान लीजिए हमें पांच बार हेलो वर्ल्ड प्रिंट करवाना है तो आप बोलेंगे कोई बात नहीं सिंपली इस लाइन को एक बार कॉपी करके पेस्ट कर देंगे दोबारा से पेस्ट कर देंगे दोबारा से दोबारा से तो इस तरीके से पांच बार हम अपनी स्क्रीन पर हेलो वर्ल्ड को प्रिंट करवा देंगे पर अगर मैं कहूं कि मुझे हेलो वर्ल्ड को हज बार प्रिंट करवाना है या 10000 बार प्रिंट करवाना है या 1 लाख बार प्रिंट करवाना है तो उस केस में क्या होगा उस केस में हम मैनुअली बैठ के कंट्रोल सी कंट्रोल v तो नहीं कर रहे होंगे यानी कॉपी पेस्ट वाला जो तरीका है वो तो बहुत स्लो हो जाएगा और हमें तो दिन लग जाएंगे और अगर मैं आपको कहूं कि ये जो सेम काम है हज लाइन हेलो वर्ल्ड की प्रिंट करवाना ये हम तीन लाइनों के अंदर खत्म कर सकते हैं तो आप मुझसे पूछेंगे कि दीदी ये कौन सी ट्रिक है कोडिंग के अंदर तो कोडिंग के अंदर किसी भी काम को अगर हमें बार-बार बार बार बार-बार बार-बार करना पड़ता है तो उसके लिए हम लूप्स का इस्तेमाल करते हैं जैसे पांच लाइनों का कोड है इसको बार-बार लिखने की जगह हम एक सिंपल सा छोटी सी इंस्ट्रक्शंस यूज करते हैं और इन इंस्ट्रक्शंस को हम लूप कंट्रोल इंस्ट्रक्शंस कहते हैं लूप का मतलब इंग्लिश के अंदर होता है किसी चीज को बार-बार बार-बार कराना जैसे हम बचपन में फोन के अंदर गाने सुना करते थे तो फिर क्या करते थे अपनी प्लेलिस्ट बनाते थे फेवरेट गानों की और उनको पे सुनते रहते थे यानी वही चार-पांच गाने बार-बार बज रहे हैं या कुछ लोगों की अभी भी spotify.com एक बेसिक चीज जो हमें याद करने की जरूरत है वो यह है कि फॉर लूप से जो भी हम कर सकते हैं वो सारी चीजें हम वाइल लूप से कर सकते हैं और वो सारी चीजें भी हम डू वाइल लूप से कर सकते हैं यानी ये तीनों जो लूप्स हैं सेम काम करते हैं पर इनका सिंटेक्स थोड़ा सा अलग-अलग होगा अब मेरा फेवरेट सिंटेक्स है फॉर लूप का इसलिए मुझे कभी भी कोड में इस्तेमाल करना होता है तो मैं मोस्टली फॉर लूप का इस्तेमाल करती हूं आने हमें तीनों चाहिए पर आपको जो भी ज्यादा इजियर टू लर्न लगे आप उनमें से एक को बार-बार अपने कोड्स में यूज़ कर सकते हैं कोई परेशानी नहीं आएगी सारे के सारे काम इन तीनों में से एक लूप से भी हो सकते हैं पर तीनों इसलिए याद करने हैं पहला इसलिए क्योंकि कॉलेज के एग्जाम में अगर टीचर ने पूछ लिया कि इस सवाल का आप जवाब दीजिए और सिर्फ फॉर लूप से या सिर्फ वाइल लूप से देना है तो फिर उस टाइम पर परेशानी हो सकती है तो उस केस में तीनों का सिंटेक्स आना चाहिए सबसे पहले बात करते हैं फॉर लूप की अब फॉर लूप का सिंटेक्स कुछ ऐसा होता है जिसमें सबसे पहले हम अपना कीवर्ड लिखते हैं जो है फॉर उसके बाद लगाते हैं पैरेंस और फिर ये कर्ली ब्रेसेज जैसे इफ के टाइम पर हमने ऑब्जर्व किया था कि कुछ-कुछ कंडीशन होती है फिर हमारे कर्ली ब्रेसेज आ जाते हैं और जो भी काम कराना होता है वह बीच में हम लिख रहे होते थे वैसा ही कुछ फॉर लूप्स में होता है फॉर लूप में सबसे पहली जो कंडीशन आती है पैरेंस में इसको हम कहते हैं इनिशियल इजेशन इनिशियल इजेशन कंडीशन मतलब कोई भी काम की हम शुरुआत यहां से कर रहे होंगे जैसे अगर हमें हेलो वर्ल्ड को पांच बार प्रिंट करवाना है तो कुछ तो एक हम वेरिएबल लेंगे जो ट्रैक करेगा कि कितनी बार हेलो वर्ल्ड प्रिंट हुआ है तो उस वेरिएबल की वैल्यू शुरू हो सकती है हमारी रो से जा सकती है चार तक या उस वेरिएबल की वैल्यू शुरू हो सकती है एक से और जा सकती है पांच तक तो वो वेरिएबल क्या करेगा जैसे एक वेरिएबल ले सकते हैं i और ये i क्या करेगा इसकी सबसे पहले वैल्यू होगी वन तो ये वन गिन लेगा फिर टू फिर टू गिन लेगा थ्री फिर फोर फिर फाइव और जैसे ही वन हुई वैसे ही हेलो वर्ल्ड प्रिंट करवा दिया टू हुई वैसे ही हेलो वर्ल्ड प्रिंट करवा दिया थ्री हेलो वर्ल्ड प्रिंट करवा दिया फोर हेलो वर्ल्ड प्रिंट करवा दिया फाइव में भी इसने हेलो वर्ल्ड प्रिंट करवा दिया अब इसकी जो शुरुआती वैल्यू है यानी i = 1 यह वाली जो स्टेटमेंट है यह इनिश इजेशन स्टेटमेंट है जो यहां पे आ सकती है दूसरी है हमारी कंडीशन कंडीशन बताती है कि कब इस फॉर लूप को खत्म करना है मतलब कब हमारा काम कंप्लीट खत्म हो जाएगा जैसे यहां पर हमने लिखा था कि इंट एक वेरिएबल ले लेते हैं i जिसकी वैल्यू हम वन से शुरू कर देते हैं और उस हर काम में हर लूप के अंदर अपने लूप के अंदर फॉर के अंदर हम यहां पर प्रिंट करवा रहे होंगे क्या हेलो वर्ल्ड और यहां पर कंडीशन की जगह हम वो कंडीशन लिखेंगे जिस केस में हमारा लूप रन होना चाहिए तो हम चाहते हैं हमारा लूप तब तब रन हो जब हमारे i की वैल्यू लेस दन इक्वल टू 5 रहे तो i अगर हमारा लेस दन 5 है या इक्वल टू 5 है तब तब आप हेलो वर्ल्ड प्रिंट करते रहिए और जैसे ही आ ग्रेटर दन 5 हो गया वैसे ही अब हेलो वर्ल्ड प्रिंट नहीं करवाना क्योंकि पांच बार प्रिंट करवा दिया और अपडेशन स्टेटमेंट में हम अपने वेरिएबल को या अगर हमने लूप में कोई भी अपडेशन करना जा रहे हैं वो अपडेशंस लिखते हैं जैसे यहां पर हम लिख सकते हैं i = i + 1 हर बार i की वैल्यू को एक से बढ़ा देंगे एक से बढ़ा देंगे तो इस लूप का कंट्रोल किस तरीके से रहेगा सबसे पहले i की शुरुआत होगी वन के साथ वन के साथ फिर उस वन की कंडीशन देखी जाएगी कि क्या i < = 5 है हां है फिर वो जाएगा अंदर लूप के अंदर जो भी काम है वो उसको कर देगा उसके बाद यहां आएगा अपडेट करने अब i की वैल्यू टू हो गई i की वैल्यू टू हो गई फिर से कंडीशन चेक होगी कंडीशन है कि i < = 5 है क्या हां है क्योंकि टू की वैल्यू फाइव से कम है अब इस इनिश इजेशन पर कभी भी दोबारा नहीं जाएगा तो इस कंडीशन को चेक होने के बाद दोबारा से काम कर देगा फिर दोबारा से अपडेट हो जाएगा दो से तीन उसके बाद दोबारा कंडीशन चेक करेगा फिर दोबारा काम कर देगा फिर दोबारा अपडेट हो जाएगा तीन से चार फिर दोबारा कंडीशन चेक करेगा तो इस तरीके से इस तरीके के सर्कल में हमारा फॉर लूप रन करता रहता है एक बार इसको एक्चुअली कोड में लिखकर देखते हैं और समझते हैं कि इसको करेंगे किस तरीके से तो सबसे पहले लिखेंगे फॉर फॉर हमारा की वर्ड है फॉर लूप के लिए उसके बाद लिखेंगे इनिश इइ जशन वाली स्टेटमेंट यानी इंट i = 1 य एक तरीके से हमने एक मिनी स्टेटमेंट लिख दिया अपने फॉर लूप के अंदर तो तीन मिनी स्टेटमेंट्स का कॉमिनेशन होता है फॉर लूप सबसे पहले आएगी हमारी इनिश इइ स्टेटमेंट जिसने हमने i को इनिश इज कर दिया उसके बाद लिखेंगे अपनी कंडीशन कौन-कौन सी कंडीशन में लूप हमारा चले तो i < = 5 की कंडीशन है फिर लिखेंगे अपडेशन अपडेशन में लिख सकते हैं i = i + 1 और यहां पर अब क्या कर सकते हैं हम प्रिंट एफ करवा देंगे हेलो वर्ल्ड इसको कर लेते हैं सेव और एक बार रन करके देखते हैं कि आउटपुट क्या आता है हमारे पास जो आउटपुट आया है दैट इज हेलो वर्ल्ड एक बार उसके बाद फिर से हमारा हेलो वर्ल्ड प्रिंट हुआ है अब हम चाहते हैं हर एक हेलो वर्ल्ड नेक्स्ट लाइन में प्रिंट हो तो इसको भी कर लेते हैं सेव और दोबारा से कंपाइल एंड रन अबकी बार पांच बार हेलो वर्ल्ड हमारे लिए प्रिंट हो गया है मान लो अगर हमें 1000 बार प्रिंट करवाना होता तो कुछ नहीं बस इस फाइव को 1000 कर देते हैं एक सिंपल सा चेंज अपने फॉर लूप के अंदर और किसी भी काम को हम कितनी भी बार कर सकते हैं आप देखेंगे इसको मैं स्क्रोल करूंगी तो ऊपर वो स्क्रॉल हुए जा रहा है और हेलो वर्ल्ड एक्चुअली स्क्रीन पर हजार बार प्रिंट हुआ है तो किसी भी काम को बहुत बार बहुत बार करवाना है तो हम फॉर लूप्स का इस्तेमाल कर सकते हैं और अब मान लीजिए मुझे एक से 100 तक अगर नंबर्स प्रिंट करवाने हैं तो वो कैसे करवाएंगे लूप की हेल्प से अब नंबर्स को मुझे प्रिंट करवाना है तो इस तरीके का कुछ फैशन रहेगा जब सबसे पहले आएगा वन फिर टू फिर थ्री फिर फर 5 6 एंड इस तरीके से 100 तक हमारे नंबर्स अब हमने ऑलरेडी क्या किया है यह एक वेरिएबल ले लिया है जिसके अंदर वैल्यूज क्या है अपडेट होती जा रही है तो क्यों ना हम इसी वेरिएबल i की वैल्यू को बार-बार प्रिंट करवा दें तो अगर इसी वेरिएबल की वैल्यू को प्रिंट करवाएंगे तो यहां लिखेंगे परसेंटेज d और उसके बाद i इस 1000 को हम कर देंगे 100 आई होप कि इसका मतलब हम सबको क्लियर हो रहा है कि वेरिएबल i की वैल्यू वन से शुरू हो रही है और 100 तक जाएगी और हर बार i की वैल्यू एक से बढ़ रही है तो यहां हम क्या करेंगे वन से लेकर 100 तक वैल्यूज को प्रिंट करवाने वाले हैं तो यह सारी की सारी वैल्यूज हमारी वन से लेकर 100 तक प्रिंट हो गई है आउटपुट स्क्रीन पर अब वही हम इस वेरिएबल को डिक्रीज भी कर सकते हैं मतलब अपडेट करने का मतलब हमेशा वेरिएबल की वैल्यू को बढ़ाना नहीं होता अपडेट का मतलब में हम वेरिएबल की वैल्यू कम भी कर सकते हैं जैसे अगर मुझे 100 से लेकर या लेट्स से 10 से लेकर एक तक वैल्यूज प्रिंट करवानी होती तो मैं i की वैल्यू को शुरू करती 10 से और फिर तब तक i की वैल्यू को बढ़ाते रहते जब तक वो 10 से एक एक एक एक कम कम होकर वन ना हो जाए हर बार अपडेट करेंगे i = i - 1 की फॉर्म में और तब तक लूप चलाएंगे जब तक i हमारा ग्रेटर दन इक्वल ट 1 नहीं रहता मतलब अगर i की वैल्यू वन है तो भी लूप चलेगा टू है तो भी लूप चलेगा थ्री है तो भी लूप चलेगा और लूप चल कैसे रहा है सबसे पहले i की वैल्यू 10 है उसके बाद नौ हो जाएगी उसके बाद आठ हो जाएगी सात 6 5 4 3 2 1 एक में जैसे ही अपडेट होगा एक के बाद वैल्यू जीरो हो जाएगी उसके बाद यह लूप रन नहीं करेगा अब एक बार सेव करके इसको रन कराते हैं इस बार हमारी वैल्यूज जो प्रिंट होंगी वो 10 के बाद से प्रिंट हो रही होंगी यानी 10 9 87654321 तो कुछ इस तरीके से हमारा जो ये वेरिएबल है इसको अपडेशन के टाइम पर हम बढ़ा भी सकते हैं और कम भी कर सकते हैं अब जरूरी नहीं है यहां पर जो इनिश इजेशन करें वो हमेशा एक इंटी जर वैल्यू का हो यहां पर हम कैरेक्टर्स भी लिख सकते हैं स्ट्रिंग भी लिख सकते हैं बेसिकली अपना लॉजिक बिल्ड करते हैं क्वेश्चन के हिसाब से जो भी जरूरत होगी इनिश इजेशन की उसको करेंगे पर मोस्टली यहां पर ये आय ही आता है अब इस आय को हम या तो इटरेटर कहते हैं इसको आइट मेटर भी हम कह सकते हैं या फिर इसको कहते हैं काउंटर वेरिएबल इसका मतलब होता है एक ऐसा वेरिएबल जिसकी हेल्प से हम किसी भी काम को बार-बार करवा रहे हैं तो आइट मेशन का मतलब होता है इंग्लिश में किसी भी काम को बार-बार करना काउंटर हो होता है कि एक काउंटर रख लिया हमने जैसे दुकानों के ऊपर काउंटर पर ट्रैक करते हैं ना कि कितने कस्टमर आए वैसे ही यहां पर यह आए एक काउंटर है या एक आइट मेटर है जो ट्रैक कर रहा है कि काम कितनी बार हुआ अगर यहां पे 10 लिख दिया और यहां पर कंडीशन कहती है कि एक से बड़ा हो तब तक काम होता रहे और अपडेशन कंडीशन कहती है कि एक-एक कम होता रहे तो हमें पता है हमारा काउंटर हमें बता रहा है हमारा इटरेटर हमें बता रहा है कि हमारा लूप 10 बार चलने वाला है अब एक सवाल फॉर लूप्स के ऊपर कर लेते हैं सवाल हमारा यह प्रिंट द नंबर फ्रॉम 0 टू 10 हमें रो से लेकर 10 तक नंबर्स प्रिंट करने हैं इस क्वेश्चन को हम ध्यान से देखेंगे क्योंकि अभी तक हम नंबर्स प्रिंट कर रहे थे वन से लेकर 10 तक अबकी बार जीरो भी एडिशनल है और इन सारे नंबर्स को काउंट करें तो ये टोटल 11 नंबर्स हैं यहां पर एक छोटा सा कंफ्यूजन जो शुरुआती स्टेजेस में स्टूडेंट्स को हो जाता है वो समझते हैं कि जीरो से लेकर 10 तक हमारे पास 10 नंबर्स हैं पर एक्चुअली ऐसा नहीं है हमारे पास 11 नंबर होते हैं जीरो से लेकर 10 तक तो अब हम इसका कोड लिखेंगे कोड के लिए सबसे पहले तो अपना आइट मेटर बनाते हैं आइट मेटर है हमारा आ जिसकी वैल्यू की शुरुआत अब हम जीरो से करेंगे इसको जीरो से इनिला इज कर दिया अब यहां पर कंडीशन ये डालेंगे कि i की वैल्यू जब तक लेस दन इक्वल टू हमारी 10 की वैल्यू के इक्वल है मतलब i जब भी जब तक 10 के लेस या 10 से इक्वल है तब तक हमारा लूप चले और अपडेशन के लिए लिखेंगे i = i + 1 हर बार एक से इसको इंक्रीज करना है और यहां पर हम प्रिंट करवा देंगे परसेंटेज d i यहां पर डाल देते हैं नेक्स्ट लाइन इसको कर लेते हैं सेव एंड इसको करते हैं रन और ये रहा हमारे पास हमारा आउटपुट जिसमें रो से लेकर हमारी सारी की सारी वैल्यूज 10 तक प्रिंट हो गई है तो इस तरीके से हमारे पास टोटल 11 नंबर प्रिंट हुए हैं अब ये जो i = i + 1 है ना इसको लिखने का एक शॉर्ट हैंड होता है यानी इसको हम i + प् भी लिख सकते हैं जैसे हमने सीखा था कि i = i + 1 को अगर हमें लिखना हो तो इसको हम लिख सकते हैं i + इ 1 ये शॉर्ट हैंड हमने असाइनमेंट ऑपरेटर्स करते टाइम सीखा था अब i + = 1 को हम i + प भी लिख सकते हैं तो ये शॉर्ट हैंड का शॉर्ट हैंड बन जाता है और ये सिर्फ + व के लिए होता है यानी अगर यहां पर टू होता और यहां पर टू होता तो उसके लिए i प्स प्स प्लस हम नहीं कर सकते i प् प्लस का मतलब होता है हर बार i में एक को ऐड कर दो उसी तरीके से एक प्लस प् आ भी होता है प्लस प् आ प् प् आ का अलग मतलब होता है उसके अलावा माइनस माइनस आ भी होता है और i माइनस माइनस भी होता है अब एक बार इस प्लस प्लस और माइनस माइनस वाली चीज को थोड़ा सा डिटेल में डिस्कस कर लेते हैं इनको हम इंक्रीमेंट और डिक्रिमेंट ऑपरेटर्स कहते हैं सबसे पहले बात करते हैं अपने इंक्रीमेंट ऑपरेटर की इंक्रीमेंट करने का मतलब होता है अंग्रेजी में किसी चीज को बढ़ाना यानी इंक्रीज करना तो इंक्रीमेंट ऑपरेटर्स दो टाइप के होते हैं एक होता है हमारा प् प् आ एक होता है हमारा i+ प् अगर हम एक वेरिएबल ले ले i इसकी वैल्यू को हम इनिशियलिज्म फिर एक बार प्रिंट स्टेटमेंट लिखें जिसके अंदर हम प्रिंट करवाना चाहते हैं i की वैल्यू कोई परसेंटेज d स् n अब हम लिखवाता हैं सबसे पहले i प्लस प्लस इसको कर लेते हैं सेव और न्यू टर्मिनल तो हमारे आउटपुट में हमारे पास आया वन इस आ के बाद जब भी हम प्लस प्लस लगाते हैं इसका मतलब यह होता है कि i की वैल्यू को पहले यूज कर लो और फिर i की वैल्यू को इंक्रीज कर दो यानी प्लस प्लस जब भी बाद में लगता है उसका मतलब है यूज देन इंक्रीज पहले यूज कर लो जो भी वैल्यू है और उसको इंक्रीज कर दो आ की वैल्यू क्या थी वन अब पहले उसको यूज करने का मतलब है उसको प्रिंट करवा देना तो हमने वन को ही प्रिंट करवा दिया पर अब यह इंटरनली कंपाइलर के पास ये इंक्रीज हो चुकी है वैल्यू यानी अब अगर हम दोबारा से i की वैल्यू को प्रिंट करवाना चाहे इस बार हम प्लस प्लस नहीं करेंगे इस बार सिंपली i लिख देंगे तो यहां पर तो i की वैल्यू वन प्रिंट हुई थी अब प्लस प्लस होकर इंटरनली वह वैल्यू दो हो चुकी है और यहां पर जब हम दोबारा i को प्रिंट करवाएंगे तो हमें पता चलेगा कैसे दो हो गई है इसको कंपाइल कर लेते हैं रन यानी पहले वन थी अब इंटरनली इंक्रीज हो गई है यूज़ नहीं किया उसके बाद इस सेकंड लाइन में फिर यूज़ कर लिया यूज़ कर लिया तो उसकी वैल्यू जो दो थी वह हमारे पास प्रिंट होकर आ गई और यहीं पर अगर हम सेम वेरिएबल के लिए + + आ ले लेते तो उस केस में क्या होता + + आ कहता है है इंक्रीज देन यूज यानी पहले इंक्रीज करो वैल्यू इंक्रीज करो इसलिए प्लस प्लस पहले ही बता दिया प्लस प्लस मतलब पहले इंक्रीज कर फिर i की वैल्यू को यूज़ करना तो इंक्रीज करेगा और बाद में i की वैल्यू यूज होगी इसको हम कर लेते हैं कॉमेंट आउट एक बार सेव एंड अब रन करके आउटपुट देखते हैं तो सबसे पहले प्रिंट हुआ टू और सेकंड टाइम भी प्रिंट हुआ टू क्यों क्योंकि i की वैल्यू शुरुआत में वन थी प्लस प्लस ने क्या किया उसको पहले इंक्रीज करके दो कर दिया उसके बाद i को हमने प्रिंट करवा दिया यानी दो प्रिंट हो गया तो सेकंड टाइम जब हम i की वैल्यू को प्रिंट करवा रहे हैं वो ऑलरेडी दो हो चुकी है इसीलिए वहां पर भी दो प्रिंट हो गया तो इसलिए प्लस प् आ जो होता है इसको हम कहते हैं प्री इंक्रीमेंट ऑपरेटर और i + प् को हम कहते हैं पोस्ट इंक्रीमेंट ऑपरेटर तो प्लस प् आ मतलब प्री इंक्रीमेंट यानी पहले इंक्रीमेंट हुआ और बाद में यूसेज हुआ और पोस्ट इंक्रीमेंट यानी पहले यूज हुआ और बाद में इंक्रीज हुआ तो इस तरीके से से हम शॉर्ट हैंड लिख सकते हैं प्व और -1 के लिए अब सेम तरीके से हमारे पास डिक्रिमेंट ऑपरेटर्स होते हैं डिक्रिमेंट ऑपरेटर क्या करता है डिक्रीज कर देता है वैल्यू यानी यहां पर अगर हमारे पास होता माइनस माइनस आए तो इसको हम कहते प्री डिक्रिमेंट और वहीं पर होता आ माइनस माइनस तो इसको हम कहते पोस्ट डिक्रिमेंट अब जैसे एग्जांपल के तौर पर यहां पर इसको कर लेते हैं कॉमेंट आउट और कॉमेंट तो आ की वैल्यू शुरुआत में वन है अब यहां पर हम कर दें i माइनस माइनस तो क्या आउटपुट आएगा हमारे पास आउटपुट आया है वन एंड देन रो यानी सबसे पहले i की वैल्यू यूज होगी प्रिंट होगी तो वन है तो वन ही प्रिंट हो गया उसके बाद डिक्रीज होगी तो वन की वैल्यू डिक्रीज होकर हो जाएगी रो और सेकंड टाइम जब हम प्रिंट करवाएंगे तो प्रिंट होगा हमारे पास रो अब इसको कॉमेंट कर लेते हैं सेकंड पार्ट को अगर रन करें यानी माइनस - आ तो इस केस में सबसे पहले तो हमारे पास जीरो प्रिंट होगा क्योंकि पहले ही वो डिक्रीज हो जाएगी फिर प्रिंट होगी तो यहां भी ज़ीरो यहां भी ज़ीरो क्योंकि फर्स्ट टाइम डिक्रीज हो गई वन से ज़ीरो में कन्वर्ट हो गई और उसके बाद प्रिंट हो गई यानी वो ज़ीरो ही प्रिंट हो गया और सेकंड टाइम जब प्रिंट करवाएंगे i की वैल्यू तो ऑलरेडी ज़ीरो हो चुकी है तो वो ज़ीरो प्रिंट हो जाएगा तो इस तरीके से c के अंदर हमारा पोस्ट डिक्रिमेंट प्री डिक्रिमेंट पोस्ट इंक्रीमेंट प्री इंक्रीमेंट ऑपरेटर्स काम करते हैं और जब भी हम लूप्स का यूज़ करते हैं ये इंक्रीमेंट डिक्रिमेंट ऑपरेटर्स हमारे बहुत काम आते हैं क्योंकि मोस्टली आप देखेंगे कहीं भी सिंटेक्स वाइज इन्हीं का यूज़ हो रहा होता है तो इनको हमें हमेशा यूज़ करना है जो स्टैंडर्ड तरीका है फॉर को लिखने का उसमें मोस्टली लोग या तो वेरिएबल आ यूज करते हैं या जे यूज करते हैं या k यूज़ करते हैं आप चाहे तो कुछ भी यूज़ कर सकते हैं x वाज को जो आपका मन करे वैसे स्टैंडर्ड तरीका आपको जब भी मैं कोड लिख रही होंगी मोस्टली आई दिख रहा होगा नेस्टेड लूप्स हैं यानी लूप के अंदर लूप तो आपको जे के दिख रहे होंगे अब नेक्स्ट चीज थोड़े स्पेशल चीजों की हम बात कर लेते हैं हम ऑलरेडी डिस्कस कर चुके हैं इंक्रीमेंट ऑपरेटर क्या होता है ऑलरेडी डिस्कस कर चुके हैं डिक्रिमेंट ऑपरेटर क्या होता है इसके बाद बात आती है लूप काउंटर कैन बी फ्लोट और इवन कैरेक्टर यानी हमने जो अभी तक फॉर लूप लिखा है उसमें हमारा लूप का जो काउंटर है जो काउंटर वेरिएबल था वो फ्लोट भी हो सकता है वो हमारा कैरेक्टर भी हो सकता है कैसे जैसे एक लूप लिखते हैं जिसमें हम वन से लेकर फाइव तक नंबर्स को प्रिंट करवाना चाहते हैं पर इस बार हम फ्लोटिंग नंबर्स को प्रिंट करवाएंगे तो i की वैल्यू शुरू करेंगे 1.0 से और i जब तक हमारा लेन इक्व 5.0 नहीं रहता यहां पर कर देंगे i को प्लस प्लस और हर बार हम प्रिंट करवा देंगे परसेंटेज f स् n आ की वैल्यू को इसको कर लेते हैं सेव एंड नया टर्मिनल खोल को इसको करते हैं रन तो हमारे पास प्रिंट क्या हुआ 1.00 2.00 3.0 4.0 एंड इसी तरीके से 5.0 यानी इस बार सारी वैल्यू स्लॉट में प्रिंट हुई है और इस बार हमने जो अपना इटरेटर अपना काउंटर वेरिएबल यूज़ करा है वो है हमारा एक फ्लोटिंग वैल्यू साथ में मान लीजिए हमें a से लेकर z तक कैरेक्टर्स प्रिंट करवा करवाने हैं तो उसका लूप क्या होगा हम शुरुआत में कैरेक्टर इटरेटर ले लेंगे i = a उसके बाद क्या करेंगे कंडीशन लगा देंगे या यहां पर i की जगह इस बार वेरिएबल अलग लेते हैं स ले लेते हैं तो कैरेक्टर के अंदर i की वैल्यू स्टोर है स को तब तक इंक्रीज करते जाएंगे जब तक उसकी वैल्यू लेस दन इक्वल टू z नहीं रहती स को हर बार कर देंगे प्लस प्लस हमें पता है कि कैरेक्टर्स जो है इंटरनली अपनी एस्का वैल्यू में कन्वर्ट होते हैं तो वो नंबर्स ही होते हैं इस a पर अगर स्क्रोल करें तो 97 इसकी एस काई वैल्यू है z पर स्क्रॉल करें तो इसकी वैल्यू 122 है तो b की क्या होगी a की 97 है b की होगी 98 तो इस तरीके से बढ़ते रहते हैं तो जब भी कैरेक्टर को बढ़ा रहे हैं यानी हम a से b में जा रहे हैं b से c में जा रहे हैं c से d में जा रहे हैं तो यहां पर हर बार हम प्रिंट करवा देंगे किसको अपने कैरेक्टर को सी कर लेते हैं सेव तो इस बार हम देखेंगे कि सारे के सारे जो हमारे इंग्लिश अल्फाबेट में लेटर्स हैं वो ए से लेकर एंड तक हमारे पास प्रिंट होकर आ गए तो कुछ इस तरीके से हमारा जो आइट मेटर है उसको फ्लोट भी ले सकते हैं उसको कैरेक्टर भी ले सकते हैं उसको इंट भी ले सकते हैं डबल भी ले सकते हैं डिपेंड करता है हम कौन सा सवाल सॉल्व कर रहे हैं नेक्स्ट चीज जिसकी हम बात करेंगे वो है इंफाइटिंग के साथ इंट i = 1 हमारी कंडीशन हो गई अब यहां पर होती है हमारी टर्मिनेशन की कंडीशन और आपका मन किया कि आप यहां पे खाली छोड़ देंगे मतलब यहां कोई स्टेटमेंट लिखेंगे ही नहीं जो टर्मिनेट कर दे इस लूप को और यहां पर लिखेंगे अपनी अपडेशन स्टेटमेंट यानी i+ प् और हर बार क्या कर रहा है ये लूप हर बार यह लूप प्रिंट करवा रहा है हमारे पास हेलो वर्ल्ड को इसको कर लेते हैं सेव तो इस लूप का क्या कहना है कि i की वैल्यू वन से शुरू हो रही है हर बार आ की वैल्यू इंक्रीज हो रही है यानी पहले वन है तो फिर टू हो जाएगी फिर थ्री हो जाएगी फिर फोर हो जाएगी फिर फाइव हो जाएगी पर यहां पे यह स्टेटमेंट हमने खाली छोड़ दी हमारी मर्जी हम तीनों में से किसी को भी खाली छोड़ सकते हैं प्रॉब्लम यह है एरर्स आते हैं और क्या एरर्स आते हैं अभी हम देखेंगे इस स्टेटमेंट को हमने खाली छोड़ दिया तो इस लूप को पता ही नहीं चल रहा सी के कंपाइलर को पता ही नहीं चल रहा कि इस लूप को खत्म कब करना है ये लूप चलता ही जाएगा चलता ही जाएगा कैसे चलता जाएगा इसको रन करते हैं तो ये लूप तब तक हेलो वर्ल्ड प्रिंट करवाएगा जब तक हमारे कंप्यूटर की मेमोरी पूरी भर नहीं जाती तो इसलिए इसको क्लोज कर दिया इसीलिए इंपॉर्टेंट है कि हम हमेशा को कोई भी कंडीशन को मिस ना करें जब तक हमें पता है कि कोड हमारा सही से रन कर रहा है और काफी ध्यान देना है कि कौन सी कंडीशन क्या करने वाली है और इस तरीके का लूप जो कभी खत्म ही नहीं होता हमेशा के लिए रन करते जाता है उसको हम इंफाइटिंग ये रुकेगा नहीं इंफाइटिंग वेब डेवलपमेंट से रिलेटेड या किसी और चीज में एप्स बनाएंगे या कंपनी में जाकर एक्चुअली जाकर डेवलपमेंट करेंगे तो वहां पर जब आपको कोडिंग करनी पड़ेगी तो ऐसे मिस्टेक बहुत बेसिक मिस्टेक्स आपको बिल्कुल नहीं करने जब भी लूप्स की बात करें हमेशा ध्यान देना है कि आप एक इंफाइटिंग अपने प्रोग्राम के अंदर तो ये हो गया हमारा इंफाइटिंग वो है हमारा वाइल लूप अब वाइल लूप को लिखने का सिंटेक्स थोड़ा सा आसान होता है शुरू में ही हमने सबसे जो हल्का सा मुश्किल सिंटेक्स वाला कोड है वो कर लिया है फॉर लूप अब सारे लूप्स हमें आसान लगेंगे बाकी सारी चीजें काफी आसान लगेंगी पर अगर फॉर लूप में अभी भी आपको हल्का सा डाउट है उसको आप हल्का सा रिवाइंड करके थोड़ा सा और देख लीजिए उसका जो हमने सवाल डिस्कस किए हैं वो उनमें अगर डाउट है तो उनको भी हल्का सा देख लीजिए नहीं तो नोट्स पर नजर मार लीजिए और बिल्कुल अच्छे से समझ में आ गया तो अब वाइल लूप्स पढ़ते हैं वाइल का सिंटेक्स होता है कि हम सबसे पहले लिखते हैं वाइल अपना कीवर्ड और उसके अंदर अपनी कंडीशन लिखते हैं और फिर अंदर लिखते हैं वो स्टेटमेंट्स जो हमारे लिए कोई ना कोई काम हमें करके देंगे तो अभी जो हमने कोड लिखा था कि वन से लेकर फ तक नंबर्स को प्रिंट करवाना है उसमें फॉर लूप में तो हमने कोड लिख ही दिया था अब एक बार फॉर और वाइल का सिंटेक्स जो है कंपेयर कर लेते हैं फॉर लूप में कैसे कोड लिखा था फॉर इंट i = 1 आ जब तक लेन इक्व ट 5 है आ प्स प्स यहां पर हम प्रिंट करवा रहे थे परसेंटेज डी हमारा आई अब इसी का वाइल लूप में क्या कन्वर्जन होगा वाइल अपना की कीवर्ड फिर लिखेंगे अपनी कंडीशन कंडीशन हमारी क्या है यहां पे अपना जो वेरिएबल है उसको बाहर डिक्लेयर करना है यानी अपने कोड के अंदर फॉर में तो हमने वेरिएबल को अंदर ही डिक्लेयर कर दिया था पैरेंस के पर इस बार हमें वेरिएबल को यहां पर बाहर डिक्लेयर करना पड़ेगा क्योंकि वाइल में कोई जगह नहीं होती या तो आप अंदर करें वाइल के पर उसको फिर यहां पर यूज नहीं कर सकते कंडीशन में तो उसको बाहर ही डिक्लेयर करेंगे कंडीशन होगी हमारी कि आ जब तक लेसन इक्वल टू 5 नहीं हो जाता तब तक प्रिंट कर दो परसेंटेज d हमारे i की वैल्यू को अब यहां पर आप पूछेंगे कि दीदी हमने दो चीजें कवर कर ली यहां पर एक तो हमने कवर कर लिया अपनी डिक्लेरेशन स्टेटमेंट डिक्लेरेशन को हम वाइ लूप के बाहर लिखते हैं तो ये डिक्लेरेशन इस डिक्लेरेशन की जगह आ गई यहां पे आ गई है हमारी टर्मिनेशन कंडीशन कि किन-किन केसेस में लूप हमारा खत्म हो जाएगा किन-किन केसेस में रन करेगा तो टर्मिनेशन कंडीशन यहां आ गई और इसमें यहां आ गई पर ये अपडेशन की कंडीशन तो आई नहीं अपडेशन कहां लिखेंगे तो वाइल लूप के अंदर अपडेशन हमें अंदर ही लिखना पड़ता है यानी एंड स्टेटमेंट में अपडेशन यहां पे लिख देंगे लूप खत्म होने से पहले कि आय को एंड में बाहर निकलते निकलते प्लस प्लस भी कर देना तो अगली बार प्लस प्लस करेगा स्टेटमेंट से + व हो जाएगा फिर दोबारा वापस आएगा काम कर देगा फिर दोबारा प्लस प्लस हो जाएगा फिर दोबारा वापस आएगा काम कर देगा फिर दोबारा प्लस प्लस हो जाएगा फिर दोबारा वापस आएगा तो इस तरीके से हमारा लूप रन करता है वाइल लूप c के अंदर अब अपने कोड को एक्चुअली रन करके भी देख लेते हैं वेरिएबल डिक्लेयर करते हैं इंट आ इ इ 1 जब तक i इज < इक्व 5 तब तक हम प्रिंट करवा लेते हैं हेलो वर्ल्ड को फाइव टाइम्स और हर बार कर देंगे i को प्लस प्लस अब एक चीज ध्यान देनी है ये जो कर्ली ब्रेसेज हैं इनके बाद कभी भी कभी भी c के अंदर हम ये नहीं लगाते यानी स्टेटमेंट टर्मिनेटर क्योंकि कर्ली ब्रेसस का मतलब ये होता है कि यहां एक ब्लॉक ऑफ कोड है तो उसके बाद स्टेटमेंट हमें पता ही है कि खत्म होने वाली है तो स्टेटमेंट टर्मिनेटर के लगाने की जरूरत नहीं है अब इसको कर लेते हैं रन न्यू टर्मिनल तो हमारे पास पांच बार हेलो वर्ल्ड प्रिंट होकर आ गया है अब इसके सवालों की बात करें सवाल हमारा है प्रिंट द नंबर्स फ्रॉम 0 टू n इफ n इज गिवन बाय द यूजर अभी तक हम क्या कर रहे थे रो से लेकर जैसे पांच तक नंबर प्रिंट करवाना है या वन से लेकर पांच तक कराना है तो हम खुद से टर्मिनेटिंग स्टेटमेंट लगा रहे थे कि i की वैल्यू जब तक लेस दन इक्वल टू 5 रहे पर इस बार यूजर बताएगा कि कहां तक वैल्यू प्रिंट करनी है जैसे फॉर एग्जांपल यूजर ने हमें भेजा फोर तो हमें प्रिंट करना है रो 1 2 3 4 यूजर ने अगर भेजा 10 तो हमें प्रिंट करना है 0 1 2 3 4 5 6 जब तक 10 नहीं आ जाता अब इसको करने का तरीका क्या रहेगा सबसे पहले तो यूजर से वैल्यू इनपुट ले लेंगे यूजर से वैल्यू इनपुट ले ली उसको किसी वेरिएबल n में स्टोर करा लिया नंबर n में स्टोर करा लिया अब जब भी हम फॉर की कंडीशन लिखते थे या इस केस में क्या करते हैं वाल लूप से सवाल को सॉल्व करते हैं पहले जब भी हम वाइल की कंडीशन लिखते थे तो वाइल के अंदर क्या लिखेंगे जब तक हमारा i < इक्व टू n नहीं हो जाता पहले लिखते थे लेसन इक्व टू 5 इस केस में n एक चेंजिंग नंबर है हमेशा फाइव नहीं हो सकता फोर भी हो सकता है 10 भी हो सकता है 10000 भी हो सकता है तो लेन इक्व ू n उसके अंदर हम प्रिंट करवा देंगे अपने i को एंड बाद में कर देंगे i+ प् तो कुछ इस तरीके का हमारा प्रोसेस रहेगा इसको कोड करके देख लेते हैं तो ऊपर लिखते हैं प्रिंट एफ एंटर नंबर और अपने नंबर को ऊपर कर लेते हैं डिफाइन इंट n और यहां से कर लेते हैं स्कैन अब लिखेंगे अपना वाइल लूप वाइल एक आइट र इंट i इ जब तक हमारा i < इक्व ट n है तब तक हमारा वाइल लूप रन करेगा वाइल लूप के अंदर क्या करेंगे हर बार प्रिंट करवा देंगे अपनी वैल्यू को यानी अपने i को और उसके बाद कर देंगे i + तो ये क्या हुआ सबसे पहले हमने यूजर से नंबर मांगा यूजर ने नंबर एंटर किया तो हमने उसको n में स्टोर करा दिया उसके बाद i की वैल्यू को रो से शुरू किया i जब तक लेस दन इक्वल टू n रह तब तक वाइल लूप रन करेगा हर बार हम प्रिंट करवा देंगे आ को और फिर उसको कर देंगे अपडेट बाय वन इसको कर लेते हैं सेव और इसको करते हैं रन तो सबसे पहले एंटर करना है नंबर नंबर हम एंटर करने वाले हैं सेवन सेवन हमने एंटर कर दिया तो हमारे लिए रो से लेकर सेवन तक सारे नंबर्स प्रिंट हो गए हैं अब यहीं पर हम कोई बड़ा नंबर भी एंटर कर सकते थे जैसे मान लीजिए हमने 55 एंटर किया तो रो से लेकर 55 तक सारे के सारे नंबर्स हमारे पास प्रिंट हो गए हैं तो फॉर लूप्स को या सी के अंदर किसी भी कांसेप्ट को अच्छे से सीखने का एक ही तरीका है कि इसके बहुत सारे सवाल आप कर ले जो जो चीजें हम प्रैक्टिस करते जा रहे हैं वह अगर हमें अच्छे से क्लियर है तो कोई परेशानी की बात नहीं है इसी सेम कोड को हम वाइल की जगह फॉर से भी कर सकते हैं कैसे यहां पर इसको कर देते हैं कॉमेंट आउट और फॉर में सेम कोड लिखते हैं फॉर इंट आ = 0 आ की वैल्यू जब तक लेस दन इक्वल टू हमारे पास n नहीं रहती आ प् प्स और य यहां पर अपनी प्रिंट की स्टेटमेंट लिख देंगे परसेंटेज डी n आ तो जैसे यहां पर आ की वैल्यू पहले रो थी और यहां पर कंडीशन चेक हो रही थी वैसे ही फॉर लूप में i की वैल्यू पहले रो है कंडीशन हमने डाली जब तक i < = n नहीं रहता और अपडेशन के लिए i+ प् और हर बार हम प्रिंट कर रहे हैं i की वैल्यू को तो इसको भी एक बार सेव करके रन करते हैं अबकी बाद नंबर डालते हैं हम सिक्स तो ये रो से लेकर सिक्स तक सारे के सारे नंबर्स हमारे पास प्रिंट हो गए अब मान लीजिए ज़ीरो से नहीं करना वन से लेकर सिक्स तक प्रिंट करवाने हैं कोई बात नहीं इस i की वैल्यू को इनिशियलिज्म लो हमें थ्री से लेकर सिक्स तक या थ्री से लेकर सेवन तक थ्री से लेकर n तक प्रिंट करवाने हैं तो इनिश इइ जशन स्टेटमेंट कर दो थ्री से लेकर n तक करवा दो तो इस तरीके से जिस भी तरीके का कोड रहेगा उस तरीके से हम अडॉप्ट और ओवरकम कर रहे होंगे नेक्स्ट जिसकी हम बात करेंगे वह है हमारे डू वाइल लूप डू वाइल लूप बिलकुल वाइल लूप जैसा होता है अब वाइल लूप के अंदर कंडीशन पहले ही चेक हो जाती है यानी अगर बात करें वाइल लूप की तो वाइल में क्या होता था सबसे पहले वाइल लिखा होता था फिर लिखी होती थी हमारी कंडीशन तो अगर यह कंडीशन फॉल्स है तो कभी भी इस ब्लॉक के अंदर हम जा ही नहीं रहे होंगे जैसे इंट आ इ इक्वल टू हमने लिख दिया वन और कंडीशन चेक कर रही है i लेव तो आ लेन व तो कभी ट्रू होगा ही नहीं इसीलिए अंदर वाली स्टेटमेंट्स कभी हमारी एग्जीक्यूट होंगी नहीं तो वाइल लूप हमारा एक बार भी नहीं रन करेगा पर अगर हम ऐसा वाइल लूप लिख दें जो एटलीस्ट एक बार हमेशा रन करे उसको हम डू वाइल कह देते हैं तो डू वाइल लूप के भी अलग-अलग केसेस होते हैं जिनमें उसको यूज करना ज्यादा सेंस बनाता है सिंटेक्स की अगर बात करें तो डू वाइल में सबसे पहले हम लिखते हैं डू यानी यहां पर कंडीशन पहले चेक नहीं होती काम पहले होता है डू कर दो पहले काम कर दो पहले तो डू लिख के जो भी काम होता है वो हम यहां पर लाइने अपनी लिख सकते हैं फिर लास्ट में कंडीशन चेक होगी मतलब यह काम करते रहना है जब तक यह काम करते रहना है जब तक तो पहले काम होगा फिर कंडीशन चेक होगी फिर काम होगा फिर कंडीशन चेक होगी एंड में लिखेंगे फिर लिखेंगे पैरेंस में अपनी कंडीशन और यहां पर हम लगा रहे होंगे स्टेटमेंट टर्मिनेटर क्योंकि ब्लॉक नहीं है यहां पर पैरेंस है पैरेंस के बाद स्टेटमेंट टर्मिनेटर आ सकता है इसलिए वो यहां पर आ गया है तो ये हमारा सिंटेक्स होता है अब अगर हमें कोड लिखना हो वन से लेकर फाइव तक नंबर्स को प्रिंट करवाने का तो सबसे ऊपर तो अपना वेरिएबल डिफाइन कर देंगे i = 5 उसके बाद लिखेंगे डू डू में अपना काम बताना है काम क्या है प्रिंट करना i की वैल्यू को इस वेरिएबल की वैल्यू को तो लिख देंगे अपनी प्रिंट स्टेटमेंट प्रिंट f परसेंटेज d ब n i और अब बतानी है कंडीशन कंडीशन ये है जब तक हमारे i की वैल्यू लेन इक्व ू 5 नहीं रहती तब तक ये काम करना है और यहां पर बीच में लगा देंगे अपडेशन की कंडीशन यानी i + प् तो ये हमने लिख दिया i = 1 से लेकर 2 3 4 5 इन पांचों नंबर्स को प्रिंट करवाने का कोड इसको एक बार रन भी कर लेते हैं सबसे पहले लिखेंगे डू डू क्या करेगा कुछ काम करवाएगा अब काम करने के लिए हमारे पास वेरिएबल ऑलरेडी होना चाहिए तो उसको इनिश इइ कर लेते हैं वन के साथ काम है हमारा वेरिएबल को प्रिंट करवाना तो प्रिंट करवाने के लिए लिख देंगे परसेंटेज d n i और फिर लिखेंगे अपना वाइल वाइल में फिर लिखेंगे कंडीशन को कंडीशन क्या है हमारी जब तक i की वैल्यू लेसन इक्वल ट 5 नहीं रहती और फिर हमारा स्टेटमेंट टर्मिनेटर तब तक हम i को प्रिंट करवाते रहेंगे और हर बार i को कर देंगे प्लस प्लस क्योंकि i + प्लस नहीं हुआ ना तो ये हमारा फिर से क्या बन जाएगा इंफाइटिंग तो i की वैल्यू हमेशा लेस दन फ रहेगी इसीलिए हर बार कंडीशन ट्रू होगी लूप चलेगा हर बार कंडीशन ट्रू होगी लूप चलेगा तो एक इंफाइटिंग में जाके रन रन करके हमारे पास आउटपुट आया 1 2 3 4 5 यहीं पर फ से लेकर वन तक प्रिंट करवानी होती वैल्यूज तो क्या करते i को इनिश इइ करते फव के साथ यहां पर लिखते i माइ माइनस टर्मिनेशन स्टेटमेंट हो जाती है i जब तक ग्रेटर दन इक्वल टू 1 है इसको कर लेते हैं सेव और रन तो अब प्रिंट हुआ 54321 तो इस तरीके से इंक्रीमेंट डिक्रिमेंट यूज़ कर सकते हैं कहां से लेकर कहां तक जाना है उसका हम कोड समझ सकते हैं तो ये था हमारा डू वाइ लूप सवाल हमारा कहता है प्रिंट द सम ऑफ फर्स्ट n नेचुरल नंबर्स तो सबसे पहले ये फर्स्ट पार्ट करेंगे उसके बाद ये सेकंड पार्ट देख रहे होंगे तो हमें फर्स्ट n नेचुरल नंबर्स का सम प्रिंट करना है हर बार की तरह यूजर हमें ये n देगा फिर हम उनका सम प्रिंट करें मान लीजिए यूजर ने दिया है n = 4 तो वन से लेकर 4 तक जितने भी नंबर्स होंगे इन सबका सम हमें प्रिंट करना है यह हो जाएगा हमारे पास 10 अगर यूजर ने दिया फाइव तो वही वन से लेकर फव तक सारे नंबर्स का हमें सम प्रिंट करना पड़ेगा अगर थ्री दिया है तो वही 1 + 2 + 3 = 6 तो इसको कैसे करेंगे करने के लिए सबसे पहले तो हमें पता है सबसे बेसिक चीज कि यूजर से स्कैन एफ करके इनपुट ले लो हमारा n उसके बाद जैसे ही n इनपुट आया उसके बाद हमें रन करना है एक लूप फॉर लूप मान लीजिए हम रन करते हैं जिसमें आ की वैल्यू जो है शुरू होती है वन के साथ और जाती है हमारी चार तक या n तक और उसमें कर देंगे i प्लस प्लस अब काम हमारा क्या है लूप के अंदर काम लिखना होता है काम है हमारा सम कैलकुलेट करना तो एक वेरिएबल बना लेंगे सम और इस सम की वैल्यू को इनिश इज कर देंगे रो के साथ यानी शुरुआत में सम हमारा रो है और इस सम के अंदर ऐड करते जाएंगे i की वैल्यू को तो i = 1 है तो सम के अंदर वन ऐड हो गया i = 2 है तो सम के अंदर 2 ऐड हो गया i = 3 है तो सम के अंदर 3 ऐड हो गया तो ऐसे ऐसे करते करते हमारे पास सम के अंदर सारी की सारी वैल्यूज का सम आ जाएगा जैसे i की वैल्यू शुरुआत में वन है सम की वैल्यू शुरुआत में रो है लूप के अंदर जाते ही क्या हो जाएगा सम की वैल्यू बन जाएगी सम + आ यानी वन फिर i की वैल्यू अपडेट होकर हो जाएगी टू सम की वैल्यू हमारे पास है अब वन लूप के अंदर क्या होगा सम इ इक्व टू सम + i यानी 1 + 2 यानी 3 अब i की वैल्यू बन जाएगी थ्र सम की वैल्यू बन जाएगी थ्र लूप के अंदर क्या होगा सम = सम + i = 1 + 2 + 3 = 6 तो इस तरीके का कुछ हमारा प्रोसेस रहेगा एक बार कोड लिख लेते हैं उसके बाद इसको दोबारा डिस्कस कर लेंगे शुरुआत में क्या करेंगे यूजर से सबसे पहले एक नंबर मांग लेते हैं तो एंटर नंबर एक वेरिएबल बना लेते हैं इंट n n के अंदर इसको करा लेंगे स्टोर तो स्कैन इफ परसेंटेज d एंड n उसके बाद एक और वेरिएबल बनाते हैं सम सम की वैल्यू को इनिश इइ करेंगे ज़ीरो के साथ और एक बना लेते हैं फॉर लूप फॉर में लिखेंगे इं i = 0 या i = 1 i जब तक हमारा ले इक्व n नहीं रहता i + प् और इस लूप के अंदर सम में ऐड करवा देंगे सम + i या फिर इसको हम लिख सकते हैं सम + इ i और एंड में क्या करेंगे प्रिंट करवा देंगे अपने सम की वैल्यू को तो सम इज परसेंटेज d आ इसको कर लेते हैं सेव और इसको करते हैं रन यहां पर हम आ की नहीं सम की वैल्यू को प्रिंट करवाने वाले हैं एंड में तो एंटर करेंगे नंबर नंबर एंटर हम करते हैं थ्री तो हमारे पास सम प्रिंट होकर आ गया सिक्स अगर हम मान लीजिए फाइव एंटर कर रहे हैं तो इस बार फाइव एंटर किया सम प्रिंट होकर आ गया 15 तो इस तरीके से प्रोसेस क्या रहा सबसे पहले n को एंटर करा लिया उसके बाद सम वेरिएबल क्रिएट किया जिसकी वैल्यू को हमने इनिश इज किया रो के साथ उसके बाद हमने एक लूप चलाया वन से लेकर n तक हर बार हम क्या करते थे उस आ को लूप के आइट मेटर को प्रिंट करवा देते थे लेकिन इस बार हमने उस आइट मेटर से कुछ और काम किया यानी अपना सम कैलकुलेट किया सम को कैसे कैलकुलेट किया सम = सम + i यानी हर बार सम में उस i को ऐड करते चले गए तो सारे आई का सम निकल गया फिर प्रिंट करवा दिया अपनी फाइनल सम की वैल्यू को तो उसी तरीके से सबसे पहले अगर i1 था और सम रो था तो सबसे पहले सम = सम + i से हमारा सम वन बन गया फिर i2 था तो सम वन बन गया लूप के अंदर जाते ही सम की वैल्यू थ्री हो गई फिर i इंक्रीज होकर थ्री हुआ सम की वैल्यू ऑलरेडी थ्री थी अब सम के अंदर थ्री भी ऐड हो गया तो सम फाइनली बन गया सिक्स तो ये आंसर होगा फॉर हमारा n = 3 अब सेकंड पार्ट इस सवाल का ये कहता है आल्सो प्रिंट देम इन रिवर्स यानी हमने नंबर्स जो वन से लेकर n तक नंबर्स जिनका हमने सम लिया है उन नंबर्स को रिवर्स में भी प्रिंट कर दो रिवर्स में कैसे प्रिंट करेंगे उसके लिए एक और सेपरेट लूप बना लेते हैं अगर मान लीजिए सम हमने प्रिंट करवा दिया अब फॉर इंट i = n i जब तक हमारा ग्रेटर दन इक्वल टू 1 नहीं रहता i - माइनस और हर बार हम प्रिंट f कर देंगे परसेंटेज d n अपना i अब सबसे पहले नोट करने वाली बात कि हमारा जो i था उसको हमने यहां भी डिक्लेयर किया हुआ है इंट i = 1 और यहां भी डिक्लेयर किया इंट i = 1 तो क्या एरर आएगा कंपाइलर तो बोलेगा दो बार आपने सेम वेरिएबल को डिक्लेयर कर दिया हमने तो सीखा था ये गलत होता है तो यहां पर एरर नहीं आएगा क्योंकि फॉर लूप के अंदर जिस भी वेरिएबल को हम यहां पर डिक्लेयर करते हैं उसकी वैल्यू जो है वो उस फॉर लूप तक ही रहती है यानी जैसे ही आपने देखा होगा कि शुरुआत में सम की जगह मैंने यहां पे i प्रिंट करवाने की कोशिश की थी पर मेरे i की वैल्यू सिर्फ इस ब्लॉक के अंदर है इस ब्लॉक से बाहर मैं अपने आ को यूज नहीं कर सकती तो इस ब्लॉक के बाहर कंपाइलर को पता ही नहीं आई क्या है इसीलिए यहां पर i को यूज नहीं किया जा सकता यहां पर सिर्फ सम को ही यूज किया जा सकता है इसीलिए i की जो लाइफ टाइम था वो यहीं पर खत्म हो गया तो यहां पे कंपाइलर को पता ही नहीं है कि आ क्या है तो हम एक नया वेरिएबल आ दोबारा से डिक्लेयर कर सकते हैं जिसको हमने किया है i की वैल्यू वैल्यू को इनिश इज किया है n के साथ यानी n ती होगा तो i शुरुआत में तीन होगा n5 होगा तो शुरुआत में n5 होगा फिर कंडीशन स्टेटमेंट हमारी ये जब तक i > = 1 नहीं रहता i माइनस माइनस और उसके बाद प्रिंट करवा रहे हैं हम i को तो इसको सेव कर लेते हैं और करते हैं रन तो इस बार अगर हमने थ्री दिया तो सबसे पहले तो सम इज सिक्स पर प्रिंट होगा उसके बाद थ्री से लेकर वन तक उल्टी काउंट में मतलब रिवर्स ऑर्डर में हमारे सारे नंबर्स हमारे पास प्रिंट हो कर आएंगे अब ये सारा का सारा काम जो है ना हमने जो दो फॉर लूप में काम किया इसको हम एक सिंगल फॉर लूप में भी कर सकते थे कैसे इसको तो कर देते हैं कॉमन डाउट और यहां पे क्या करते हैं एक और नया वेरिएबल बनाते हैं j = n तो इस तरीके से हम फॉर लूप के अंदर मल्टीपल वेरिएबल को इनिश इइ कर सकते हैं तो i = 1 एंड j = n अब यहां पर i इ < इक्व n जब तक नहीं होता एंड एंड हमारा j इज ग्रेटर दन इक्वल ट 1 जब तक है और हर बार i को प्लस प्लस कर रहे हैं तो j को माइनस माइनस कर देंगे और हर बार प्रिंट करवा लेंगे हम अपने j को फर के अंदर इस फॉर लूप को कंप्लीट अब हटा सकते हैं अब ध्यान से सुनते हैं इसके अंदर क्या हुआ ऑलरेडी हमारे पास एक वेरिएबल था i जिसकी वैल्यू वन से शुरू हो रही थी इस बार हमने एक नया वेरिएबल डाला और इसको नाम दिया j j की वैल्यू हमने शुरू करा दी n के साथ इस आ का काम होगा सम कैलकुलेट करना इस j का काम होगा नंबर्स को रिवर्स ऑर्डर में प्रिंट करवाना i की कंडीशन है कि i जब जब तक लेस दन n ना रहे j की कंडीशन है कि j जब तक ग्रेटर दन व ना रहे तब तक रिवर्स ऑर्डर में चीजें प्रिंट होती रहे तो हमें पता है कि जब तक i हमारा वन से लेकर n तक जाएगा तब तक j हमारा n से लेकर वन तक आएगा तो इक्वल टाइम लगने वाला है इसलिए हमने यहां पर एंड लगा दिया दोनों कंडीशंस के बीच में यानी दोनों हमारी ट्रू होनी चाहिए हर बार हम i को प्लस प्लस कर रहे हैं क्योंकि सम कैलकुलेट कर रहे हैं तो हर बार हम j को माइनस माइनस भी कर सकते हैं क्योंकि हम अपने नंबर्स को रिवर्स ऑर्डर में प्रिंट कर रहे हैं तो अब इसको करते ते हैं सेव और इसको करते हैं रन रन करके अब हमारे पास प्रिंट होकर आया 3 2 1 और एंड में प्रिंट हुआ सम इज सिक्स पहले क्या हो रहा था सम इज सिक्स पहले प्रिंट हुआ था नंबर्स बाद में प्रिंट हुए थे अबकी बार नंबर्स पहले प्रिंट इसलिए हुए क्योंकि सम जब तक पूरा कैलकुलेट हो रहा है और फिर प्रिंट हो रहा है सम के प्रिंट होने से पहले नंबर्स के प्रिंट होने की स्टेटमेंट है साथ के साथ हम क्या कर सकते हैं इस आय को कंप्लीट हटा भी सकते हैं आय को अगर हम कंप्लीट हटा दें तो उससे क्या होगा j जो है हमारा उसकी वैल्यू n से लेकर 1 तक जा रही है अब चाहे हम 1 2 3 का सम ले या हम 3 टू 1 का सम ले दोनों का सम अल्टीमेटली छह हमारे पास आने वाले है तो दोनों के सम की वैल्यू इक्वल होगी इसीलिए लूप को हम वन से लेकर n तक जा रहे हैं या n से लेकर व तक जा रहे हैं वो फर्क नहीं पड़ेगा अगर हम सम कैलकुलेट कर रहे हैं तो यहां पर हम सम में कर देंगे सम = सम + j तो यह 1 + 2 + 3 होने के बजाय 3 + 2 + 1 हो जाएगा तो इसको एक बार सेव कर लेते हैं और इसको रन करते हैं तो हमारे पास सेम आउटपुट आएगा दैट इज 3 टू 1 और सम हमारे पास सही कैलकुलेट होगा दैट इज सिक्स तो इस तरीके से हमारा फॉर लूप काम करता है और अलग-अलग चीजें हम उसके अंदर कर सकते हैं अब नेक्स्ट अगर सवाल की बात करें तो नेक्स्ट सवाल है प्रिंट द टेबल ऑफ अ नंबर इनपुट बाय द यूजर यूजर हमें एक नंबर दे रहा होगा उसकी हमें टेबल प्रिंट करनी है जैसे यूजर ने टू दिया तो टू की हम टेबल प्रिंट करेंगे कैसे सबसे पहले प्रिंट करेंगे टू फिर फोर फिर सिक्स फिर 8 10 12 14 16 18 एंड 20 अगर यूजर ने हमें दिया 42 तो 42 की हमें टेबल प्रिंट करनी पड़ेगी जो ओबवियसली मैं जल्दी-जल्दी नहीं कर पाऊंगी तो अभी तक हमने क्या किया है एक फॉर लूप हमने लिख लिया जिसके अंदर अपनी कंडीशन बता दी i = 1 i इ < = n i + और उसके अंदर हम क्या करते थे अपने आई को प्रिंट कर लेते थे प्रिंट आई करके पर इस बार हम प्रिंट नहीं करेंगे आ को इस बार हम कुछ और फंक्शन परफॉर्म कर रहे होंगे और व फंक्शन क्या होगा जैसे 2 को हम 2 मल्ला बा 1 भी लिख सकते हैं 4 को लिख सकते हैं 2 मल्ला बा 2 6 को हम लिख सकते हैं 2 म बा 3 क्योंकि ये सारी की सारी क्या है टू की टेबल है अब एक चीज देखें तो यहां पर ये जो टू है यह तो कांस्टेंट रह रहा है पर ये जो हमारा वेरिएबल है ये तो बढ़ता जा रहा है पहले वन था फिर टू था फिर 3 4 5 अगले में 6 7 8 9 10 तो ये जो वैल्यू है ये बढ़ती जा रही है तो ओबवियसली ये नंबर हमारा इटरेटर नहीं होगा यह नंबर हमारा आइट र आ होगा आइट मेटर वो होता है जिसकी वैल्यू चेंज होती रहती है अपडेट होती रहती है तो यह नंबर हमारा आइट मेटर आ होगा तो इस कोड में क्या करेंगे अपने आइट र आ की वैल्यू को वन से शुरू करेंगे और उसको 10 तक लेकर जाएंगे 10 तक लेकर जाएंगे और हर बार प्रिंट करवा देंगे अपना नंबर मल्टीप्लाइज आइट मेटर तो पहले नंबर 2 * 1 मल्टीप्लाई होके प्रिंट होगा फिर 2 * 2 मल्टीप्लाई होके प्रिंट होगा फिर 2 * 3 मल्टीप्लाई होके प्रिंट होगा और इस तरीके से अपने नंबर की हम पूरी की पूरी टेबल प्रिंट करवा देंगे इसके लिए कोड लिखते हैं सबसे पहले एंटर करा लेंगे अपना नंबर नंबर हमने एंटर करा लिया उसके बाद एक लूप लिखते हैं फॉर इंट i = 1 आ जब तक हमारा लेसन इक्वल टू 10 नहीं रहता i + 10 क्योंकि टेबल को हम वन से लेकर 10 तक ही मान रहे हैं और हर बार हम प्रिंट करवा रहे होंगे परसेंटेज d ब n n * आ नंबर * आ इसको कर लेते सेव और रन सबसे पहले अगर नंबर हम डालें टू तो टू की पूरी टेबल हमारे पास प्रिंट होग आ जाएगी अब जो काम मैं नहीं कर पाई थी वो कंप्यूटर हमें करके दे देगा यानी टेबल ऑफ 42 ये मुझे प्रिंट करके देगा तो ये 42 की पूरी की पूरी टेबल हमारे पास प्रिंट होकर आ गई है बहुत जल्दी-जल्दी तो इस तरीके से अगर किसी भी नंबर की टेबल हमें प्रिंट करवानी है तो उसको सी की हेल्प से हम प्रिंट करवा सकते हैं अपनी स्क्रीन के ऊपर तो कभी भी मैथ की कैलकुलेशन हो रही हो और कैलकुलेटर आसपास ना हो और दिमाग खुद चलाना नहीं हो बाहर ले जाता था यानी वो जो पूरा ब्लॉक चल रहा होता था उससे हमें एग्जिट करवा देता था उसकी वजह से सारे के सारे केसेस जो हैं उनकी कंडीशन ऑन नहीं हो पाती थी इसीलिए ब्रेक स्टेटमेंट यानी ब्रेक हमने जहां भी लिख दिया उसका मेन मतलब है कि हमें एग्जिट करना है अब लूप को जहां से भी लूप से हमें बाहर निकलना हो वहां पर हम लिख दें ब्रेक जैसे फॉर एग्जांपल अगर हमने एक कोड लिखा है एक फॉर लूप लिखा है जिसके अंदर हम वन से लेकर फाइव तक नंबर्स को प्रिंट करवा रहे हैं फॉर इंट i = 1 i लेस इक्टू 5 आ प् प्लस अब इसमें हम प्रिंट करवा देंगे परसेंटेज डी ब स् ए आ अब यहां पर अगर हम बीच में कंडीशन लिखते इफ आ इ इक्वल टू इ इक्व ट 3 यानी आ जैसे ही थ्री हो जाए ये इफ कंडीशन का काम है कि ये चेक कर रहा है जैसे ही i3 हो जाए यहां से हम कर जाए ब्रेक ब्रेक मतलब इस पूरे के पूरे लूप से हम बाहर निकल के आ जाएं और लास्ट में हम प्रिंट करवा दें एंड इसको कर लेते हैं सेव और एक बार रन करके आउटपुट को एनालाइज करते हैं हमारे पास प्रिंट हुआ वन 2 और एंड ये कैसे प्रिंट हुआ पहले i की वैल्यू हमारे पास वन थी जैसे ही i की वैल्यू वन थी हम लूप के अंदर गए i की वैल्यू थ्री है क्या नहीं नहीं थ्री नहीं है तो ये ट्रू नहीं होगा हमने प्रिंट करवा दिया वन को i हो गया अपडेट i की वैल्यू हो गई टू i2 हुआ तो ये कंडीशन फिर से फॉल्स तो यहां पर प्रिंट करवा दिया टू को फिर i की वैल्यू अपडेट होकर हुई थ्री जैसे ही i की वैल्यू थ्री हुई ये इफ कंडीशन हो गई ट्रू फिर हम आए ब्रेक पर ब्रेक पर जैसे ही आए ब्रेक क्या करता है लूप से एग्जिट कराता है तो इस फॉर लूप से हम पूरा बाहर निकल गए और यहां पर आ गए और हमने प्रिंट करवा दिया एंड यानी ये बाकी की जो कंडीशंस थी या बाकी की जो अपडेशन थी हमने फिर इस इस स्टेटमेंट को नहीं देखा कंडीशन को टर्मिनेशन की ना हमने अपडेशन को देखा हमने कुछ भी नहीं देखा अंधे होकर हम अपने फॉर लूप से पूरी तरह बाहर आ जाएंगे और फिर बाहर जो भी लिखा होगा फिर उसको एग्जीक्यूट करेंगे तो ब्रेक का काम होता है जब आपको अपने फॉर लूप को या डू लूप डू वाइ लूप को या फिर वाइ लूप को जब भी बीच से बिल्कुल काट देना है उसमें से बाहर निकल के आना है कंप्लीट तब हम वहां पर ब्रेक लिख देते हैं तो हम उससे कंप्लीट ब्रेक हो जाएंगे एग्जिट हो जाएंगे इसके लिए एक सवाल करते हैं सवाल का नाम है कीप टेकिंग नंबर्स एज इनपुट फ्रॉम यूजर अंट्स एन ऑड नंबर तो सवाल में हमें क्या करना है यूजर से कुछ-कुछ नंबर्स हमें इनपुट लेते रहना है जैसे यूजर ने एंटर किया 2 4 10 16 18 और तब तक यूजर से नंबर्स इनपुट लेते रहना जब तक यूजर एक ऑड नंबर नहीं एंटर करता यानी अगर उसने सेवन एंटर कर दिया तो यहां पर हम स्टॉप कर जाएंगे या फिर ब्रेक कर जाएंगे तो तब तक यूजर से नंबर्स इनपुट लेने हैं जब तक वो कोई ऑड नंबर एंटर नहीं करना अब इसके लिए जब भी यूजर से कुछ इनपुट लेना होता है ना और उसके लिए कंडीशन चलानी होती है हम हमेशा प्रेफर करते हैं डू वाइल लूप डू वा लूप क्यों क्योंकि अभी हमारा काम क्या है यूजर से इनपुट लेना नंबर नंबर एक बार इनपुट ले लेंगे तभी तो उस परे कुछ कंडीशन लगा के चेक कर पाएंगे इसीलिए पहले काम कर लो फिर कंडीशन लगाओ तो इसलिए यहां पर डू वाइल का हल्का सा हम लॉजिक बिल्ड करने की कोशिश करते हैं बाकी आप किसी भी लूप के अंदर अपने इस सेम सवाल को कर सकते हैं सबसे पहले हम क्या करेंगे एक डू वाइ लूप बनाएंगे तो डू और बाद में लिख देंगे वाइल अब इस डू वाइल लूप के अंदर काम हमें क्या करना है काम करना है एक नंबर को बार बार बारबार इनपुट लेने का तो ऊपर एक वेरिएबल डिफाइन कर देते हैं इंट n यह है हमारा नंबर और हर बार अपने डू लूप के अंदर डवा लूप के अंदर स्कैनफ से नंबर को हम ले लेंगे इनपुट परसेंटेज डी कॉमा एंड n तो इस तरीके से हर बार नंबर इनपुट में आ गया और जस्ट फॉर फन हम इस नंबर को आउटपुट भी करा देते हैं परसेंटेज डी कि हमारे पास क्या नंबर आया बै n n और कंडीशन हमें क्या रखनी है कंडीशन इस केस में या तो हम ये रख सकते हैं कि जैसे ही हमारा n क्या हो हमारा n ऑड हो जाए वैसे ही हम बाहर निकल जाएं पर इस केस में कंडीशन में हम सिर्फ लिख देते हैं वन कंडीशन में वन लिखने का मतलब क्या है कि हम ट्रू लिख रहे हैं हर बार कंडीशन ट्रू होगी चाहे कुछ भी आया हो नंबर हम हमेशा ट्रू अपनी कंडीशन के अंदर डाल रहे हैं अभी तक हमने जो लूप बनाया है ये डू वाइ लूप एक इंफाइटिंग जब तक हमारी कंडीशन फॉल्स नहीं हो जाती पर कंडीशन तो कभी फॉल्स ही नहीं होगी क्योंकि वहां पर हमने वन डाल दिया पर इसके अंदर से बचने का एक तरीका है कि हम ब्रेक कर जाएं और ब्रेक कैसे करेंगे ब्रेक करेंगे अपनी कंडीशन आने पर यानी जैसे ही यूजर ने एक ऐसा n एंटर कर दिया जो एक ऑड नंबर है ऑड नंबर कैसे चेक करेंगे n परसेंटेज मॉड्यूल 2 = = 0 यहां पर आएगा नॉट इक्वल टू 0 उस केस में हम कर जाएंगे ब्रेक थोड़ा सा इसको समझते हैं हमने एक वेरिएबल डिफाइन किया एंड जिसके अंदर अप अपना नंबर जो है इनपुट लेने वाले हैं फिर एक डू वाई लूप बनाया सबसे पहले हम स्कैन कर रहे हैं अपने नंबर को इससे ऊपर हम एक और प्रिंट की स्टेटमेंट लिख देते हैं एंटर नंबर एंटर करके हमने नंबर जो है यूजर से ले लिया है उसके बाद उस नंबर को वापस प्रिंट भी करवा दिया कि यूजर ने क्या प्रिंट किया था उसके बाद हम चेक कर रहे हैं कि वो नंबर ऑड है या इवन है इस कंडीशन में हम चेक कर रहे हैं वो नंबर ऑड है क्या यानी n मॉड्यूल टू अगर जीरो के इक्वल नहीं आया तो मतलब वो नंबर एक ऑड नंबर है जैसे ही ऑड नंबर आएगा ब्रेक कर जाएंगे ब्रेक कर गए यानी लूप के बाहर निकल गए और एंड में निकल कर हम कुछ भी प्रिंट करवा सकते हैं मान लीजिए एंड में निकल के प्रिंट करवा देते हैं हम थैंक यू तो ये डू वाई लूप तब तक चलेगा जब तक हमारा यूजर जो है इवन नंबर्स को एंटर करता रहेगा इसको कर लेते हैं सेव और इसको करते हैं रन एंटर करते हैं नंबर टू हमने एंटर किया नेक्स्ट टाइम तो टू हमारे पास प्रिंट होकर आ गया अब नेक्स्ट टाइम हम फोर एंटर करते हैं तो फोर हमारे पास प्रिंट होकर आ गया अबके बाद सिक्स एंटर करते हैं सिक्स प्रिंट होके आ गया 18 एंटर करते हैं 18 आ गया हम 20 एंटर करते हैं तो 20 आ गया पर एक ऑड नंबर डालते हैं थ्री हमने डाल दिया तो यहीं पर प्रिंट हो गया थैंक यू और यहीं पर हमारा प्रोग्राम हो गया खत्म तो इस तरीके से हम एक ऐसा लूप बना सकते हैं जो जो यूजर के इनपुट से कंट्रोल होगा तो यूजर जो जो हमें इनपुट देगा उस हिसाब से हम चेंजेज कर रहे हैं उस हिसाब से हम अपना लूप रन कर रहे हैं अब नेक्स्ट सवाल जिसकी हम बात करेंगे वो है कीप टेकिंग नंबर्स एज इनपुट फ्रॉम यूजर अंट्स अ नंबर व्हिच इज अ मल्टीपल ऑफ़ सेवन यानी यूजर से तब ब तक इनपुट लेते जाना है जब तक यूजर ऐसा नंबर ना एंटर कर दे जो मल्टीपल ऑफ़ सेवन है जो सेवन की टेबल में आता है तो बहुत ही सिंपल है बिल्कुल एगजैक्टली जैसा हमने अभी कोड लिखा है बिल्कुल वैसा है बस थोड़ी सी वैल्यूज चेंज करनी है ये एंटर तो हम नंबर करवाते रहेंगे बस कंडीशन ब्रेक करने की क्या रहेगी जैसे ही n मड 7 इक्वल टू इक्वल टू 0 हो जाए इस कंडीशन का मतलब है नंबर n इज अ मल्टीपल ऑफ 7 वैसे ही हम कर जाएंगे ब्रेक तो इसको भी रन कर लेते हैं कंपाइल रन सबसे पहले एंटर कर रहे हैं सिक्स चल रहा है कोड थ्री एंटर किया थ्री में भी चल रहा है 12 एंटर किया 12 में भी चल रहा है पर जैसे ही 14 में एंटर कर दूं तो थैंक यू प्रिंट हो जाएगा क्यों यहां पर कोड खत्म क्यों कि क्योंकि 14 हमारा सेन का मल्टीपल है 7 * बा 2 इज 14 तो यहां पर ये मॉडलो जो है वो रो के इक्वल आ गया तो यहां से हम कर गए ब्रेक ब्रेक कर गए मतलब लूप की और कोई लाइन चले गई नहीं और लूप के जो बाहर लिखा हुआ है अब वो एग्जीक्यूट होना शुरू होगा अब एक और स्पेशल चीज ब्रेक के बारे में ब्रेक जो है हमारा वो नेस्टेड लूप से भी हमें एग्जिट करा देता है यानी आपने एक फॉर लूप के अंदर कुछ-कुछ चीजें लिखी हैं और उसके अंदर आपने लिखा है अपना दूसरा फॉर लूप इसके अंदर कुछ-कुछ चीजें लिखी हैं तो अगर ब्रेक यहां पर लिखा हुआ है तो ये इस लूप से भी बाहर निकाल देगा और इस लूप से भी बाहर निकाल देगा और यहां वाली स्टेटमेंट्स हमारी रन होंगी तो ब्रेक को जब भी इस्तेमाल करना है बहुत सोच समझ के इस्तेमाल करना है कि आपके जो प्रोग्राम है उसका फ्लो उसका कंट्रोल किस तरीके से चेंज होने वाला है नेक्स्ट हम पढ़ने वाले कंटिन्यू स्टेटमेंट के बारे में ब्रेक से उल्टा है कंटिन्यू ब्रेक कहता है यहां पे सारा काम रोक दो और आगे बढ़ जाओ कंटिन्यू कहता है बस अभी वाला काम रोकना है आगे वाला काम शुरू कर दो तो जब भी हमें स्किप करना होता है टू नेक्स्ट आ इटरेशन जब भी अगली बार में स्किप करना चाहते हैं तो हम लिख देते हैं कंटिन्यू यानी अभी की बारी की जो सारी लाइंस है वो तो हट जाएंगी अगली बारी वाली रन होंगी इसका एक एग्जांपल लिखते हैं कोड लिखकर चीजें ज्यादा अच्छे से समझ में आएंगी फॉर इंट i = 1 i इ ले इक्ट 5 i प् प्लस अब हम वन से लेकर फाइव तक सारे नंबर्स को प्रिंट करवाना चाहते हैं पर थ्री जो नंबर है ना उससे हमें बड़ी नफरत है बड़ा अनलकी लगता है उसको प्रिंट नहीं करवाना बाकी सारों को प्रिंट करवाना है तो यहां क्या लिख सकते हैं अगर सबसे पहले तो प्रिंट स्टेटमेंट लिख देते हैं अपने सारे नंबर्स की लिख देते हैं परसेंटेज d ब n और हमारा नंबर n या हमारा नंबर आ और सबसे ऊपर चेक कर लेते हैं अगर हमारा जो आ है इज इक्वल टू इक्वल टू 3 हो जाता है तो ये अनलकी नंबर आ गया हमारा इसको हम प्रिंट नहीं करवाएंगे तो उस केस में हम कर देंगे कंटिन्यू अगर यहां पर ब्रेक लिख देते तो मतलब इस लूप से हम कंप्लीट बाहर आ जाते तो फोर और फाइव तो प्रिंट होता ही नहीं मतलब थ्री तो होता ही नहीं पर फर फ भी नहीं होता पर हमने लिख दिया कंटिन्यू कंटिन्यू से देखते हैं क्या आउटपुट आता है कंटिन्यू से आउटपुट आया 1 2 3 हमारा स्किप हो गया और 45 आ गया तो जब भी हमें किसी चीज को स्किप करवाना होता है कुछ पर्टिकुलर सेट ऑफ लाइंस को हम स्किप करवाना चाहते हैं उनको छोड़ना चाहते हैं और अगली आइट एशन पर जाना चाहते हैं तब वहां पर हम कंटिन्यू का इस्तेमाल करते हैं कंटिन्यू कहता है आगे कंटिन्यू करो अभी वाली चीज को जाने दो अभी वाली चीज को छोड़ दो तो ये बेसिक मतलब है हमारे कंटिन्यू का अब इसका अगर हम सवाल करें तो प्रिंट ऑल नंबर्स फ्रॉम वन टू 10 एक्सेप्ट फॉर सिक्स यानी छह के अलावा सारे वन से लेकर 10 तक नंबर्स प्रिंट करने हैं इसको कैसे करेंगे सिंपली यहां पे लिख देंगे बस कंडीशन में वन से लेकर 10 अपनी स्किप वाली कंडीशन में लिखेंगे जब i इ 6 हो जाए तो कर दो स्किप या कंटिन्यू तो हम रन करें तो आउटपुट हमारे पास आ गया वन से लेकर फ तक नंबर्स आ गए और सेन से लेकर 10 तक नंबर्स आ गए सिक्स हमारा स्किप हो गया है उसको हमने प्रिंट नहीं किया नेक्स्ट सवाल की अगर बात करें प्रिंट ऑल द ऑड नंबर्स फ्रॉम 5 टू 50 यह हमारा सवाल है पा से लेके 50 के बीच में जितने भी ऑड नंबर्स आते हैं उन सबको हमें प्रिंट करना है प्रिंट करने के लिए कोड लिखते हैं फॉर इंट आ = 0 आ इज लेस देन इस बार इनिश जीरो से नहीं पांच से करेंगे और आ लेन इक्वल टू जब तक 50 रहता है आ को कर देंगे हर बार प्लस प्लस अब जब भी हमारा आ जो है वो एक ऑड नंबर है तब हमें उसको प्रिंट करना है इवन है तो प्रिंट नहीं करना इसको करने के मल्टीपल तरीके हो सकते हैं आप इस सेम सवाल को कंटिन्यू की हेल्प से भी कर सकते हैं सेम सवाल को उल्टे तरीके से भी कर सकते हैं यानी जिस तरीके से मैं करके दिखाऊंगी उससे ऑपोजिट कंडीशंस को लेकर तो एक ही सवाल को करने के मल्टीपल तरीके होते हैं और जब हम शुरुआती स्टेज में है ना प्रोग्रामिंग के तो हमें मल्टीपल तरीके एक्सप्लोर जरूर करने चाहिए एक तरीके से एक सवाल कर लिया अब कोशिश करनी है उसको दूसरे तरीके से करके देखूं पहले इज इक्वल टू इज इक्वल टू चेक किया था अब नॉट इक्वल टू से करके देखता हूं सवाल को इस तरीके से जब भी प्रोग्रामिंग करते हैं ना शुरुआत में तो और ज्यादा हमारी एक तो क्रिएटिविटी और लॉजिकल पावर बहुत ज्यादा बढ़ती है क्योंकि हम मल्टीपल केसेस इमेजिन कर रहे होते हैं सेम सिचुएशन के साथ के साथ जब प्लेसमेंट के टाइम पर या कॉलेज के टाइम पर आपको कोई कोडिंग क्वेश्चन दिया होगा ना करने के लिए तो उसमें क्या-क्या आपके कॉर्नर केसेस आ सकते हैं कहां-कहां आपका कोड फस सकता है वो वाली कंडीशन स्टेटमेंट्स आप बहुत अच्छे से इमेजिन कर पाएंगे तो सवाल के अंदर बढ़ते हैं सबसे पहले हम चेक करना है कि क्या हमारा नंबर ऑड है ऑड चेक करने के लिए क्या करेंगे आ मॉडलो टू अगर नॉट इक्वल टू 0 है तो मतलब हमारा नंबर क्या है ऑड तो यहां पर हम लिख देंगे अपनी कंडीशन कंडीशन के अंदर क्या करना है अगर ऑड है तो उसको प्रिंट करवा देंगे परसेंटेज d n i नहीं तो एल्स के अंदर क्या करना है एल्स के अंदर कुछ भी नहीं करवाना एल्स के अंदर एल्स को लिखने की जरूरत नहीं है क्योंकि एल्स के अंदर कुछ करवाना ही नहीं है हमें तो इसको कर लेते हैं सेव और इसको करते हैं अपने टर्मिनल से रन आउटपुट हमारे पास क्या आया 5 7 9 11 और आप ध्यान से ऑब्जर्व करेंगे ये सारे के सारे ऑड नंबर्स हैं जो 5 से लेकर 50 के बीच में एजिस्ट करते हैं तो इस तरीके से भी हम कोड लिख सकते हैं नेक्स्ट सवाल कहता है प्रिंट द फैक्टोरियल ऑफ अ नंबर n यानी एक नंबर n है उसका फैक्टोरियल प्रिंट करना है सबसे पहले बात कर लेते हैं फैक्टोरियल नाम की चीज होती क्या है किसी भी नंबर का फैक्टोरियल होता है उस नंबर को वन से लेकर सारे एक एक डिक्रीज करते करते मल्टीप्लाई कर देना जैसे अगर हम फैक्टोरियल ऑफ वन निकाले मैथ के अंदर वन एक्सक्लेमेशन मार्क को वन फैक्टोरियल कहते हैं तो वो होगा वन 2 फैक्टोरियल निकाले तो वो होगा 1 ल्ड बा 2 3 फैक्टोरियल निकाले तो वह होगा 1 * 2 * 3 = 6 यह होगा = 2 4 फैक्टोरियल होगा 1 म 2 * 3 * 4 = 24 5 फैक्टोरियल होगा 1 * 2 * 3 * 4 * 5 = 120 तो इस तरीके से हमारे फैक्टोरियल्स कैलकुलेट होते हैं अब यहां पर जो मल्टीप्लिकेशन है वो या तो हम वन से लेकर फाइव तक मल्टीप्लाई कर सकते हैं या फाइव से लेकर वन तक मल्टीप्लाई कर सकते हैं मल्टीप्लाई एक नंबर को दूसरे नंबर से करने पर सेम आउटपुट आता है मतलब a * b भी सेम रहता है b * a भी सेम रहता है और प्लस में भी सेम रहता है माइनस और डिवाइड में सेम नहीं रहता तो किसी भी नंबर का अगर हमें फैक्टोरियल निकालना है तो उसके लिए सिंपली एक लूप लगा दें लूप कहां से शुरू हो हमारे नंबर से ही शुरू हो जाए इंट i = 1 से शुरू हो जाए और n तक चले जाए वन से लेकर n तक च ले जाएंगे या n से लेकर वन तक ले जाएंगे या वन से लेकर n है तो i प्लस प्लस कर देंगे हर बार और एक और वेरिएबल ले लेंगे फैक्टोरियल फैक्टोरियल वेरिएबल को इनिश इइ करेंगे वन के साथ जब हमने सम किया था वन से लेकर एंड तक का तो उसको रो से इनिशियलिज्म करते हैं वन से क्यों इनिशियलिज्म कर दिया वो तो रो हो जाएगा इसीलिए जब भी सम लेना हो तो रो से इनिशियलिज्म करना हो तो वन से इनिशियलिज्म मल्टीप्लाई कर देंगे अपने नंबर आ को हर बार यह वाला कोड जो है वह सम वाले कोड के काफी सिमिलर लग रहा होगा सम में हम क्या करते थे सम + i यहां पर हम क्या कर रहे हैं फैक्टोरियल = फैक्टोरियल मल्टीप्ला बाय i और इस तरीके से फाइनल फैक्टोरियल की जो वैल्यू निकलेगी ना वो हमारा नंबर का फैक्टोरियल हो जाएगा तो इसको भी हम करके देख लेते हैं कोड कोड करने के लिए सबसे पहले तो ऊपर हमें एक नंबर क्रिएट करना है इंट n फिर प्रिंट कर देंगे एंटर नंबर उसके बाद स्कैन कर लेंगे अपने नंबर को परसेंटेज डी m परसेंट n और अब क्या करेंगे एक लूप रन करेंगे लूप रन करने से पहले एक और वेरिएबल डिफाइन कर लेते हैं इंट फैक्टोरियल = 1 अब लूप के अंदर सबसे पहले इनिश इज करेंगे i को वन के साथ i इ < इ n i + प् और लूप का काम क्या है फैक्टोरियल कैलकुलेट करना तो फैक्टोरियल इ इक्वल टू फैक्टोरियल मल्टीप्ला बा i और एंड में हमारा जो फाइनल फैक्टोरियल होगा उसकी वैल्यू प्रिंट कर देंगे फाइनल फैक्टोरियल इज परसेंटेज d व्हिच इज़ आर फैक्ट अब एक चीज फैक्टोरियल के बारे में हमें काफी ध्यान रखनी है वह यह कि फैक्टोरियल की वैल्यू ना मल्टीप्लाई हो हो के बढ़ती है जैसे सम में बहुत कम चेंज आता है अगर आप 10 में पांच ऐड करेंगे तो वैल्यू बस 15 होगी जो छोटी वैल्यू है पर आप 10 को मल्टीप्लाई कर देंगे पाच के साथ तो वैल्यू 50 हो जाएगी इसीलिए अगर फैक्टोरियल जो है वह काफी तेजी के साथ मतलब ऑलमोस्ट एक्सपो शियली बढ़ते हैं इसीलिए जो आपका इंट है इस इंट डे डेटा टाइप का अगर आप फैक्टोरियल बना रहे हैं तो उसके अंदर बहुत कम नंबर्स होंगे जिनको फैक्टोरियल स्टोर कर पाएंगे यानी अगर आप इसमें कोई बड़ा नंबर दे देंगे जैसे आप निकालना चाह रहे हैं 50 फैक्टोरियल तो उस केस में इंट बहुत छोटा पड़ जाएगा उसको स्टोर कराने के लिए तो आपको बिगर डेटा टाइप्स यूज करने पड़ेंगे और कुछ-कुछ केसेस में तो फैक्टोरियल इतना ज्यादा बड़ा हो जाएगा कि कोई भी नंबर वाला डाटा टाइप उसको स्टोर ही नहीं कर पाएगा तो उसको करने के अलग तरीके होते हैं वो आपका कंपीटेटिव प्रोग्रामिंग या एक्सट्रीम डीएसए वाली साइड में चला जाता है जब आप स्ट्रिंग में फैक्टोरियल स्टोर करा रहे होते हैं पर सी के अंदर तो स्ट्रिंग्स भी नहीं होती तो आपका कैरेक्टर एरे यूज़ होगा ये सारी बातें क्या है ये हम डिटेल में आगे वाले चैप्टर्स में पढ़ रहे होंगे अभी के लिए जो दूसरी लैंग्वेजेस से आ रहे हैं उनको ज्यादा अच्छे से समझ में आ रहा होगा बेसिक इसका ये है कि इस प्रोग्राम को जब रन करेंगे ना तो बड़े नंबर्स नहीं देने फैक्टोरियल कैलकुलेट करने के लिए छोटे नंबर्स का फैक्टोरियल कैलकुलेट करेंगे तो वो हमारा प्रोग्राम हमें करके दे देगा अब यहां पर इस कोड को कर लेते हैं सेव और इसको करते हैं अब रन सबसे पहले कैलकुलेट करते हैं तीन का फैक्टोरियल फाइनल फैक्टोरियल इज सिक्स व्हिच इज करेक्ट अब अगर हम रन करना चाहे 5 का फैक्टोरियल इज 120 यह भी सही है 6 का फैक्टोरियल हम निकालें तो दैट इज 720 अब मान लीजिए हम शैतानी दिमाग है और हम 50 एंटर करना चाह रहे हैं तो हमारे पास रो आएगा क्यों क्योंकि जो फाइनल फैक्टोरियल था वो नंबर एक्सीड कर गया है इस डेटा टाइप को इसके अंदर स्टोर ही नहीं हो पाया इसलिए बड़े नंबर्स के साथ टेस्ट नहीं करना छोटे नंबर्स के साथ हम टेस्ट कर सकते हैं नेक्स्ट सवाल जिसकी बात करेंगे यह है प्रिंट द रिवर्स ऑफ अ टेबल फॉर अ नंबर n यानी यूजर हमें यह नंबर n देगा इसकी हमें टेबल प्रिंट करनी है पर सीधी टेबल प्रिंट नहीं करनी रिवर्स ऑर्डर में करनी है जैसे यूजर ने दिया n = 2 तो हम प्रिंट करेंगे 20 फिर 18 16 14 12 10 8 6 4 2 इस तरीके से उल्टे ऑर्डर में टेबल प्रिंट करनी है तो कुछ नहीं पहले हम क्या करते थे इसको लिखते थे 2 * 1 2 * 2 2 * 3 2 * 4 अब की बार शुरुआत कर देंगे 2 * 10 के साथ फिर 2 * 9 2 * 8 और इस तरीके से तो यह जो है यह हमारा आइट र बन जाएगा अपने लूप के लिए और हर बार हम वैल्यू को डिक्रीज कर देंगे यानी i माइनस माइनस इसके लिए भी कोड लिख लेते हैं यूज़र से हम नंबर एंटर करा लेंगे एंड उसके बाद प्रिंट करवाने वाले हैं अपने नंबर की टेबल को तो फॉर इंट इस बार अपने आइट मेटर को इनिश इज करेंगे अपने नंबर्स के साथ या सॉरी आइट मेटर को इनिश करेंगे 10 के साथ फिर i को जब तक ग्रेटर दन इक्वल टू 1 जाएगा i माइनस माइनस और हर बार हम प्रिंट करवा रहे होंगे परसेंटेज d ब n नंबर मल्टीप्ला बाय i इसको कर लेते हैं सेव और इसको करते हैं रन नंबर हम अपना एंटर करेंगे टू तो यह टू की टेबल पूरी की पूरी उल्टी हमारे पास प्रिंट होकर आ गई है स्टार्टिंग फ्रॉम 20 एंड एंडिंग एट टू तो इस तरीके से अपने रिवर्स ऑर्डर में भी टेबल्स को प्रिंट करा सकते हैं लास्ट क्वेश्चन जिसको हम डिस्कस कर रहे होंगे इस चैप्टर के अंदर उसका नाम है कैलकुलेट द सम ऑफ ऑल नंबर्स बिटवीन 5 एंड 50 इंक्लूडिंग 5 एंड 50 यानी 5 और 50 को भी गिनना है पांच से लेकर 50 तक के सारे नंबर्स का सम हमें कैलकुलेट करके उसको स्क्रीन पर प्रिंट करवाना है कैसे प्रिंट करवाएंगे इस पार्ट को हटा लेते हैं और एक वेरिएबल ले लेते हैं इंट सम = 0 इनिश इजेशन इस बार होगा पांच से और खत्म कहां तक होगा आ जब तक लेसन इक्वल ट 15 ही हो जाता और एंड में कर देंगे i + + और यहां पर कर देंगे सम = सम + i या फिर इसका शॉर्ट हैंड लिखते हैं + = i और एंड में प्रिंट करवा देंगे सम को परसेंटेज d i इसको कर लेते हैं सेव एक बार कोड को थोड़ा सा एनालाइज करते हैं सम को हमने इनिश इज किया ज़ीरो के साथ अपने लूप की शुरुआत हमने की पांच के साथ और उसको एंड किया जब i की वैल्यू 50 हो जाएगी धीरे-धीरे एक-एक करके इंक्रीज किया पहले पांच था फिर छह हुआ फिर सात हुआ फिर आठ हुआ हर बार अपने सम के अंदर प्लस कर देंगे अपने आ की वैल्यू को यानी 5 + 6 + 7 + 8 टिल हम 50 तक नहीं पहुंच जाते और एंड में हम प्रिंट करवा देंगे अपने सम की वैल्यू को इसको कर लेते हैं सेव और इसको रन करके देखते हैं कंपाइल रन तो पाच से लेकर 50 तक का सारे नंबर्स का सम हमारे पास आता है 1 2 6 5 और जिन-जिन स्टूडेंट्स को शक हो रहा है वो मैनुअली खुद बैठकर कैलकुलेट कर सकते हैं या फिर ग कर सकते हैं तो वो एक अच्छा तरीका होगा अपने कोड को वेरीफाई करने का तो अभी के लिए इतने ही प्रैक्टिस क्वेश्चंस आई होप कि सफिशिएंट है क्योंकि मेरे ख्याल से जब मैंने अपना सी पढ़ा था या मैंने प्लेसमेंट के लिए बैठा था तो इतने में हमारा यह वाला चैप्टर जो है सफिशिएंट तरीके से हमें समझ आ गया होगा और होमवर्क प्रॉब्लम हम खुद से बहुत अच्छे से कर पाएंगे अगर फिर भी डाउट आ रहा है तो एक बार फिर से हमें हल्का सा रीकैप मारने की जरूरत है लेक्चर पर मैंने पूरी कोशिश की है कि जो जो इंपॉर्टेंट कांसेप्ट हैं इंपो टेंट चीजें हैं जहां-जहां मोस्टली स्टूडेंट्स गलती करते हैं वो वाले प्रॉब्लम्स मैंने डिस्कस करने की कोशिश की है पूरी एंड साथ के साथ उन कांसेप्ट को भी बहुत अच्छे से मैंने बताने की कोशिश की है अब इसके बाद हम हल्का सा पॉज ले सकते हैं हल्का सा ब्रेक ले सकते हैं थोड़ा सा पानी पी के आ सकते हैं और अपने होमवर्क प्रॉब्लम्स को सॉल्व कर सकते हैं और इसके बाद बढ़ने वाले हैं हम अपने चैप्टर फाइव की तरफ और अब हम बढ़ रहे हैं अपने चैप्टर फाइव की तरफ जिसका नाम है फंक्शंस एंड रिकर्स अब फंक्शंस बहुत ज्यादा इंपॉर्टेंट टॉपिक है जब भी हम किसी भी लैंग्वेज की बात करते हैं फंक्शन जो है लूप्स की तरह या हमारी कंडीशनल स्टेटमेंट्स की तरह बिल्कुल बेसिक कोर प्रोग्रामिंग के कांसेप्ट में आता है जो बिल्कुल कोर प्रोग्रामिंग के कांसेप्ट आपको सिखा रहा होता है जिनको आप सिर्फ सी के अंदर नहीं दूसरी लैंग्वेजेस के अंदर भी अप्लाई कर रहे होंगे साथ के साथ रिकर्स की बात करें तो सी के अंदर हम रिकर्स का बहुत सिंपल फॉर्म देख रहे होंगे जिसमें अगर कभी आपसे कॉलेज वाले सवाल पूछते हैं या प्लेसमेंट वाले सवाल पूछते हैं सी से रिलेटेड तो बहुत आपसे बेसिक सवाल पूछेंगे लेकिन रिकजन की असली ताकत हमें तब देखने को मिलती है जब हम डेटा स्ट्रक्चर्स और एल्गोरिथम सीख रहे होंगे फिर चाहे वो c+ प में सीखें फिर चाहे वो जावा के अंदर सीखें अब जब भी हम डटा स्ट्रक्चर्स एंड एल्गोरिथम सीखते हैं ना उसमें थोड़े से कॉम्प्लेक्शन आते हैं जैसे ट्रीज आ गए ग्राफ्स आ गए और काफी सारी जो चीजें हैं ना जैसे आप वो फंक्शन की हेल्प से इंप्लीमेंट की जाती है तो सबसे पहले बात करते हैं कि फंक्शंस एक्चुअली होते क्या हैं अगर हम घर पे बैठ के कभी हमने बचपन में टीवी देखा होगा आजकल तो सब सोशल मीडिया ए से चैनल पीछे जाता था म्यूट का बटन होता था टीवी को म्यूट करने के लिए और पावर बटन होता था टीवी को बंद या चालू करने के लिए अब उस टीवी के रिमोट को अगर हम सी के अपने प्रोग्राम से कंपेयर करें तो उसमें जो डिफरेंट डिफरेंट बटंस होंगे ना हर एक बटन एक फंक्शन होगा फंक्शन सी के अंदर ऐसा पार्ट होता है कोड का जो कुछ काम हमें करके देता है वो हमसे कुछ इनपुट लेता है फिर काम करता है फिर कुछ आउटपुट देता है जैसे अगर रिमोट के बटन की बात करें तो उसको हमने प्रेस किया उसको दबाया वो हम ने उसको इनपुट दिया फिर उसने हमारे लिए चैनल चेंज कर दिया या वॉल्यूम बढ़ा दी यह उसने काम किया या इसी को हम आउटपुट कह सकते हैं आउटपुट वो हमें एक्स्ट्रा कुछ नहीं दे रहा उसी तरीके से हमारे फंक्शंस काम करते हैं c के अंदर और फंक्शंस बहुत पावरफुल होते हैं जैसे फंक्शन को आसान भाषा में या आप जो अपने एग्जाम में लिख कर आएंगे उस भाषा में बात करें तो फंक्शन इज अ ब्लॉक ऑफ कोड दैट परफॉर्म्स पर्टिकुलर टास्क यानी फंक्शन हमारे प्रोग्राम का एक वो ब्लॉक होता है एक वो पार्ट होता है जो किसी पर्टिकुलर टास्क को परफॉर्म करता है और सिंपलीसिटी के लिए एक फंक्शन का काम एक ही होता है जैसे अगर एक फंक्शन है जिसको वॉल्यूम बढ़ानी है तो वो बस वॉल्यूम ही बढ़ाएगा वो वॉल्यूम कम नहीं करेगा या वो चैनल चेंज नहीं करेगा दूसरा फंक्शन जिसका काम है टीवी को म्यूट करना वो बस टीवी को म्यूट ही करेगा वो ना वॉल्यूम बढ़ाएगा ना वॉल्यूम कम करेगा इस तरीके से हर एक सी के फंक्शन का एक काम होता है और वो वही काम करता है वो दूसरे काम हम उससे करवाने की कोशिश नहीं करते नहीं तो हमारा जो प्रोग्राम है वो कॉम्लेक्स होता जाता है अब फंक्शन को डायग्राम की हेल्प से समझे तो फंक्शन हमारा हमें कुछ काम करके देता है सबसे पहले वह हमसे कुछ आर्गुमेंट लेता है आर्गुमेंट यानी कुछ इनपुट लेता है इनपुट पैरामीटर्स इन पैरामीटर्स के बेसिस पर वह हमें कुछ काम करके देता है और आउटपुट में हमें एक रिजल्ट जो है व रिटर्न करता है अब फंक्शंस का मेजर यूज सी के अंदर या किसी भी प्रोग्रामिंग लैंग्वेज के अंदर इसलिए होता है क्योंकि इट कैन बी यूज्ड मल्टीपल टाइम्स मतलब एक ही फंक्शन को हम बार-बार बार-बार बार-बार यूज कर सकते हैं टीवी के रिमोट में कितनी बार भी हम वॉल्यूम का बटन दबा सकते हैं या चैनल चेंज करने के लिए बटन दबा सकते हैं या पावर बटन को न जाने हमने लाखों बार जो है अगर ज्यादा टीवी देखा होगा तो ऑन ऑफ किया होगा तो एक फंक्शन ऐसा पार्ट होता है जो एक काम करता है साथ के साथ उससे वही काम बहुत बार जितनी बार हम चाहे उतनी बार करवाया जा सकता है सेकंड प्रॉपर्टी ये होती है कि इट इंक्रीजस कोड रीयूज बिलिटी अगर हमारे कोड में हम देखते हैं वैसे ये रूल ऑफ थंब है जो मैं करती हूं कि कोई भी चीज अगर कोड के अंदर सेम चीज तीन बार करनी पड़ रही है तीन बार से ज्यादा करनी पड़ रही है तो उसको फंक्शन बना दो मान लीजिए हमें हेलो वर्ल्ड प्रिंट करना है अगर तीन बार हेलो वर्ल्ड प्रिंट करना पड़ रहा है या उससे ज्यादा प्रिंट करना पड़ रहा है तो क्या करें उसका फंक्शन बना दें तो जब भी फंक्शन को कॉल करेंगे ऑटोमेटिक वो चीज हो रही होगी तो इसीलिए बार-बार बार-बार एक बड़ा कोड लिखने की जगह हम क्या कर सकते हैं उसको छोटे से फंक्शन में सिंपलीफाई कर सकते हैं जिसकी वजह से कोड की रीयूज बिलिटी बढ़ जाती है अब सी के अंदर फंक्शन को एक्चुअली लिखते क्या कैसे फंक्शन के कुछ-कुछ सिंटेक्स होते हैं फंक्शन को लिखने का जो प्रोसेस रहता है यूजुअली नॉर्मल केसेस में एक थ्री स्टेप प्रोसेस होता है जिसमें से सबसे पहला सिंटेक्स होता है फंक्शन प्रोटोटाइप का फंक्शन प्रोटोटाइप का क्या मतलब है ये वो लाइन है जिसकी वजह से हम सी कंपाइलर को बता रहे हैं कि हम एक फंक्शन लिखने वाले हैं सी कंपाइलर को पता होना चाहिए कि प्रोग्राम के अंदर क्या-क्या चीजें लिखी हुई हैं तो इस लाइन की हेल्प से यानी इस प्रोटोटाइप की हेल्प से हम बताते हैं कि हम एक फंक्शन डिक्लेयर करने वा वाले हैं तो इसको फंक्शन प्रोटोटाइप या फंक्शन डिक्लेरेशन भी कहा जाता है अब इसको लिखने का सिंटेक्स क्या रहता है सिंटेक्स यह है कि ये जो प्रिंट हेलो है ना ये हमारे फंक्शन का नाम है हमारे फंक्शन का नाम कुछ भी हो सकता है क्योंकि वो एक वेरिएबल के नाम की तरह है वो यूजर डिफाइंड है जैसे हमारा फंक्शन क्या करता है हमारा फंक्शन हेलो प्रिंट करता है ये हमने अज्यू किया है तो इसीलिए हमने फंक्शन को नाम दे दिया प्रिंट हेलो अगर वो दो नंबर्स का एवरेज प्रिंट करता तो हम उसे एवरेज नाम दे सकते थे या प्रिंट एवरेज नाम दे सकते थे इस हिसाब से हमारा फंक्शन जो भी काम करता है हम उस हिसाब से उसका नाम रख देते हैं तो यहां पे हमने उसको नाम दिया प्रिंट हेलो और फंक्शन को लिखने के बाद हमेशा दो पैरेंस लगाने होते हैं तो हमने यहां पर दो पैरेंस लगा दिए उसके बाद लगा दिया स्टेटमेंट टर्मिनेटर अब ये यहां पर हमने वॉइड जो लिखा है इस वॉइड को लिखने का मतलब है हमारा फंक्शन रिजल्ट में कुछ रिटर्न नहीं करके देगा मतलब वो काम कर देगा पर एंड में कोई वैल्यू नहीं मिलेगी हमें इसीलिए वॉइड वॉइड का इंग्लिश में मतलब होता है खाली तो यहां पर वॉइड लिखा है मतलब ये प्रिंट हेलो फंक्शन जो है हेलो प्रिंट कर देगा पर कुछ रिटर्न नहीं करेगा वैल्यू अब ये जो लाइन है प्रिंट हेलो उससे पहले वॉइड और फिर पैरेंस ये कंपाइलर को बताती है कि हमारा एक फंक्शन जो है वो एजिस्ट करता है ये डिक्लेरेशन का सिंटेक्स है दूसरा सिंटेक्स जिसकी बात कर रहे होंगे वो है फंक्शन की डेफिनेशन एक बार हमने कंपाइलर को बता दिया कि हमारा फंक्शन एजिस्ट करता है उसके बाद हमें फंक्शन लिखना तो पड़ेगा फंक्शन का काम तो कहीं दिखाएं कि फंक्शन काम कैसे करता है तो तो उस स्टेटमेंट को हम कहते हैं फंक्शन डेफिनेशन और उसका सिंटेक्स ये होता है सबसे पहले हम लिखते हैं रिटर्न टाइप रिटर्न टाइप यानी वो क्या वैल्यू रिटर्न करेगा उसका क्या टाइप है तो यहां पर कुछ रिटर्न नहीं करेगा इसलिए वॉइड लिखा है फिर लिखेंगे अपने फंक्शन का नाम प्रिंट हेलो फिर लिखेंगे पैरेंस उसके बाद आएंगे हमारे कर्ली ब्रेसेज तो ये ब्लॉक है जिसके अंदर सारा का सारा हमारा कोड जो है एजिस्ट करेगा फंक्शन का यहां पर क्योंकि हमें सिर्फ हेलो प्रिंट करना है हम एक सिंगल लाइन लिख देंगे प्रिंट ए जिसके अंदर लिख देंगे हम हेलो तो इस तरीके से हमारी फंक्शन डेफिनेशन भी कवर हो गई अब हम तीसरा सिंटेक्स जिसकी बात करते हैं वो है फंक्शन कॉल फंक्शन कॉल क्या करती है हमने कंपाइलर को बता दिया कि हम फंक्शन बनाना चाहते हैं फिर हमने फंक्शन बना भी दिया अब इस फंक्शन को यूज कैसे करें तो फंक्शन को यूज करने का जो काम होता है उसको हम फंक्शन कॉल कहते हैं यानी फंक्शन को बुलाना तो उसके लिए कैसे स्टेटमेंट लिखी जाती है फंक्शन को या तो हम इंट मेन से मेन फंक्शन से कॉल लगा सकते हैं या किसी और फंक्शन से कॉल लगा सकते हैं तो यहां पर हम मेन फंक्शन से दूसरे फंक्शन को बुला रहे हैं हमारा जो प्रिंट हेलो फंक्शन है उसका नाम लिख देंगे पैरेंस लिख देंगे टर्मिनेटर लगा देंगे तो यह बन जाएगी हमारी कॉलिंग स्टेटमेंट जो हमने इंट मेन के अंदर लिखी है अब ध्यान से अगर देखें तो हमारा मेन भी एक फंक्शन है जिसका रिटर्न टाइप इंट है क्योंकि इंट वैल्यू रिटर्न करता है इंट वैल्यू यानी ये ज़ीरो रिटर्न करता है उसके बाद इसका नाम है मेन पर यह मेन एक कीवर्ड है बाकी ज सारे जो फंक्शंस के नाम होते हैं जो हम बनाएंगे व सब कीवर्ड्स नहीं होंगे इसके बाद इसमें पेंसिस आता है यह हमारा कर्ली ब्रेसस और इसके अंदर सारा इसका ब्लॉक ऑफ कोड तो इस तरीके से हम जैसे मेन फंक्शन होता है वैसे दूसरे फंक्शन बनाने वाले हैं जो हमारी मर्जी से काम कर रहे होंगे सबसे पहले एक एग्जांपल के लिए एक फंक्शन लिखकर देखते हैं तो बॉयलर प्लेट कोड हमारे पास है जिसमें ऑलरेडी हमारी ऊपर हेडर फाइल है नीचे इंट मेन है रिटर्न जीरो हम कर रहे हैं अपना प्रिंट हेलो फंक्शन बनाते हैं सबसे ऊपर बताएंगे कंपाइलर को कि हमने फंक्शन बनाया कैसे बताएंगे वॉइड प्रिंट हेलो उसके बाद एक्चुअली अपने प्रिंट हेलो को बना रहे होंगे इस प्रिंट हेलो को हम अपने मेन फंक्शन से नीचे बना रहे हैं अब इसको ऊपर भी बना रहे हैं पर जब भी ऊपर बनाते हैं ना तो आपको यह अलग से बताने की जरूरत नहीं है पर बाय थोड़ा बहुत ट्रेडिशनल जो सिंटेक्स है ट्रेडिशनल तरीका लिखने का उसको फॉलो करते हुए हम मेन से नीचे अपने फंक्शंस को बना रहे होंगे इस क्लास के अंदर तो लिखेंगे वॉइड प्रिंट हेलो उसके बाद पेंसिस फिर हमारा कर्ली ब्रेस अब इस प्रिंट हेलो को इस मेन फंक्शन से कंपेयर करें तो सबसे पहले इसमें रिटर्न टाइप है तो इसमें भी रिटर्न टाइप है मतलब मेन हमारा इंटी जर रिटर्न करता है प्रिंट हेलो कुछ भी रिटर्न नहीं करता इसका नाम मेन है इसका नाम प्रिंट हेलो है इसके बाद हमने दोनों में पेंसिस लगाए हैं और दोनों में कर्ली ब्रेसे लगाए हैं और प्रिंट हेलो के अंदर हम अपना काम कर रहे होंगे जो काम है प्रिंट एफ वर्ल्ड तो इस तरीके से हमारा जो प्रिंट हेलो फंक्शन है वो हेलो वर्ल्ड या लेट्स से हमें हेलो प्रिंट करके देता है इसको कर लेते हैं सेव अब प्रिंट हेलो लो को कॉल कैसे करें मतलब हेलो प्रिंट कैसे करवाए उससे तो कॉलिंग हमारी यहां पर होगी यहां हम लिखेंगे प्रिंट हेलो अपने फंक्शन का नाम फिर पेंसिस और फिर टर्मिनेटर तो यह हो गया हमारा डिक्लेरेशन या फंक्शन प्रोटोटाइप यह हो गई हमारी फंक्शन कॉल और यहां पर सबसे मेन चीज हमारा फंक्शन डेफिनिशन इसको कर लेते हैं सेव और एक बार रन करते हैं टर्मिनल से कंपाइल एंड रन तो हमारे लिए हेलो प्रिंट होकर आ गया है यहां नेक्स्ट लाइन अब हम चाहे तो बार-बार प्रिंट एफ लिखने की जगह बार-बार इस हेलो को प्रिंट करवा सकते हैं कैसे फंक्शन को कॉल करके तो हमने एक बार फंक्शन को कॉल किया अब हम दोबारा फंक्शन को कॉल कर लेते हैं इनफैक्ट हम तीन बार अपने फंक्शन को कॉल कर लेते हैं को कर लेते हैं सेव और रन तो हमारे लिए क्या हुआ तीन बार हेलो प्रिंट हो गया अब हम चाहे तो कितनी बार भी अपने फंक्शन से काम करवा सकते हैं अब यहां पर तो हमने बहुत सिंपल एग्जांपल देखा जो क्या करता है सिर्फ एक प्रिंट वाली स्टेटमेंट लिखता है लेकिन इस फंक्शन के अंदर हम 10 20 25 कितनी भी लाइनें लिख सकते हैं और वो लाइनें हमें बार-बार फिर अपने मेन फंक्शन के अंदर नहीं लिखनी पड़ेगी वहां पर सिर्फ अपने फंक्शन का नाम लिखना पड़ेगा तो इस तरीके से हमारे कोड की रीयूज बिलिटी बढ़ जाती है हमें बहुत सारी लाइने नहीं लिखनी पड़ती कोड हमारा छोटा हो जाता है और बहुत सिस्टमिक होता है क्योंकि जो जिस चंक को जो काम करना चाहिए वो हमारे फंक्शन का नाम हमें बता देता है तो इस तरीके से प्रोग्रामिंग जो है वो बहुत सिंपल हो जाती है इसका फायदा चाहे हमें अभी ना देखने को मिले पर जब हम कंपनीज के अंदर बड़े-बड़े कोड्स लिखने जाते हैं तो वहां पर हजारों लाइनों के कोड होते हैं तो वहां पे फंक्शंस हमारे बहुत ज्यादा हेल्प करते हैं अब ये जो फंक्शन है इसके अंदर हम कुछ भी प्रिंट करवा सकते हैं मान लीजिए हम प्रिंट करवा रहे हैं इसके अलावा माय नेम इज शता एंड नेक्स्ट लाइन तो अब इस फंक्शन के अंदर दो लाइन हमारे पास आ गई अब हम दोबारा से इसको कॉल लगाएं तो देखेंगे ये सेम चीज हमारे लिए तीन बार प्रिंट हो गई है पर फंक्शन कॉल वैसे की वैसी रही यानी अगर कोई चेंज भी हमें करना है जैसे वॉल्यूम बटन पहले क्या करता था वॉल्यूम बटन वन से इंक्रीज करके टू कर देता था टू से थ्री कर देता था लेकिन हम चाहते हैं अपने रिमोट में वॉल्यूम बटन जो है वन से थ्री हो जाए थ्री से फाइव हो जाए दो-दो स्किप करें तो अब हमें कॉल पे चेंज करने की जरूरत नहीं है अब हम पूरा डेफिनेशन में जाके ही चेंज कर देंगे ताकि यूजर को फर्क ना पड़े उसको बस बटन पहले की तरह दबाना पड़े तो यह भी फायदा होता है फंक्शंस को लिखने का अब कुछ सवाल सॉल्व करते हैं जिसमें हम डिफरेंट डिफरेंट फंक्शंस को लिख कर देख रहे होंगे उनकी प्रॉपर्टीज को देख रहे होंगे इसमें सबसे पहला सवाल है राइट टू फंक्शंस वन टू प्रिंट हेलो एंड सेकंड टू प्रिंट गुड बाय सवाल में हमें दो फंक्शंस लिखने हैं सबसे पहले एक फंक्शन बनाएंगे जो हेलो को प्रिंट करता हो फिर एक फंक्शन बनाएंगे जो गुड बाय को प्रिंट करता हो तो इसे कर देते हैं क्रॉस हमने ऑलरेडी एक फंक्शन प्रिंट हेलो बना लिया जो हेलो को प्रिंट कर करता है अब क्या करेंगे एक फंक्शन बनाएंगे जो गुड बाय को प्रिंट करेगा तो ऊपर सबसे पहले कंपाइलर को बताना पड़ेगा वॉइड प्रिंट गुड बाय यह हम एक फंक्शन बनाने वाले हैं कंपाइलर को हमने बता दिया उसके बाद उस फंक्शन को एक्चुअली बना लेते हैं वॉइड प्रिंट गुड बाय और यहां पर अब प्रिंट स्टेटमेंट लिख देंगे गुड बाय तो हमने एक फंक्शन बनाया जिसका नाम है प्रिंट हेलो एक फंक्शन बनाया इसका नाम है प्रिंट गुड बाय हेलो के अंदर हम हेलो प्रिंट कर रहे हैं गुड बाय के अंदर हम गुड बाय प्रिंट कर रहे हैं दोनों फंक्शंस का प्रोटोटाइप हमने ऊपर बता दिया है उसके बाद हम जैसे हेलो को कॉल लगा रहे थे वैसे ही हम प्रिंट गुड बाय को भी कॉल लगा सकते हैं यहां पर लिखेंगे प्रिंट गुड बाय और इसको कर लेते हैं सेव एंड रन तो सबसे पहले हमने हेलो को कॉल किया तो हेलो प्रिंट हुआ फिर हमने गुड बाय को कॉल किया तो गुड बाय प्रिंट हुआ जिस फंक्शन को पहले कॉल लगाई जाती है वो पहले एग्जीक्यूट होता है फिर बाद में कॉल लगाएंगे जिस फंक्शन को वो बाद में एग्जीक्यूट होगा यानी हमारा जो एग्जीक्यूशन का तरीका है वो कैसे रहेगा सबसे पहले शुरुआत हमेशा मेन फंक्शन से होगी कोड की मेन फंक्शन में आए हम मेन फंक्शन ने क्या किया प्रिंट हेलो को कॉल लगाई तो ये बाकी का सारा कोड जो है ना ये अभी के लिए रुक जाएगा जैसे जिन लोगों को चल के जाना होता है ट्रैफिक के आगे से वो लोग जा सके तो उसी तरीके का सीन है यहां पे ये फंक्शन कंपलीटली रुक जाएगा और प्रिंट हेलो को कॉल कर करेगा अब प्रिंट हेलो का पूरा का पूरा कोड यहां पे रन होगा प्रिंट हेलो क्या करवाता है हेलो प्रिंट करवाता है हमने हेलो प्रिंट कर दिया अपनी स्क्रीन पर उसके बाद वापस से मेन फंक्शन के अंदर जाएंगे मेन फंक्शन में वहीं से शुरू करेंगे जहां से हमने लास्ट टाइम खत्म किया था यानी प्रिंट हेलो को कॉल लगाई थी तो यहीं से शुरू करेंगे ये कॉल खत्म हो गई फिर प्रिंट गुड बाय को कॉल लगाएगा फिर हम प्रिंट गुड बाय में पहुंच जाएंगे फिर हम गुड बाय प्रिंट कर देंगे तो वो हमारे कंसोल में आ गया उसके बाद वापस से मेन के अंदर आ जाएंगे प्रिंट गुड बाय खत्म हो चुका है अब रिटर्न वाली स्टेटमेंट पे आ रिटर्न कर देंगे रो रो रिटर्न हो गया यानी मेन फंक्शन हमारा खत्म हो गया मतलब हमारा प्रोग्राम खत्म हो गया इस तरीके से अगर यहां पर हम दोबारा करते प्रिंट हेलो तो अब क्या प्रिंट होगा अब सबसे पहले तो हेलो प्रिंट होगा फिर गुड बाय प्रिंट होगा फिर दोबारा हेलो प्रिंट होगा अब यहां पे क्या हुआ पहले हेलो किया तो यहां पहुंच गए फिर गुड बाय किया तो उसके बाद यहां पहुंच गए उसके बाद दोबारा हेलो किया तो दोबारा हमारा प्रोग्राम यहां पे पहुंच जाएगा तो प्रोग्राम एक तरीके से जंप कर रहा है हमारा कंट्रोल तो प्रोग्राम का कंट्रोल जंप करवा सकते हैं हम अपने फंक्शंस की हेल्प से अपने सब प्रोग्राम्स की हेल्प से अब इसके बाद नेक्स्ट सवाल करते हैं फंक्शंस का नेक्स्ट सवाल हमारा कहता है राइट अ फंक्शन दैट प्रिंट्स नमस्ते इफ यूजर इज इंडियन तो यहां पे हम अपने यूजर से पूछ लेंगे कि वो इंडियन है या फ्रेंच है इंडियन के लिए हम क्या कर सकते हैं आई एंटर करा सकते हैं कैरेक्टर में फ्रेंच के लिए हम एफ एंटर करा सकते हैं अगर हमारा यूजर इंडियन है तो उस उस के केस में हम नमस्ते प्रिंट करेंगे अगर हमारा यूजर फ्रेंच है उसके केस में बंजू प्रिंट करेंगे अब फ्रेंच मैंने सीखी नहीं तो आई एम नॉट शर इसको कैसे प्रोनाउंस करेंगे लेट्स से बजर इसको हम प्रोनाउंस कर रहे हैं जिन बच्चों ने फ्रेंच सीखी है यह है फ्रेंच का नमस्ते तो अब इन दोनों के लिए हम एक एक फंक्शन बना लेते हैं एक फंक्शन होगा जो नमस्ते प्रिंट करता है एक फंक्शन होगा जो प्रिंट करता है दोनों के लिए एक फंक्शन बना लेते हैं अपने पुराने कोड को यहां से हटा लेते हैं तो सबसे पहले डिक्लेयर करेंगे अपने दोनों फंक्शंस को वॉइड प्रिंट या इसको सिर्फ नमस्ते लिखते हैं और एक है वॉइड बनज अब सबसे पहले इनकी डेफिनेशंस लिखेंगे वॉइड नमस्ते यह क्या करता है प्रिंट करता है नमस्ते उसके बाद दूसरा फंक्शन वॉइड नरूर और यह प्रिंट करेगा हमारी फ्रेंच नमस्ते तो ये पहला फंक्शन हो गया हमारे पास यह हो गया हमारा दूसरा फंक्शन अब मेन के अंदर क्या करेंगे सबसे पहले यूजर से उसकी नेशनलिटी पूछ लेते हैं प्रिंट एफ एंटर एफ फॉर फ्रेंच एंड आई फॉर इंडियन अब वो जैसे ही कुछ भी एंटर करेगा हम एक कैरेक्टर बना लेते हैं सीच वो हम स्कैन कर रहे होंगे स्कैनर से परसेंटेज सी एंड सी अगर हमारा जो नेशनलिटी है जो कैरेक्टर है एंटर हुआ है वो आ के इक्वल है तो उस केस में हम प्रिंट करेंगे नमस्ते एल्स हम प्रिंट कर रहे होंगे नरूर तो एक बार कोड को रीकैप कर लेते हैं ऊपर हमने फंक्शन का प्रोटोटाइप बना दिया सबसे पहले हमने क्या किया नेशनलिटी पूछी उसको कैरेक्टर सीच में स्टोर करा लिया उसके बाद कैरेक्टर को कंपेयर किया आई के साथ अगर मैच हो जाता है तो फिर नमस्ते फंक्शन को कॉल करो अगर मैच नहीं होता है और इफ कंडीशन के अंदर हम जाते हैं तो बन जूर को कॉल करेंगे नीचे हमने दोनों फंक्शंस की अपनी डेफिनेशन बता रखी है कि दोनों फंक्शंस का क्या मतलब है इसको कर लेते हैं सेव एंड रन अब क्या करेंगे एंटर एफ फॉर फ्रेंच एंड आई फॉर इंडियन हम इंडियन है तो आई एंटर कर देंगे तो हमारे लिए नमस्ते प्रिंट हो गया इसी कोड को दोबारा रन करें और एफ डालें तो इस बार प्रिंट हुआ है बन रूट तो इस तरीके से यूजर हमें जो जो कंडीशंस देता है उस हिसाब से हम अलग-अलग फंक्शंस लिख सकते हैं और अलग-अलग कोड्स को एग्जीक्यूट कर सकते हैं नेक्स्ट चीज जिसकी हम बात करेंगे वो है फंक्शन की कुछ प्रॉपर्टीज फंक्शन में सबसे पहली प्रॉपर्टी जो है उसका नाम है कि एग्जीक्यूशन ऑलवेज स्टार्टस फ्रॉम मेन मतलब जब भी हम सी के प्रोग्राम की बात कर रहे हैं इनफैक्ट चाहे हम c+ प् या जावा के भी प्रोग्राम की बात करें हमारा जो कोड का एग्जीक्यूशन होता है वो हमेशा मेन फंक्शन से शुरू होता है आप प्रोग्राम में कितनी भी लाइने लिख दें जैसे हमने प्रोग्राम में ऊपर अगर कुछ लिखा हुआ है या हम अपने इस फंक्शन डेफिनेशन को ऊपर भी शिफ्ट कर दें तो ऐसा नहीं है कि नमस्ते वाला फंक्शन ऊपर आ जाएगा तो पहले ले नमस्ते वाला फंक्शन कॉल हो रहा होगा नहीं नहीं कंपाइलर एग्जीक्यूशन के लिए हमेशा सबसे पहले मेन फंक्शन के पास जाता है और मेन फंक्शन बताता है कि अब क्या-क्या होने वाला है अगर यहां से हम ये दोनों स्टेटमेंट्स हटा दें मतलब नमस्ते और बंजू को कभी कॉल ही नहीं करें तो हमारे कंपाइलर कभी कॉल ही नहीं करेगा यह नमस्ते और यह दूसरा ग्रीटिंग कभी प्रिंट ही नहीं कराएगा स्क्रीन पर इसीलिए जब भी प्रोग्राम का एग्जीक्यूशन शुरू होता है वो मेन फंक्शन से शुरू होता है सेकंड चीज अ फंक्शन गेट्स कॉल्ड डायरेक्ट और इनडायरेक्टली फ्रॉम मेन जब भी सी के अंदर कोई फंक्शन की कॉल होता है मतलब फंक्शन को बुलाया जाता है उससे काम करवाने के लिए तो या तो उसको मेन फंक्शन डायरेक्टली कॉल करता है जैसे हमने अपने इस केस में किया इस केस में क्या हो रहा है हमारे फंक्शंस को मेन फंक्शन के अंदर से ही कॉल जा रही है या फिर दूसरा फंक्शन किसी और फंक्शन को कॉल लगा रहा है जैसे हम यहां क्या करें हम कॉल लगा दें नमस्ते को मतलब नेशनलिटी चाहे कुछ भी हो हम उसको दोनों ग्रीटिंग में ग्रीट करेंगे हमने कॉल लगा दिया नमस्ते को और नमस्ते क्या कर रहा है नमस्ते प्रिंट करवा के कॉल लगा रहा है बन शू तो इस तरीके से क्या हुआ मेन फंक्शन ने कॉल लगाई हमारे इस फंक्शन को और नमस्ते वाले फंक्शन ने कॉल लगाई हमारे सेकंड फंक्शन को तो ये जो सेकंड फंक्शन है ये इनडायरेक्टली कॉल तो मेन फंक्शन से ही हुआ है क्योंकि मेन फंक्शन ने ही नमस्ते को कॉल लगाई थी तो इस तरीके से कोई भी फंक्शन अगर c के अंदर कॉल होता है तो या तो उसको मेन फंक्शन डायरेक्टली कॉल लगाता है या उसको मेन फंक्शन इनडायरेक्टली कॉल लगाता है किसी और फंक्शन के थ्रू अब अगर हम इसके इस को एक बार एनालाइज करें तो इसको सेव करते हैं और एक बार इसको कंपाइल करके रन करें अगर तो अब चाहे मैं कोई भी नेशनलिटी डालूं मेरे लिए सबसे पहले नमस्ते कॉल हुआ क्योंकि क्या हुआ मेन फंक्शन ने सबसे पहले नमस्ते को कॉल लगाई नमस्ते ने क्या किया नमस्ते प्रिंट कर दिया उसके बाद उसने सेकंड फंक्शन को कॉल लगाई उसके बाद सेकंड फंक्शन ने बं जूर प्रिंट कर दिया तो सबसे पहले हमेशा नमस्ते प्रिंट होगा उसके बाद हमारी सेकंड ग्रीटिंग प्रिंट होगी तो इस तरीके से कंट्रोल क्या करता है मेन फंक्शन से दूसरे में जाता है फिर दूसरे फंक्शन से तीसरे फंक्शन में जाता है फिर वापस मेन के अंदर आता है अब नेक्स्ट प्रॉपर्टी जिसकी बात करेंगे देयर कैन बी मल्टीपल फंक्शंस इन अ प्रोग्राम जो हम ऑलरेडी देख चुके हैं हम दो फंक्शन ऑलरेडी बना चुके हैं जितना आपका मन करे आप अपने रिमोट के अंदर उतने बटन डाल सकते हैं वैसे ही अपने सी प्रोग्राम के अंदर जितना मन करे उतने फंक्शंस आप बना सकते हैं पर ये हो कि फंक्शंस को आप लॉजिकली बनाएं ज्यादा फंक्शंस बनाने के लिए एक्स्ट्रा कोड हम ना लिख रहे हो अब फंक्शंस के ना दो टाइप्स होते हैं सबसे पहला टाइप होता है हमारी लाइब्रेरी फंक्शंस और दूसरे होते हैं हमारे यूजर डिफाइंड फंक्शंस लाइब्रेरी फंक्शन स्पेशल फंक्शंस होते हैं सी के अंदर जो इनबिल्ट होते हैं मतलब सी के अंदर डिफरेंट लाइब्रेरीज होती हैं जिसमें ऑलरेडी पहले से कुछ फंक्शंस पड़े हुए हैं उन फंक्शंस के नाम कीवर्ड है हमारे लिए उनके फंक्शंस के नाम से हम दोबारा अपना कोई फंक्शन नहीं बना सकते उनके काम भी पहले से ही फिक्स्ड हैं और दूसरे होते हैं हमारे यूजर डिफाइंड फंक्शन जिनको हम ही डिक्लेयर करते हैं प्रोग्रामर और हम ही डिफाइन करते हैं तो कोडर्स ही डिक्लेयर कर कर रहे होते हैं कोडर्स ही डिफाइन कर रहे होते हैं कोडस ही यूज़ कर रहे होते हैं लाइब्रेरी फंक्शंस की अगर बात करें तो ऑलरेडी हम लाइब्रेरी फंक्शंस को यूज़ कर रहे होते हैं अगर हम प्रिंट एफ करते हैं तो यह प्रिंट एफ एक लाइब्रेरी फंक्शन है प्रिंट एफ को कॉल कैसे लगाई जा रही है पहले उसका नाम लिखा जा रहा है उसके बाद पैरेंस लगाए जा रहे हैं अब अंदर इसके कुछ पैरामीटर्स पास होते हैं अभी बात करेंगे पैरामीटर्स क्या होते हैं तो ये प्रिंट एफ भी एक फंक्शन है ये स्कैन एफ भी एक फंक्शन है तो प्रिंट एफ और स्कैनफ हमारे लाइ ब्रेरी या इनबिल्ट फंक्शंस एंड सी के अंदर और इनकी लाइब्रेरी क्या है हमने ऊपर अपना प्रीप्रोसेसर डायरेक्टिव एसटीडी आड ए जो है वो डाल रखा है इसीलिए हम इनको यूज कर पा रहे हैं ये अगर हम हटा देंगे तो एरर आने लग जाएगा कोड के अंदर इसीलिए उसको स्टेटमेंट को लिखना जरूरी है और हमारे जो फंक्शंस है प्रिंट एफ और स्कैनफ ये हमारे लाइब्रेरी फंक्शंस है यूजर डिफाइंड फंक्शन हमने देख ही लिए ये जो हमने नमस्ते बनाया हुआ है ये जो हमने बं जूर बनाया हुआ है इससे पहले हमने प्रिंट हेलो या प्रिंट गुड बाय जो लिखे थे ये सारे हमारे यूजर डिफाइंड फंक्शन नेक्स्ट बात करते हैं पासिंग आर्गुमेंट अब फंक्शन जो क्या करते हैं हमने शुरुआत में जब डेफिनेशन की बात करी फंक्शन की प्रॉपर्टी क्या थी कि वो कोई वैल्यू ले सकते हैं और वो कोई वैल्यू दे सकते हैं तो जिस वैल्यू को फंक्शन लेता है टेक करता है उसको कहते हैं पैरामीटर और जिस वैल्यू को फंक्शन वापस देता है उसको कहते हैं रिटर्न वैल्यू तो फंक्शन हमारा पैरामीटर लेता है और हमें कोई रिटर्न वैल्यू वापस देता है जब भी हम आर्गुमेंट पास करते हैं ना जिन भी वैल्यूज को हम देते हैं अपने फंक्शन को उनको आर्गुमेंट कहते हैं तो हमारे फंक्शंस को हम तीन तरीके से लिख सकते हैं एक तरीका है जैसे हम पहले से लिखते आ रहे हैं यानी यहां पर वॉइड लिखा होगा वॉइड यानी हमारा फंक्शन कुछ रिटर्न नहीं करता खाली रहता है फिर अपने फंक्शन का नाम फिर यहां पे हमने पैरेंस लिख दिया अपना स्टेटमेंट टर्मिनेटर यह नॉर्मल तरीके का फंक्शन है जिसकी हम ऑलरेडी बात कर चुके हैं दूसरे तरीके से फंक्शन कैसे लिख सकते हैं सबसे पहले लिखा होगा वॉइड यानी फंक्शन कोई वैल्यू रिटर्न नहीं करता जैसे मान लीजिए हमें एक फंक्शन बनाना है जिसका नाम है प्रिंट टेबल यह किसी भी नंबर को लेता है और उसकी टेबल प्रिंट कर देता है अब इसको कुछ रिटर्न तो नहीं करना सिर्फ प्रिंट करवाना है तो अपने पैरामीटर्स में यानी जो वैल्यू यह लेगा उसमें एक नंबर जरूर होगा जिस नंबर की इसको टेबल प्रिंट करानी है तो वो नंबर है हमारा इंट n तो ये इस नंबर n को लेगा और इसकी टेबल प्रिंट करवा देगा और वापस कुछ भी रिटर्न नहीं करेगा तीसरा तरीका होता है फंक्शन को लिखने का कि हमारा एक रिटर्न टाइप हो जैसे सम के केस में हमने इंट को एक रिटर्न टाइप लिया और ये फंक्शन क्या कर रहा है दो पैरामीटर्स ले रहा है सबसे पहले पैरामीटर a है दूसरा पैरामीटर b है दोनों पैरामीटर्स को लेगा इनसे एक सम वैल्यू बनाएगा जो a + b होगी और इसको कर देगा रिटर्न अब रिटर्न कर रहा है तो इस वैल्यू का टाइप क्या है इंट इसीलिए हमने अपने फंक्शन के नाम के सामने इंट लिख दिया एक फंक्शन बनाते हैं जो दो नंबर्स की वैल्यू को लेगा यानी दो नंबर्स उसके पैरामीटर्स होंगे a और b और वो रिटर्न करेगा हमें दोनों वैल्यूज का सम तो इसके लिए सबसे पहले अपना पुराना कोड जो है उसे हटा लेते हैं एंटर फर्स्ट नंबर इंट ए एंड बी तो सबसे पहले स्कैन कर लेंगे ए उसके बाद एंटर कराएंगे अपना सेकंड नंबर सेकंड नंबर में क्या स्टोर कराएंगे बी में सेकंड नंबर की वैल्यू को हम स्टोर करा रहे होंगे अब एक फंक्शन बनाते हैं जो ए और बी दोनों का सम हमें देगा तो ऊपर सबसे पहले इस बार लिख रहे होंगे इ सम इंट a इंट b इस बार हमने यहां पर वॉइड नहीं लिखा इस बार हमने यहां पर इंट लिखा जैसे मेन के सामने इंट लिखा होता है क्योंकि वो जरो रिटर्न करता है हमने भी अपना रिटर्न वैल्यू का जो टाइप है वो यहां पर लिखना होता है तो उसको हमने लिख दिया इस बार इंटी जर उसके बाद अपने फंक्शन का नाम और अंदर लिखे अपने पैरामीटर्स हमारे पैरामीटर्स क्या होने वाले मतलब क्या-क्या वैल्यू चाहिए होगी इसको सम कैलकुलेट करने के लिए सबसे पहले इंटी जर वैल्यू a चाहिए होगी हम हमारा पहला नंबर उसके बाद इंटी जर वैल्यू ब चाहिए होगी हमारा दूसरा नंबर अब क्या करते हैं फंक्शन की डेफिनेशन लिखते हैं तो दोबारा से इंट सम इंट a इंट b सम वैल्यू क्या होती है a + b तो हम रिटर्न क्या कर रहे होंगे रिटर्न हम कीवर्ड का यूज़ करते हैं कोई भी वैल्यू वापस रिटर्न करने के लिए ये रिटर्न होके किसके पास जाती है ये जाती है कॉलिंग फंक्शन के पास यहां पे हम मेन फंक्शन से कॉल लगाएंगे लेकिन मान लीजिए किसी दूसरे फंक्शन से हम इस सम फंक्शन को कॉल लगाते तो ये जो रिटर्न वैल्यू है ये उस दूसरे फंक्शन के पास जाती मेन के पास नहीं जाती तो जहां से भी कॉल लगती है वहीं पे वापस रिटर्न वैल्यू आती है तो रिटर्न कर देंगे a + b को तो इस फंक्शन को ध्यान से देखते हैं सबसे पहले रिटर्न टाइप हमने बताया इंट तो हमने रिटर्न किया a + b यहां से अगर हम 1 2 12 रिटर्न करते तो भी कोई एरर नहीं आता क्योंकि अल्टीमेटली इसको एक इंटी जर रिटर्न करना है ये लॉजिकली गलत होता क्योंकि a जीरो हो सकता है b रो हो सकता है तो हर बार 12 कैसे रिटर्न हो रहा है तो लॉजिकली गलत हो सकता पर कि स का कंपाइलर इसको गलत नहीं बोलेगा मतलब एरर की रेड लाइन यहां पर नहीं आएगी क्योंकि अल्टीमेटली इंटी जर तो रिटर्न हो ही रहा है पर यहीं पर अगर हम 3.14 यानी पाई की वैल्यू या कुछ और वैल्यू रिटर्न करें या मान लीजिए हम कोई कैरेक्टर स रिटर्न करने चले तो उसके बाद हमारे पास एरर आ रहा होगा क्योंकि उन वैल्यूज को रिटर्न करना अलाउड नहीं है अगर 3.14 भी आप रिटर्न करेंगे तो वो रिटर्न में सिर्फ तीन भेजेगा वो पूरा 3.1 नहीं भेजेगा तो यहां पर हम रिटर्न करेंगे a + b इसीलिए हमें अपना टर्न टाइप पहले से पता होना चाहिए और ये इंटी जर्स ए और इंटी जर b हमें एज पैरामीटर्स अपने फंक्शन के अंदर मिल रहे होंगे तो यहां से कॉल लगा लेते हैं सम a एंड b एक यहां पर s नाम का वेरिएबल बना लेते हैं तो यहां क्या हो रहा है सम को हमने कॉल लगाई जिसके अंदर हमने सबसे पहले पास किया a उसके बाद पास किया b ये a क्या करेगा अपनी वैल्यू भेज देंगे हम यहां पर जो भी a के अंदर हमारा यूजर एंटर करेगा उस a को भेज देंगे और वो यहां पर डेफिनेशन के के अंदर इस a में कॉपी हो जाएगा तो वैल्यूज कॉपी होती है यहां से b की वैल्यू जाएगी तो वो b की वैल्यू इस b के अंदर कॉपी हो जाएगी इसको हम x और y भी लिख सकते थे तो यहां पर सिंपलीसिटी के लिए अगर हम इसको x y लिख दें तो यहां से a की वैल्यू जाएगी वो x में कॉपी होगी b की वैल्यू जाएगी वो y में कॉपी होगी फिर दोनों का सम जो है रिटर्न हो जाएगा जो भी वैल्यू रिटर्न होकर जाएगी ये हमारा असाइनमेंट ऑपरेटर है उसको हम एक नए वेरिएबल में स्टोर करा देंगे जिसका नाम है s और फिर हम प्रिंट करवा देंगे s की वैल वैल्यू को लिख देंगे सम इज परसेंटेज d एक बार सेव कर लेते हैं कोड को रन करते हैं हल्का सा कॉम्प्लेक्शन तो बिल्कुल टेंशन लेने की जरूरत नहीं है हम बहुत सारे एग्जांपल और बहुत सारे एक्सप्लेनेशन और बहुत सारी प्रॉपर्टी देखेंगे कि फंक्शन का कांसेप्ट बहुत सिंपल लगेगा और बहुत अच्छे से दिमाग के अंदर बैठ जाएगा सबसे पहले अपना फर्स्ट नंबर एंटर करते हैं इसको लॉजिकली समझना है अभी कोड में जो लिखा है उस पर ध्यान नहीं देना सिर्फ लॉजिक समझना है यूजर का इस कोड को ना हम छोटे कैलकुलेटर की तरह देख सकते हैं कैलकुलेटर में सबसे पहले पहला नंबर डालते हैं मान लो फ डाल दिया उसके बाद कैलकुलेटर में दूसरा नंबर डालते हैं दूसरा नंबर हमने थ्री डाल दिया अब क्या प्रिंट हुआ हमारे लिए प्रिंट हुआ है सम इज ए यह प्रिंट हुआ है यहां पर यह हल्का सा फॉर्मेटिंग हम थोड़ी अच्छी कर लेते हैं एक बार और रन करते हैं सबसे पहले अपने फर्स्ट नंबर में मतलब कैलकुलेटर में हमने फोर डाल दिया उसके बाद अपना सेकंड नंबर डाला टू तो सम इज सिक्स हम हमारे लिए प्रिंट होकर आ गया तो हमारे कैलकुलेटर ने काम कर दिया अब कैलकुलेटर इंटरनली काम कैसे कर रहा है वो समझते हैं कैलकुलेटर के अंदर एक फंक्शन है जिसका नाम है सम उसमें उसने इंटी जर ए और इंटी जर ब को लिया है तो हमने अपने a और बी लिए और उससे सम को कॉल लगा दी सम की डेफिनेशन कहती है कि a की वैल्यू सबसे पहले जो वेरिएबल भेजेंगे उसकी वैल्यू x में कॉपी होगी फिर y में कॉपी होगी रिटर्न कर देगा x + y वो रिटर्न करके s में हमने स्टोर करा लिया और फिर उस s की वैल्यू को यानी सम की वैल्यू को हमने प्रिंट करवाया तो यह हमारा पूरा फंक्शन जो है वह काम करता है पैरामीटर्स और रिटर्न वैल्यू के साथ अब जैसे हमने सम को प्रिंट करने का कोड लिख लिया इसके अलावा एक और कोड लिखते हैं जो क्या करेगा एक फंक्शन बनाते हैं जो हमें अपने नंबर n की टेबल प्रिंट करके देगा तो इस कोड के अंदर थोड़े से चेंजेज कर लेते हैं हम एंटर करवा रहे होंगे एक नंबर हमने n को एंटर कराया उसको स्कैन किया और उसको अपने वेरिएबल n के अंदर स्टोर कर लिया अब एक और फंक्शन बनाते हैं जिस फ का नाम है वॉइड प्रिंट टेबल और इस फंक्शन के अंदर हम एक वेरिएबल भेजेंगे इंट n अब जरूरी नहीं है हम यहां पर इसको n ही नाम दें इसको हम x वाजी नंबर कुछ भी नाम दे सकते हैं यानी मेन फंक्शन के अंदर आप उस वैल्यू को कौन से वेरिएबल में स्टोर करते हैं और दूसरे फंक्शन के अंदर उसी सेम वैल्यू को किस तरीके का नाम देना चाहते हैं वो सेम भी हो सकते हैं अलग-अलग भी हो सकते हैं सेम रखेंगे तो आसान रहेगा टली करना कि कौन सी वैल्यू कहां पर जा रही है तो सेम नाम होंगे तो हमें पता होगा सम निकलना है तो a और b का ही निकलना है x और y का नहीं निकलना इस तरीके से लेकिन हम अलग-अलग भी रख सकते हैं अब जब भी हम किसी वेरिएबल को डिक्लेयर करते हैं ना फंक्शन के अंदर तो उस वेरिएबल के नाम का स्कोप उस फंक्शन तक ही होता है यानी मेन फंक्शन में अगर वेरिएबल n बनाया तो इस n को जो फंक्शन पहचान पाएगा वो बस मेन ही होगा अब अगर सम के अंदर मैं दूसरा नंबर n बनाऊं तो फिर वो एक अलग वेरिएबल n होगा तो इस तरीके से मेमोरी के अंदर दो वेरिएबल बन रहे होंगे n नाम से एक हमारे मेन फंक्शन का होगा एक हमारे दूसरे फंक्शन का होगा तो हम सेम नाम भी दे सकते हैं अलग नाम भी दे सकते हैं बाय कन्वेंशन हम सेम नाम देंगे प्रिंट टेबल है जिसके अंदर एक सिंगल पैरामीटर आता है जिसका नाम है इंट n अब डिफाइन करते हैं अपने प्रिंट टेबल फंक्शन को रिटर्न टाइप है वॉइड इसके बाद लिखेंगे प्रिंट टेबल अपने फंक्शन का नाम और इंट n किसी भी नंबर की टेबल कैसे प्रिंट करते थे एक लूप लगाकर तो इस फंक्शन के अंदर सबसे पहले एक लूप बना लेते हैं i की वैल्यू जो है वो शुरुआत कर रही होगी वन के साथ और i की वैल्यू जाएगी हमारी 10 तक और हर बार करेंगे i प् प्स हर बार हम प्रिंट करवा रहे होंगे i इन n तो यह हमारा प्रिंट टेबल फंक्शन है जिसके अंदर हमने टेबल को प्रिंट करने का पूरा अपना लूप लिख दिया तो फंक्शन के अंदर लूप हम लिख रहे हैं अब इस फंक्शन को क्या करेंगे मेन फंक्शन से कॉल लगा लेंगे प्रिंट टेबल और इसमें पास कर देंगे अपना वेरिएबल n जब भी हम कॉल करते हैं ना किसी भी फंक्शन को और अपना वेरिएबल जो है उसमें पास कर रहे हैं तो यहां पर जिस वेरिएबल को हम पास कर रहे हैं उसको हम आर्गुमेंट कहते हैं और यहां पर जो वेरिएबल आता है इसको पैरामीटर कहते हैं यानी कॉलिंग स्टेटमेंट में जिस वेरिएबल को लिखते हैं इसको कहा जाता है आर्गुमेंट या इसको एक्चुअल पैरामीटर भी कहा जाता है आर्गुमेंट या फिर एक्चुअल पैरामीटर एक्चुअल पैरामीटर क्यों क्योंकि ये वो n है जिसके अंदर एक्चुअल वैल्यू होगी ये तो वो n है ना जो बताएगा कौन से नंबर की टेबल प्रिंट करनी है ये तो फंक्शन है इसके अंदर जो n है ये तो खाली है इसके पास तो अभी वैल्यू ही नहीं है वैल्यू कहां से आएगी कॉलिंग फंक्शन से आएगी कॉलिंग स्टेटमेंट से आएगी कॉलिंग स्टेटमेंट यहां पर है ये वाली स्टेटमेंट बता रही होगी कि किस नंबर की टेबल प्रिंट करनी है और यहां पर जो वेरिएबल लिखा होता है इसको हम कहते हैं पैरामीटर या फिर इसको फॉर्मल पैरामीटर भी कहते हैं फॉर्मल यानी बताने बताने के लिए है एक्चुअल जो वैल्यू होगी वो तो कॉलिंग वाले से आएगी वो तो आर्गुमेंट देगा यहां पे सिर्फ फॉर्मली हमने बता दिया है कि एक इंटी जर वैल्यू होगी n यहां पे हमें बताने की जरूरत नहीं है कि इंटी जर होगा क्या यहां से हम डायरेक्टली बिना डटा टाइप बताए कॉल लगा सकते हैं यह काफी इंपॉर्टेंट कीवर्ड्स है जिनका हमें ध्यान देने की जरूरत है कि इसे हम आर्गुमेंट कहते हैं इसे हम पैरामीटर कहते हैं अब इस कोड को कर लेते हैं सेव और इसको एक बार नई टर्मिनल विंडो खोल के करते हैं रन तो प्रिंट एफ में हम टाइप बता देते हैं परसेंटेज डी सेव एंड रन अपना नंबर एंटर करें तो हमें फाइव की टेबल प्रिंट करवानी है तो हमारे लिए प्रिंट हो गया 5 10 15 इसे नेक्स्ट नेक्स्ट लाइन में प्रिंट करवाना चाहिए था दोबारा एक बार कंपाइल कर लेते हैं दोबारा प्रिंट करवा लेते हैं फाइव की टेबल तो इस बार फाइव की टेबल प्रिंट हो गई है 5 10 15 20 25 30 35 इस तरीके से अब एक बार कोड पे नजर डाल लेते हैं क्या हमने किया थोड़ा सा रीकैप हमने अपना फंक्शन बनाया जिसको डिक्लेयर किया प्रिंट टेबल नाम से यूजर से नंबर एंड ले लिया उसके बाद कॉल लगा ली अपने प्रिंट टेबल नंबर n को ये जो वैल्यू हमने पास की इसको कहते हैं आर्गुमेंट या फिर हमारा पैरामीटर उसके बाद प्रिंट टेबल ने क्या किया नंबर n लिया इस नंबर n को हम कहेंगे पैरामीटर या हमारा फॉर्मल पैरामीटर फिर उसने उस नंबर के हिसाब से अपनी टेबल जो है वो प्रिंट करवा दी इस तरीके से हमारा फंक्शन क्या करता है कोई वैल्यू लेता है और वैल्यू रिटर्न कर देता है इस केस में कुछ नहीं रिटर्न किया इस केस में रिटर्न करी थी एक इंटी जर वैल्यू अब कुछ कुछ डिफरेंसेस हम सीख लेते हैं डिफरेंसेस सीखेंगे आर्गुमेंट और पैरामीटर के बीच में ये काफी इंपॉर्टेंट सवाल है बहुत सारे इंटरव्यूअर्स क्या कहेंगे आपसे पूछ लेंगे आर्गुमेंट और पैरामीटर के बीच में क्या डिफरेंसेस होते हैं या ये ऐसा क्लासिकल सवाल है मैंने जब सी पढ़ी थी अपने फर्स्ट सेमेस्टर के अंदर तो मेरे मिड सेमेस्टर और एंड सेमेस्टर दोनों में ये सवाल बार-बार आया था कि दोनों के बीच में डिफरेंसेस लिखो मुझे अभी भी याद है तीन नंबर का वो सवाल था और उसमें हर पॉइंट के एक-एक नंबर थे तो आप अलग-अलग पॉइंट्स भी लिख सकते हैं इसके अलावा और भी कुछ-कुछ पॉइंट्स होते हैं पर मेजर जो पॉइंट्स होते हैं वो डिफरेंसेस इसमें कवर हो रहे हैं आर्गुमेंट क्या होते हैं वो वैल्यूज दैट आर पास्ड इन फंक्शन कॉल फंक्शन कॉल के अंदर जो जो वैल्यू हमने पास करी उसको आर्गुमेंट कहते हैं पैरामीटर्स क्या होते हैं वैल्यूज इन फंक्शन डिक्लेरेशन एंड डेफिनेशन डिक्लेरेशन में जो वैल्यू लिखी होती है और डेफिनेशन में उसको हम पैरामीटर कहते हैं जैसे अपने कोड के अंदर यहां पर हमने इंट ए भी लिखा है या इंट n लिखा है ये भी हमारा पैरामीटर है और ये भी पैरामीटर है और जहां कॉल कर दिया जहां डेटा टाइप नहीं लिखा हुआ वो हमारा आर्गुमेंट है अब आर्गुमेंट का काम होता है टू सेंड वैल्यू पैरामीटर का काम होता है टू रिसीव वैल्यू आर्गुमेंट को हम एक्चुअल पैरामीटर भी कहते हैं और पैरामीटर को हम फॉर्मल पैरामीटर्स भी कहते हैं ये कुछ-कुछ डिफरेंसेस हैं जो आप थोड़ा सा हल्का सा याद कर सकते हैं याद करना भी बहुत जरूरी है क्योंकि जब भी लैंग्वेज हम कुछ-कुछ चीजें तो हमें याद तो करनी पड़ेगी क्योंकि जब भी नया कोड आपके सामने आएगा सिंटेक्स जो बेसिक प्रोग्रामिंग के कांसेप्ट होते हैं वो हमें याद करने पड़ते हैं आगे जाकर जब बड़ी प्रॉब्लम्स होते हैं ना उनको हम लॉजिक से सॉल्व कर सकते हैं जैसे ए बी सीडी में ए बी सीडी याद करने पड़ते हैं कि कैसे लिखते थे प्रैक्टिस भी करते थे बार-बार बार-बार लिखने की वैसे ही अभी हम अपने c का ए बी सीडी सीख रहे हैं इस ए बी सीडी को याद भी करना है अब कुछ नोट्स होते हैं फंक्शंस को लेके सबसे पहला फंक्शन कैन ओनली रिटर्न वन वैल्यू एट अ टाइम जैसे फंक्शन में पैरामीटर्स तो आप चाहे 100 लिख दीजिए यहां पर सम के अंदर हमने x भी ले लिया y भी ले लिया अगर कुछ और तीन नंबर्स का एवरेज निकालना होता तो उसमें a बी c तीन नंबर ले सकते थे कितने भी पैरामीटर्स ले सकते हैं पर रिटर्न हमेशा एक वैल्यू होती है फंक्शन हमेशा एक ही वैल्यू रिटर्न कर सकता है दो वैल्यू रिटर्न नहीं कर सकता सेकंड है चेंजेज टू पैरामीटर इन फंक्शंस डोंट रिफ्लेक्ट द वैल्यूज इन कॉलिंग फंक्शन इसको सबसे पहले एग्जांपल से देखते हैं क्योंकि ये स्टेटमेंट हम देखेंगे तो कॉम्प्लेक्शन देखेंगे हम क्या करते हैं सबसे पहले एक फंक्शन बनाते हैं इसको नाम देंगे प्रिंट प्राइस ये फंक्शन क्या करता है ये इसको सिर्फ कैलकुलेट प्राइस भी नाम दे सकते हैं किसी भी आइटम का प्राइस ये ले लेगा उसमें 18 पर जीएसटी ऐड करेगा और फिर उस वैल्यू को प्रिंट करवा देगा तो इस फंक्शन का रिटर्न टाइप वॉइड रख देते हैं नाम हम इसको देते हैं कैलकुलेट प्राइस और इसके अंदर कोई वैल्यू आ रही होगी इंट वैल्यू अब इस फंक्शन की डेफिनेशन लिखते हैं वॉइड कैलकुलेट प्राइस इसके अंदर आएगी कोई वैल्यू इंट वैल्यू अब यह वैल्यू में ही क्या कर देगा वैल्यू प्लस इन फैक्ट इस इंटी जर वैल्यू को फ्लोट बना देते हैं फ्लोट क्यों क्योंकि 18 पर एक डेसीमल वैल्यू होगी मोस्ट प्रोबेबली तो हमारे लिए आसान रहेगा वैल्यू को बना देगा वैल्यू प्लस 0.18 मल्टीप्ला बाय वैल्यू इसने क्या किया 18 पर यहां पर जीएसटी ऐड कर दिया इस वैल्यू के अंदर और अब इस सेम वैल्यू को ये करा देगा प्रिंट फाइनल प्राइस परसेंटेज ए वैल्यू तो यहां पर हम अपनी जो वैल्यू है उसको शुरुआत में कोई भी मान लीजिए 100 हमने इसको असाइन किया है अब 100 के हिसाब से कैलकुलेट प्राइस को हम कॉल लगा देंगे जिसमें अपनी वैल्यू को पास कर देंगे इसको कर लेते हैं सेव और इसको करते हैं एक बार रन रन करते ही क्या हुआ इसने हमारा प्राइस हमें बता दिया कि ₹1 था उसमें इसने % जीएसटी लगाया तो 11118 हो गया और वो इसने हमें फाइनली प्रिंट करवा के दे दिया इतना बिल्कुल क्लियर है अगर हमने फंक्शंस काफी अच्छे से समझ ली हैं अच्छे से हमने देखे हैं क्वेश्चंस क्वेश्चंस को खुद से भी थोड़ा बहुत करने की कोशिश करिए अभी तक पॉज करके वीडियो को बीच-बीच में तो अभी तक के कोड में हमें कोई इशू नहीं होना चाहिए कोई प्रॉब्लम नहीं होनी चाहिए बहुत आराम से समझ में आना चाहिए क्योंकि सबसे बेसिक चीजें करी हैं अपना फंक्शन डिक्लेयर करा है फंक्शन डिफाइन किया है और फंक्शन को कॉल लगाई है अब एक डिफरेंट चीज कर लेते हैं यहां पे ना वैल्यू को प्रिंट करवाते हैं पहले फंक्शन को कॉल लगा दी अब वैल्यू को प्रिंट करवाते हैं तो वैल्यू इज परसेंटेज f वैल्यू अब इसको सेव करते हैं हमारे लॉजिक के हिसाब से क्या होना चाहिए सबसे पहले हमने वैल्यू लिखी है 100 फिर हुआ कैलकुलेट प्राइस को कॉल कैलकुलेट प्राइस ने क्या किया वैल्यू में 100 मेंड कर दिया 18 पर जीएसटी तो प्राइस हो गया 118 तो वैल्यू को उसने यहां पर प्रिंट करवा दिया 118 अब वापस से मेन फंक्शन के अंदर आएंगे अब दोबारा से वैल्यू को प्रिंट करवा रहे हैं तो अब हमारे कंसोल में प्रिंट होगा 118 और फिर रिटर्न होके हमारा फंक्शन हो जाएगा खत्म यह हमारा लॉजिक हमें बता रहा है अब इस फंक्शन को अगर सेव करके रन करें तो इस बार प्रिंट हुआ है सबसे पहले फाइनल प्राइस इ 118 बट वैल्यू इज 100 ऐसा क्यों प्रिंट हुआ यहां पर कैलकुलेट प्राइस के अंदर तो हमारी वैल्यू 118 है पर मेन फंक्शन के अंदर जैसे ही हम वापस जा रहे हैं वैल्यू दोबारा से 100 हो जा रही है ऐसा इसलिए हुआ क्योंकि जो भी चेंज जो भी काम हम अपने दूसरे फंक्शंस के अंदर करते हैं जैसे कैलकुलेट प्राइस जैसे फंक्शन के अंदर करते हैं अपने पैरामीटर में हम कोई भी चेंज करें वो आर्गुमेंट में रिफ्लेक्ट नहीं करेगा यानी इस वैल्यू को चाहे आप जीरो बना दीजिए कैलकुलेट प्राइस में वो हमारी इस वैल्यू वाले आर्गुमेंट को चेंज नहीं कर पाएगा तो ये एक प्रॉपर्टी होती है कि फंक्शंस के अंदर उसी वेरिएबल में आप कितनी भी चेंजेज करते रहिए पर ओरिजिनल जो कॉलिंग के टाइम पर आर्गुमेंट था उसकी वैल्यू में कोई चेंज नहीं आएगा तो अगर आपके फंक्शन में कोई गलत कोड लिखा हुआ है जिसकी वजह से मान लीजिए कोई इश्यूज हो गए हैं और वहां पे अ आपके वेरिएबल की वैल्यू ज़ीरो हो गई नेगेटिव हो गई गलत हो गई तो आपके मेन फंक्शन को फर्क नहीं पड़ेगा क्योंकि उसके अंदर सारा कोड सही है और वैल्यूज ठीक होंगी तो यहीं से ये प्रॉपर्टी आती है कि चेंजेज टू पैरामीटर्स इन फंक्शन पैरामीटर में जो चेंजेज होते हैं दे डोंट चेंज द वैल्यूज कॉलिंग फंक्शन कॉलिंग फंक्शन के अंदर वो आर्गुमेंट की वैल्यू को चेंज नहीं करते और ऐसा क्यों होता है ऐसा होने के पीछे रीजन है बिकॉज़ अ कॉपी ऑफ आर्गुमेंट इज पास्ड टू द फंक्शन जब भी ये मेन फंक्शन कैलकुलेट प्राइस से अपना प्राइस कैलकुलेट कराएगा उसको यह वैल्यू भेजता है पर यह जो वैल्यू है ना यह कॉपी होती है यह ओरिजिनल वैल्यू वेरिएबल यहां पर नहीं आता कैलकुलेट प्राइस के पास उसका जो वैल्यू वेरिएबल है उसके अंदर इस आर्गुमेंट की वैल्यू कॉपी हो जाती है उसके अंदर जो डाटा था वैल्यू के अंदर 100.0 वह सारा का सारा आर्गुमेंट की वैल्यू पैरामीटर के अंदर कॉपी होती है यही रीज़न है कि उस कॉपी में कुछ भी चेंज आप करते रहो वह ओरिजिनल में आपको चेंज वापस लाकर नहीं देगा नेक्स्ट एक सवाल सॉल्व करते हैं सवाल यूज़ करता है हमारे लाइब्रेरी फंक्शन को यूज़ लाइब्रेरी फंक्शंस टू कैलकुलेट द स्क्वायर ऑफ़ अ नंबर गिवन बाय द यूज़र अब हमें पता है स्क्वायर ऑफ़ अ नंबर क्या होता है स्क्वायर ऑफ़ अ नंबर होता है नंबर मल्टीप्ला ड बाय नंबर पर हमें यहां यूज करना है लाइब्रेरी फंक्शन तो एक लाइब्रेरी होती है मैथड ए जिसके अंदर मैथ के सारे फंक्शंस होते हैं इस लाइब्रेरी के अंदर एक फंक्शन होता है जिसका नाम है पावर इसके बारे में हम थोड़ा सा पहले भी डिस्कस कर चुके हैं अब पावर फंक्शन का नाम होता है पीओ डब् जिसके अंदर सबसे पहले हम डालते हैं अपना नंबर यानी जिस भी नंबर का हमें पावर लेना है उसके बाद डालते हैं पावर तो हम डालेंगे टू तो ये क्या रिटर्न करेगा रिटर्न कर देगा नंबर टू द पावर 2 यहीं पर अगर हम डालते पाव n4 तो ये क्या रिटर्न करता हमें n की पावर 4 पर हमें क्योंकि स्क्वायर लेना है तो हम नंबर और टू को डाल रहे होंगे तो इसको यूज करते हैं एक बार ऊपर सबसे पहले इंक्लूड कर लेंगे अपनी लाइब्रेरी को अगर इसको इंक्लूड नहीं करेंगे तो फंक्शन को यूज नहीं कर पाएंगे इसलिए ऊपर हमें ये मैथड ए को इंक्लूड करना ही पड़ेगा उसके बाद क्या करेंगे अपने मेन फंक्शन के अंदर इसको कर लेते हैं कॉमेंट आउट एक नंबर लेते हैं इंट n इंट n की वैल्यू को हम रख लेते हैं फोर अब प्रिंट करवाते हैं परसेंटेज d यहां लिखेंगे हम पावर सबसे पहले डालेंगे नंबर n और फिर टू तो इस स्टेटमेंट को अगर ध्यान से देखें तो हमने क्या किया पावर फंक्शन को कॉल लगाई है फिर पैरेंस में पहला पैरामीटर है उसका नंबर n और दूसरा पैरामीटर है उसका जो भी पावर आपको नंबर के ऊपर डालनी है यानी दो तो ये फंक्शन हमें n टू द पावर 2 कैलकुलेट करके वापस दे देगा जिसको हमारा प्रिंट एफ यानी हमारा दूसरा लाइब्रेरी फंक्शन प्रिंट करवा देगा स्क्रीन के ऊपर अब इस कोड को एक बार सेव करते हैं और रन करते हैं यहां पे हमारे पास एक वार्निंग जनरेट हुई है वार्निंग कहती है इंट बट द आर्गुमेंट टाइप इज डबल यानी यह जो नंबर है हमारा यह पावर फंक्शन क्या करता है हमें डबल वैल्यू रिटर्न करके देगा इसमें अगर देखें तो पावर फंक्शन का जो डिक्लेरेशन स्टेटमेंट है वो आ गया हमारे पास डबल इसका रिटर्न टाइप है पावर इसका नाम है और ये दो वैल्यूज लेता है डबल और डबल अब यहां पे ऑटोमेटिक इंटी जर जो है हमने इंटी जर n पास करा है और इंटी जर 2 पास किया है यह दोनों वैल्यूज अपने आप इंप्लीड डबल में कन्वर्ट हो सकती हैं क्योंकि डबल बड़ा डाटा टाइप है छोटे से बड़े कंटेनर में डाल सकते हैं बड़े कम कंटेनर से छोटे में डालने में परेशानी होती है तो कंपाइलर ऑटोमेटिक छोटे से बड़े में डाल सकता है तो इनको कन्वर्ट कर देगा पर वह अपने डबल को इंटी जर में कन्वर्ट नहीं करेगा इसीलिए यहां पर f लिख देते हैं फ्लोटिंग वैल्यू प्रिंट करवाने के लिए तो हमारे जो जो परसेंटेज f होता है वो डबल के लिए ही होता है पर फ्लोटिंग वैल्यूज भी परसेंटेज f से ही प्रिंट हो जाती है इसीलिए जब भी डबल प्रिंट करवाना हो जब भी डबल को स्कैन करना हो तो परसेंटेज एफ का यूज करेंगे फ्लोट ऑटोमेटिक उसी से हमारे पास इनपुट होके आता है अब नेक्स्ट सवाल जिसकी हम बात कर रहे होंगे उसका नाम है राइट फंक्शंस टू कैलकुलेट एरिया ऑफ अ स्क्वायर अ सर्कल एंड अ रेक्टेंगल तो तीन फंक्शंस हमें बनाने हैं एक फंक्शन एरिया ऑफ अ स्क्वायर कैलकुलेट करेगा एक सर्कल का एरिया कैलकुलेट करेगा और एक रेक्टेंगल का एरिया कैलकुलेट करेगा तीनों फंक्शन को सबसे पहले अपने प्रोग्राम में ऊपर हम कर लेंगे डिक्लेयर सबसे पहले एरिया ऑफ स्क्वायर की बात करते हैं एरिया ऑफ स्क्वायर क्या करेगा इसको मान लीजिए इंटी जर ही साइड आएगी और इंटी जर ही स्क्वायर आएगा तो इंटी जर इसका रिटर्न टाइप होगा या फ्लोट कर लेते हैं फ्लोट इसका रिटर्न टाइप होगा और इसका नाम है स्क्वेयर एरिया इसके अंदर पास कर रहे होंगे हम साइड ऑफ द स्क्वेयर इसकी डेफिनेशन लिख लेते हैं फ्लोट ये इंटी जर साइड नहीं ये फ्लोटिंग वैल्यू हो स्क्वायर एरिया अंदर आएगा हमारे पास पैरामीटर फ्लोट साइड एरिया ऑफ़ अ स्क्वायर होता है साइड मल्टीप्ला बाय साइड तो यहां से डायरेक्टली हम रिटर्न कर देंगे साइड मल्टीप्ला बाय साइड अब लिखेंगे एरिया ऑफ़ अ सर्कल तो सबसे पहले फ्लोट सर्कल एरिया अंदर आएगी हमारे पास फ्लोटिंग वैल्यू उसकी रेडियस तो इसकी भी डेफिनेशन लिख लेते हैं फ्लोट सर्कल एरिया अंदर आएगी फ्लोट रेडियस क्या रिटर्न करेंगे क्या होता है सर्कल का एरिया हमारे पास p r स् तो 3.1 4 मल्टीप बाय रेडियस इन रेडियस अब एक और फंक्शन बना लेते हैं जो रेक्टेंगल का एरिया कैलकुलेट करेगा फ्लोट रेक्टेंगल एरिया इसमें आएंगी दो वैल्यूज फ्लोट साइड ए और फ्लोट इसका भी रिटर्न टाइप हो गया फ्लोट नाम इसको हमने दिया रेक्टेंगल एरिया दो वैल्यूज आएंगे इसके अंदर हमारी सबसे पहले साइड ए और उसके बाद साइड बी रेक्टेंगल का एरिया क्या होता है a * बी तो रिटर्न कर देंगे a मल्टी बा b तो फ्लोटिंग वैल्यू फ्लोटिंग वैल्यू से मल्टीप्लाई होगी तो आउटपुट में भी एक फ्लोटिंग वैल्यू आएगी जो रिटर्न होकर जाएगी मेन फंक्शन के अंदर क्या करते हैं एग्जांपल के लिए रेक्टेंगल को कॉल लगा लेते हैं फ्लोट a इज इ 5.0 फ्लोट b = 10.0 अब वैल्यू को प्रिंट करवा लेते हैं अपने एरिया को एरिया इज परसेंटेज f यहां कॉल लगा लेंगे रेक्टेंगल एरिया जिसमें पास कर देंगे सबसे पहली वैल्यू a फिर दूसरी वैल्यू हमारी बी इस कोड को कर लेते हैं सेव तीनों फंक्शंस को डिक्लेयर किया तीनों फंक्शंस को हमने डिफाइन किया मेन फंक्शन के अंदर हम ए और बी को टेस्ट करते हुए रेक्टेंगल का एरिया कैलकुलेट करेंगे टर्मिनल खोल लेते हैं कंपाइल एंड रन तो आउटपुट हमारे पास आ गया है 5 * 10 = 50 इस तरीके से बहुत सारे फंक्शंस आप बना सकते हैं कोड के अंदर और स्वाद अनुसार जिस भी फंक्शन की हमें जरूरत पड़े उसी फंक्शन को कॉल करा के उससे वैसा सा ही हम काम करवा सकते हैं नेक्स्ट जिस टॉपिक की हम बात करने वाले हैं सी के अंदर उसका नाम है रिकर्स अब रिकर्स जो स्टूडेंट्स पहली बार प्रोग्रामिंग सीख रहे हैं उनको जादूई टॉपिक लग सकता है जादू अगर आपको दिखने लगे तो बिल्कुल परेशान की बात नहीं है आप प्रोग्रामिंग सीख रहे हैं रिकर्स का मतलब होता है कि जब भी एक फंक्शन खुद ही को कॉल लगाता है तो उस प्रोसेस को हम रिकॉर्न कहते हैं अब जैसे मेन फंक्शन दूसरे फंक्शंस को कॉल लगा रहा था एक फंक्शन दूसरे फंक्शन को कॉल लगा रहा था नमस्ते फंक्शन ने बंजू फंक्शन को कॉल लगाई थी या कोई और फंक्शन दूसरे फंक्शन को कॉल लगा सकता है यह बिल्कुल नॉर्मली प्रोग्रामिंग के अंदर चलता है पर जब कोई फंक्शन खुद ही को कॉल लगा दे फिर दोबारा से खुद ही को कॉल लगा दे इस तरीके के प्रोसेस को हम रिकर्स कहते हैं जब एक फंक्शन बार-बार बार-बार खुद ही को कॉल लगाता रहता है जैसे इसको सबसे पहले एक एग्जांपल की हेल्प से देखते हैं हमें एक सवाल करना है जिसका नाम है प्रिंट हेलो वर्ल्ड पांच टाइम्स हमें हेलो वर्ल्ड प्रिंट करना है पर पांच बार प्रिंट करना है अब इसको हम आइट मेशन की हेल्प से कर सकते थे यानी लूप्स की हेल्प से कर सकते थे पर यहां पर हम यूज करेंगे रिकर्स का अच्छा एक छोटी सी चीज जो काफी इंटरेस्टिंग लग सकती है प्रोग्रामिंग के अंदर कोई भी काम अगर लूप से हो सकता है तो वो काम रिकर्स से भी हो सकता है और जो काम रिकर्स से हो सकता है वो काम लूप से भी हो सकता है पर डिफरेंस इतना है कि जिस काम को लूप से करने में कभी-कभी हमें बहुत सारी लाइनें लिखनी पड़ती है हैं वो रिकजन से दो-तीन लाइनों में हो सकता है और जिस काम को रिकजन से कभी-कभी करने में बहुत सारी लाइनें लिखनी पड़ती हैं वो लूप से थोड़ी सी लाइनों में हो जाता है तो हमें देखना पड़ता है कि कहां आइट यानी लूप्स यूज होंगे और कहां रिकॉर्न यूज होगा तो सबसे पहले रिकर्ट का एग्जांपल देखने के लिए हम हेलो वर्ल्ड प्रिंट करवाते हैं पांच बार एक हमारा फंक्शन है जो हमें हेलो वर्ल्ड प्रिंट करके देता है इसका नाम है वॉइड प्रिंट हेलो वर्ल्ड और इसके अंदर हम पास करते हैं एक पैरामीटर जो बताएगा कितनी बार प्रिंट कर इसको हम काउंट भी कह सकते हैं इंट काउंट इस फंक्शन की डेफिनेशन लिख लेते हैं वाइंट प्रिंट हेलो वर्ल्ड और यहां पर आ रहा होगा काउंट कि कितनी बार प्रिंट करना है पर अंदर लूप नहीं लगाएंगे अंदर क्या करेंगे फंक्शन एक ही बार प्रिंट करवाएगा हेलो वर्ड ये फंक्शन क्या है थोड़ा सा आलसी है थोड़ा सा काम खुद करेगा और बाकी काम खुद ही से करवाएगा अगली कॉल में तो अभी यह क्या करेगा हेलो वर्ल्ड को प्रिंट करेगा हेलो वर्ल्ड पर उसको काउंट टाइम्स प्रिंट नहीं करेगा काउंट टाइम्स प्रिंट करवाने के लिए खुद ही को कॉल लगाएगा तो प्रिंट हेलो वर्ल्ड अब एक बार तो इसने प्रिंट करवा दिया एक बार हेलो वर्ल्ड प्रिंट हो चुका है अब काउंट टाइम्स प्रिंट करवाना था n टाइम्स यहां पर पांच बार भी हो सकता है यहां पर 10 बार भी हो सकता है अब एक बार प्रिंट करवा दिया तो काउंट माइव टाइम्स प्रिंट करवाना बचा हुआ है और अगर कभी भी ये काउंट -1 -1 -1 होते होते इस काउंट की वैल्यू अगर जीरो हो जाए उसके बाद तो कुछ प्रिंट कराने की जरूरत है ही नहीं तो यहां पे सिर्फ लिख देंगे रिटर्न नोटिस करेंगे यहां सिर्फ रिटर्न लिखा है यहां रिटर्न ज़ीरो से ज़ीरो रिटर्न हो रहा है रिटर्न के बाद अगर कुछ नहीं लिखते तो कुछ नहीं रिटर्न होता इसीलिए रिटर्न टाइप वॉइड तो ये हो गया हमारा एक एग्जांपल रिकर्स का इसको हम र कर्सिव फंक्शन भी कहते हैं अगर यह अभी बिल्कुल समझ में नहीं आ रहा तो बिल्कुल परेशानी की बात नहीं है इसको बस कंफ्यूज करने के लिए रिकजन को इस तरीके से पहले बताया जा रहा है ताकि मैजिक मैजिक सा लगाए थोड़ा सा यहां पर क्या करेंगे प्रिंट हेलो वर्ल्ड को कॉल लगाएंगे और काउंट अपना पास करेंगे पांच क्योंकि हमें पांच बार प्रिंट करना है इस कोड को कर लेते हैं सेव और टर्मिनल में रन तो हमारे लिए हेलो वर्ल्ड हेलो वर्ल्ड हेलो वर्ल्ड पांच बार प्रिंट हो गया एक बार इसको फॉर्मेट कर लेते हैं नेक्स्ट लाइन में तो पांच बार हेलो वर्ल्ड प्रिंट हो गया अब अगर हम यहां पर 10 भी लिखते 10 लिख के अगर सेव करते तो 10 बार भी हेलो वर्ल्ड प्रिंट हो जाता अब इस फंक्शन ने क्या किया प्रिंट हेलो वर्ल्ड जो फंक्शन है यह अपने अंदर खुद ही को कॉल लगा रहा है यानी प्रिंट हेलो वर्ल्ड को ई कॉल लगा रहा है और बार-बार इस कॉल की वजह से बार-बार बार-बार एक फंक्शन तो सिर्फ एक बार हेलो वर्ल्ड प्रिंट करा रहा है तो ये फंक्शन पांच बार खुद ही को कॉल लगाता है और हेलो वर्ल्ड को बार-बार प्रिंट करवाता है तो ये एक रिकर्स फंक्शन है और हमने अभी रिकर्स का एग्जांपल देखा रिकर्स को हल्का सा मैथ की हेल्प से समझते हैं अब मैथ जिन बच्चों को स्कूल में पसंद नहीं थी उन्हें हल्की सी बोरिंग लग सकती है पर बोरिंग मैथ नहीं पढ़ाएंगे यहां पर बहुत छोटा सा डिस्कशन करेंगे जैसे हमारे पास मैथ के अंदर फंक्शन होते थे fx1 निकालना होता था तो होता था व का स्क्वायर यानी 1 अगर f2 निकालना होता था तो वो होता था 2 का स्क्वायर यानी 4 अगर f3 निकालना होता था तो वो होता था 3 का स्क्वायर यानी 9 वैसे ही कुछ कुछ ऐसे ऐसे टीचर्स थे जो परेशानी के लिए हमें थोड़े तो इसको कैसे करेंगे पहले तो fxxx.pro अपनी वैल्यू निकाल के हमें दे दी तो इसको कह सकते हैं हमारा रिकर्स फंक्शन यह हमने रिकर्स को मैथ में होते हुए देखा सबसे पहले बाहर वाले f ने अंदर वाली वैल्यू निकाली अंदर कॉल लगवाई फिर अंदर वाले ने कुछ-कुछ काम किया बाहर वाले को दे दिया वो काम फिर बाहर वाले ने कुछ-कुछ काम किया और वो उसने हमें दे दिया तो लेवल्स हुए यहां पर कॉलिंग के इसी तरीके से हो सकता है कोई टीचर हमें क्या कहे f ऑफ f ऑफ f ऑफ x निकालने के लिए जैसे f ऑफ f ऑफ f ऑफ एक् अगर हमें निकालना हो तो इस केस में क्या होगा सबसे पहले हम f एक की वैल्यू निकालेंगे यहां पर इस फंक्शन ने खुद को कॉल लगाई फिर इस फंक्शन ने दोबारा से खुद को कॉल लगाई तो तीन कॉल्स हो गई है एक जो हमने इसको लगाई एक जो इसने खुद को लगाई एक जो दोबारा से इसने खुद को लगाई तो सबसे पहले अंदर वाली कॉल काम करेगी अंदर वाली कॉल क्या काम करेगी हमें x = 2 के लिए 4 दे देगी फिर बाहर वाली कॉल काम करेगी बाहर वाली यानी इतना फंक्शन इतना फंक्शन क्या काम करेगा f4 देगा f4 यानी 16 अब सबसे बाहर वाला फंक्शन काम करेगा यानी यह वाला फंक्शन यह वाला फंक्शन हमें 16 का स्क्वायर रिटर्न करके देगा यानी हमारे पास रिटर्न होकर आएगा 256 तो क्या हुआ लेवल वाइज काम हुआ और इसको हम कह सकते हैं रिकजन का एग्जांपल वैसे ही जो नॉर्मल फंक्शन कॉल होती है यानी जब एक फंक्शन दूसरे फंक्शन को कॉल लगाता है तो उसमें क्या होता है हमारा एक मेन फंक्शन होता है मेन फंक्शन क्या करता है एक नॉर्मल फंक्शन f को कॉल लगाता है यह नॉर्मल फंक्शन कुछ कुछ कुछ कुछ काम हमें करके देता है और वापस एक वैल्यू मेन फंक्शन को रिटर्न करके दे देता है हो सकता है यह नॉर्मल फंक्शन किसी और फंक्शन y एक को कॉल लगा रहा हो वो y एक् कोई काम रिटर्न करके f एक को दे और f एक वापस से अपना जो कंट्रोल है वो मेन फंक्शन को दे इस तरीके का हमारा नॉर्मल फंक्शन कॉल रहता है पर जब भी हम रिकजन की बात करते हैं ना रिकर्स के अंदर कुछ स्पेशल होता है रिकर्स के अंदर हमारा मेन फंक्शन अगर एक फंक्शन fxxx.pro फंक्शन को दे रहा है तो हर बार जो कॉल लग रही है वो लग तो खुद ही को रही है तो बार-बार बार बार बार-बार खुद ही को कॉल लगाने वाले फंक्शंस को रिकर्स फंक्शन कहते हैं और इस प्रोसेस को हम रिकर्स कहते हैं अब रिकर्स को करने का बहुत लॉजिकल तरीका होता है और इस लॉजिकल तरीके को समझेंगे सवाल की हेल्प से सवाल हमारा है सम ऑफ फर्स्ट एंड नेचुरल नंबर्स हमें निकालना है अब इसको थोड़ा सा एनालाइज करते हैं कि फर्स्ट एंड नेचुरल नंबर्स का सम क्या हो सकता है सम होता है 1 + 2 + 3 + 4 से लेकर n - 1 + n तक जैसे 5 अगर n = 5 के लिए हमें वैल्यू निकालनी हो तो वो होगा 1 + 2 + 3 + 4+ 5 अगर n = 4 के लिए निकालना हो वो होगा 1 + 2+ 3+ 4 n = 3 के लिए निकालना हो 1+ 2+ 3 n = 2 के लिए निकालना हो 1+ 2 n = 1 के लिए निकालना हो 1 अब n = 0 हो नहीं सकता क्योंकि रो होल नंबर है नेचुरल नंबर है है नहीं यहां पे हम एक पैटर्न ऑब्जर्व करेंगे पैटर्न यह है कि n में सारे नेचुरल नंबर्स में यह वैल्यू कॉमन है इसके बाद यह वैल्यू कॉमन है इसके बाद यह वैल्यू कॉमन है फिर यह वैल्यू कॉमन है इस तरीके से रहता है तो नेचुरल नंबर्स के सम को हम क्या लिख सकते हैं n = 2 को हम क्या लिख सकते हैं इसको लिख सकते हैं सम ऑफ n - 1 + 2 मतलब आप n - 1 तक का सम कैलकुलेट कर लो उस में बस दो को ऐड कर दो तो हमारे पास क्या होगा सम ऑफ n नेचुरल नंबर्स आ जाएगा या इसको और प्रेसा इजली लिखें तो सम ऑफ वन तक का सम निकाल लो उसमें टू ऐड कर दो यहां पे क्या है टू तक का सम निकाल लो उसमें थ्री ऐड कर दो इसका क्या मतलब है थ्री तक का सम निकाल लो और उसमें फोर ऐड कर दो ये हमारा हो गया थ्री तक का सम और इसमें हमने फोर को ऐड कर दिया इसका क्या मतलब है फोर तक का सम निकाल लो और उसमें फाइव ऐड कर दो तो ये हो गया हमारा फोर तक का सम और उसमें हमने ऐड कर दिया फाइव को इसका क्या मतलब है सम निकाल लो n - 1 तक का और उसमें n को ऐड कर दो तो ये सारे जो नंबर्स हैं ये हमें n - 1 तक का सम दे रहे हैं और उसमें हमने ऐड कर दिया अपने n को इसी तरीके से यहां पर टू तक का सम है जिसमें ऐड कर दिया थ्री को यहां पर वन तक का सम है जिसमें ऐड कर दिया टू को तो एक तरीके से हम देख पा रहे हैं कि सम हमें निकालना है n का तो हमें क्या कह रहा है सम n का निकालने से पहले n - 1 का सम निकाल लो और उसमें n को को ऐड कर दो तो सम फंक्शन तो सेम ही है मतलब यहां पर जो हम काम करने की कोशिश कर रहे हैं और यहां पर जो काम करने की कोशिश कर रहे हैं वो सेम है बस उसमें हल्का सा डिफरेंस क्या है बस एक वैल्यू को प्लस करना है तो ये फंक्शन सम फंक्शन क्या करता है खुद ही को कॉल लगा रहा है खुद ही को कॉल लगा रहा है हम ये देख पा रहे हैं पहले n के लिए कॉल लगा रहा है फिर n - 1 के लिए कॉल लगा रहा है फिर n - 2 के लिए कॉल लगाएगा फिर n - 3 के लिए कॉल लगाएगा जब तक हम यहां तक नहीं पहुंच जाते n = 1 तक नहीं पहुंच जाते ये हमारी लास्ट वैल्यू है अब रिकजन को भी तो कहीं ना कहीं खुद को कॉल तो लगाएगा पर एक लिमिट तक कॉल लगा सकते हैं ना कि कितनी बार खुद को कॉल लगानी है अगर n नंबर्स का सम निकालना है तो n बार कॉल लगानी है और ये कॉल कौन ट्रैक करेगा ये कॉल ट्रैक करेंगे हमारे पैरामीटर्स क्योंकि पैरामीटर में जैसे हमने काउंट की वैल्यू डिक्रीज करते-करते ज़ीरो कर दी थी वैसे ही यहां पर हम n की वैल्यू डिक्रीज करते-करते पहले फाइव फिर फोर फिर थ्री फिर टू फिर वन वन तक ले जाएंगे वन के बाद कोई और वैल्यू है ही नहीं क्योंकि और नेचुरल नंबर्स है नहीं तो यहां पर हमारी लास्ट वैल्यू होगी यहां हमारी रिकजन खत्म हो जाएगी और इस कंडीशन को हम बेस केस कहते हैं अब इस पूरे कोड को हम एक बार लिख के देख लेते हैं और सारी चीजों को समझते हैं सबसे पहले क्या करेंगे अपने फंक्शन को ऊपर डिक्लेयर कर देंगे फंक्शन का नाम है सम इसके अंदर हम पास करेंगे अपना n तो अपने n की वैल्यू कुछ भी हो सकती है सबसे पहले अपना रिकर्स फंक्शन लिखते हैं अब ये जो फंक्शन है ना ये वॉइड टाइप का नहीं है ये एक इंटी जर वैल्यू को रिटर्न करेगा और ये इंटी जर वैल्यू क्या इंजर वैल्यू होगी हमारा सम तो इंट सम इंट ए एव से लेकर ए तक का हमें सम निकालना है तो सम फंक्शन क्या कह रहा था न से लेकर n तक सम निकालना है तो पहले न से लेकर n माइव तक निकाल लो और उसम ए को ऐड कर दो तो हम क्या करेंगे न से लेकर n माइनस तक का सम निकाल लेंगे तो यहां लिख देंगे टू ए माइव यह थोड़ा सा कॉम्लेक्स नाम हो गया तो यहां बना लेंगे एक वेरिएबल इंटी जर सम ऑफ n माइन 1 इसको हम कहना चाह रहे हैं कि यह वैल्यू इंडिकेट करती है सम ऑफ टू ए व इस वेरिएबल के अंदर स्टोर कर लेंगे व आएगा कहां से व आएगा इसी सम फंक्शन से क्योंकि अगर यह सम फंक्शन ए वैल्यूज का सम निकाल सकता है तो n माइव का तो निकाल ही सकता है क्योंकि अभी हम लॉजिक लिखेंगे यहां से हम निकाल लेंगे n माइव का सम रिकजन के अंदर ना ट्रस्ट एक बहुत बड़ा फैक्टर होता है हमें विश्वास रखना होता है कि हमारा रिकर्स फंक्शन जो काम है वो हमें करके दे देगा तो यहां पर हमें विश्वास रखना है कि n-1 वैल्यूज का वो सम हमें लाके दे देगा रिकजन जो है हल्का सा ट्रिकी टॉपिक हो सकता है पर जितने ज्यादा इसके सवाल सॉल्व करेंगे ना उतना ही हमें समझ में आ जाएगा कि क्या मतलब होता है रिकजन का खुद को कॉल करने का क्या लॉजिक होता है तो सम माइव इसने निकाल लिया सम ऑफ n-1 उसके बाद क्या करेंगे जो हमारा सम होगा टोटल सम ए तक का जो सम होगा वो होगा सम ऑफ n - 1 + n राइट और यह फंक्शन हमें पास रिटर्न करके दे देगा सम ऑफ n तो एक बार दोबारा थोड़ा सा समझते हैं इस फंक्शन का काम है कि ये वन से लेकर n तक सारे नेचुरल नंबर्स का सम हमें दे देगा तो सबसे पहले हम क्या करते हैं n - 1 तक नेचुरल नंबर्स का सम ले लेते हैं तो वो हमने लिया और इस वेरिएबल में स्टोर करा दिया फिर सम ऑफ n क्या होता है n - 1 तक का सम प्लस उसमें n तो उन दोनों को सम ऑफ n में स्टोर करा दिया और रिटर्न करवा दिया सम ऑफ n अब यहां पर बेस कंडीशन क्या होगी हर बार हमारे n की वैल्यू जो है वो -1 माइव होते जाएगी तो बेस कंडीशन होगी अगर ए की वैल्यू वन हो जाए उस केस में हमें पता है कि सम ऑफ वन क्या होता है न तो य हम डायरेक्टली आंसर रिटर्न कर देंगे च इज वन इसको कर लेते हैं सेव और अपने मेन फंक्शन में कॉल लगाते हैं प्रिंट ए सम इज परसेंटेज डी पास करते हैं सबसे पहले फ सम ऑफ 1 टू 5 हमें कैलकुलेट करके प्रिंट करवाना है इसको कर लेते हैं सेव एंड रन तो पांच तक 1 + 2 + 3 + 4 + 5 का सम हमारे पास 15 आया है और ये कैसे आया होगा उसको एक बार हल्का सा एनालाइज कर लेते हैं तो हमने सबसे पहले क्या किया हमने कॉल लगाई सम ऑफ फाइव को सम ऑफ फाइव ने सोचा सबसे पहले मैं सम ऑफ फोर कैलकुलेट कर लेता हूं उसमें मैं क्या करूंगा पांच को ऐड कर दूंगा सम ऑफ फोर ने सोचा सबसे पहले ना मैं एक से तीन तक का सम निकाल लेता हूं उसमें मैं चार को ऐड कर दूंगा फिर सम ऑफ़ तीन ने यही चीज सोची कि मैं भी स्मार्ट बनता हूं एक से दो तक का सम कैलकुलेट करता हूं उसमें सिंपली तीन को ऐड कर दूंगा मैं क्यों ज्यादा काम करूं सम ऑफ दो ने सोचा दिस इज टू माय हैंडराइटिंग इज वेरी बैड कि मैं सम ऑफ वन कैलकुलेट कर लेता हूं उसमें मैं दो को ऐड कर दूंगा और सम ऑफ वन को तो पता ही है कि उसकी वैल्यू वन होती है तो इस तरीके का हमारा प्रोसेस रहा तो एक्चुअली हुआ क्या वन हमारा बेस केस था वन ने यहां पर वन रिटर्न कर दिया तो यहां पे हुआ 1 + 2 यानी 3 यह वैल्यू 3 यहां पे वापस रिटर्न होकर आई तो यहां हुआ 3 + 3 यानी 6 ये वैल्यू 6 यहां पर रिटर्न होकर आई यहां हुआ 6 + 4 यानी 10 तो ये 10 वैल्यू यहां पर रिटर्न हो करर आई यहां हुआ 10 + 5 यानी 15 तो यह वैल्यू यहां से रिटर्न होकर वापस हमारे मेन फंक्शन पे हमारे पास आंसर आया 15 तो हर लेवल पर हमें काम जो है वो अगले वाले लेवल को देते चले गए पर कहीं ना कहीं तो उस काम को एक्चुअली लिखना होगा और वो एक्चुअली लिखने का काम हमने किया यहां पर हमारे बेस केस में बेस केस क्या करेगा रिकर्स को रोक देगा प्लस हम विश्वास कर रहे हैं कि अगले वाला लेवल हमें कुछ काम करके दे देगा अगले वाला लेवल हमें कुछ काम करके दे देगा पर वो एक्चुअली काम कहीं तो करना पड़ेगा किसी ना किसी लेवल पर तो वो काम होता है हमारे बेस केस पर हमारे लास्ट लेवल पर तो ये n टाइम्स हमारे लेवल्स जो है कॉल हुए यह पहला लेवल था यह दूसरा लेवल था यह तीसरा लेवल था यह चौथा लेवल था यह पांचवा लेवल था इसको प्रोग्रामिंग की भाषा में कहते हैं रिकर्स ट्री पर इतना डिटेल में हमें जाने की जरूरत है नहीं रिकर्स ट्री शब्द भी मुझे नहीं लगता कि सी प्रोग्रामिंग में हमें याद रखने की जरूरत है क्या होता है पर अगर डायग्राम से रिकजन को समझना है हमने क्या किया हमने डब्बो से रिकजन को समझ लिया हमने कोड से रिकर्स को समझ लिया हमने मैथ्स से रिकजन को समझ लिया और अब हमने डायग्राम से रिकर्स को समझ लिया तो रिकजन को समझने के जो चारों दिशाओं वाले तरीके होते हैं वो सारे के सारे हम डिस्कस कर चुके हैं और बहुत सबसे ज्यादा प्यारे तरीके से सबसे ज्यादा अच्छे तरीके से मैंने बहुत कोशिश करी है कि रिकर्स को मैं काफी अच्छे से जहन में बिठा पाऊं तो वो चीज हम काफी अच्छे से कर चुके हैं अब अगले सवाल को करते हैं अगला सवाल हमारा कहता है फैक्टोरियल ऑफ n हमें करना है तो जैसे हमने सम ऑफ n निकाला था वैसे ही फैक्टोरियल ऑफ n कहता है अब रिकजन करने से पहले ना पेपर पेन का हमें थोड़ा सा इस्तेमाल करना होता है और थोड़ा सा दिमाग पे हमें लॉजिकली सोच के फाइंड आउट करना होता है कि रिकर्ट होगा कैसे ये बहुत ही स्टैंडर्ड क्वेश्चंस हम कर रहे हैं सी के अंदर मोस्टली यही क्वेश्चन पूछे जाते हैं एग्जाम के अंदर तो इतनी टेंशन भी लेने की जरूरत नहीं है एक बार आप ये क्वेश्चंस प्रैक्टिस कर लेंगे साथ में एक दो होमवर्क प्रॉब्लम होंगे वो कर लेंगे कोई परेशानी नहीं आएगी आपको एग्जाम के अंदर फैक्टोरियल ऑफ n हमें निकालना है तो जैसे सम क्या कहता था सम कहता था कि सम ऑफ n निकालना है तो सम ऑफ n - 1 निकाल लो उसमें n को ऐड कर दो वैसा ही कुछ हमारा केस होता है फैक्टोरियल का ध्यान से अगर फॉर्मूले को देखें तो 5 फैक्टोरियल क्या कहता है 5 फैक्टोरियल होता है 1 * 2 * 3 * 4 * 5 4 फैक्टोरियल क्या होता है 1 * 2 * 3 * 4 3 फ्टो क्या होता है 1 * 2 * 3 2 फ्टो क्या होता है 1 * 2 और 1 फ्टो क्या होता है हमारा 1 तो इसको 5 फैक्टोरियल को हम क्या लिख सकते हैं इसको लिखा जा सकता है 4 * 5 इसको क्या लिख सकते हैं 4 फ्टो को 3 फट * 4 इसको लिख सकते हैं 2 फ्टो * 3 इसको लिख सकते हैं 1 फ्टो * 2 और ये तो हमारा वन ही रहेगा हमेशा ओबवियसली इससे नीचे कैसे कैलकुलेट करेंगे या तो 0 फैक्टोरियल लिखेंगे दैट इज आल्सो रो पर इसको रो से मल्टीप्लाई नहीं कर सकते तो बेस केस हम 1 फैक्टोरियल पे लगा सकते हैं जहां पे वैल्यू ऑलरेडी डिफाइंड होगी तो यहां पे भी हमारे पास एक रिकर्व फंक्शन बन गया रिकर्व फंक्शन क्या बना कि फैक्टोरियल ऑफ n अगर हमें निकालना हो तो उसकी वैल्यू क्या होगी आप जी फैक्टोरियल ऑफ n - 1 मुझे बता दो उसमें बस मुझे क्या करना है अपने n को मल्टीप्लाई कर देना है यह हमारा रिकर्स फंक्शन है बिल्कुल सम के जैसा है सम ऑफ n निकालना है तो क्या करो सम ऑफ n - 1 मुझे बता दो उसमें मैं n को ऐड कर दूंगा वैसे ही फैक्टोरियल में फैक्टोरियल ऑफ n बता दो उसमें n - 1 को मैं मल्टीप्लाई कर दूंगा तो मेरा फैक्टोरियल ऑफ n मेरे पास आ जाएगा तो इस सेम तरीके को हम कोड में कन्वर्ट करते हैं सबसे ऊपर अपना फंक्शन लिखेंगे फैक्टोरियल जिसमें हमें किसी भी नंबर n का फैक्टोरियल निकालना है अब फंक्शन की डेफिनेशन इंट फैक्टोरियल जिसके अंदर पास करेंगे पैरामीटर n फैक्टोरियल ऑफ n निकालने से पहले फैक्टोरियल ऑफ n - 1 निकाल लेते हैं विश्वास करते हैं ये फंक्शन कैलकुलेट करके दे देगा फैक्टोरियल ऑफ n-1 तो लिखेंगे इंट फैक्टोरियल ऑफ n - 1 = फैक्टोरियल n-1 अब इंट फैक्टोरियल ऑफ n होगा फैक्टोरियल ऑफ n - 1 मल्टीप्ला बाय n और रिटर्न कर देंगे फैक्टोरियल ऑफ n और बेस केस यहां पर क्या होगा कब हम रुक जाएंगे हम तब रुक जाएंगे जब हमारे n की वैल्यू वन हो जाएगी जैसे ही n की वैल्यू वन हो गई वैसे ही हम रिटर्न कर देंगे वन या इनफैक्ट यहां पर रो पे भी रुक सकते हैं जीरो रिटर्न हुई तो उस केस में हम रिटर्न कर देंगे वन को तो कर लेते हैं सेव अब यहां पर हम लिखेंगे फैक्टोरियल इज़ फाइव का फैक्टोरियल निकाल लेते हैं न्यू टर्मिनल कंपाइल एंड रन तो पांच का फैक्टोरियल हमारे पास 120 प्रिंट होकर आ गया ऐसे ही हम चार का भी फैक्टोरियल निकाल सकते हैं 4 का फैक्टोरियल 24 प्रिंट होके आ जाएगा अब एनालाइज करते हैं किया क्या हमने यहां पर फैक्टोरियल में हमारे फैक्टोरियल फंक्शन में हमें n का फैक्टोरियल निकालना था उसको निकालने का सिंपलेस्ट तरीका क्या है फैक्टोरियल ऑफ n - 1 निकाल लो वो कौन निकालेगा सेम फंक्शन निकालेगा बस उसमें पैरामीटर चेंज हो जाएगा उसके बाद फैक्टोरियल n - 1 को मल्टीप्लाई कर देते हैं n के साथ तो फैक्टोरियल n निकल गया उसको हम कर देंगे फाइनली रिटर्न और यहां पे भी एक ट्री स्ट्रक्चर बना के हम पूरा का पूरा समझ सकते हैं कैसे चीजें काम करेगी यहां पे भी वही सेम चीज होने वाली है जो हमने पहले करी फैक्टोरियल पा को हमने कॉल लगाया उसने सोचा पहले फैक्टोरियल च निकाल लेता हूं उसमें मल्टीप्लाई कर दूंगा पांच को फिर उसने कॉल लगाया फैक्टोरियल 3 को उसमें मल्टीप्लाई कर देंगे चार को फिर उसने कॉल लगाया फैक्टोरियल दो को उसमें मल्टीप्लाई कर देंगे तीन को फिर उसने कॉल लगाया फैक्टोरियल वन को उसमें मल्टीप्लाई कर देंगे टू को फैक्टोरियल व ने कॉल लगाया फैक्टोरियल 0 को उसमें मल्टीप्लाई कर देंगे वन को फैक्टोरियल ़ क्या कहता है वन दे देता है क्योंकि यह है हमारा बेस केस अब इसने यहां पे वैल्यू रिटर्न कर दी 1 1 * 2 हमें दे देगा 2 यहां पे टू रिटर्न हुआ इसने दे दिया 2 * 3 6 यहां पे 6 रिटर्न हुआ इसने दे दिया 6 * 4 24 इसने 24 रिटर्न किया तो इसने दे दिया 24 * 5 = 120 तो फाइनल आंसर हमारे पास 120 प्रिंट हुआ था फैक्टोरियल फव के लिए नेक्स्ट चीज जिसकी हम बात करेंगे वो है कुछ प्रॉपर्टीज ऑफ रिकजन तो रिकर्स की अपनी कुछ प्रॉपर्टीज होती हैं सबसे पहला एनीथिंग दैट कैन बी डन विद आइट मेशन कैन बी डन विद रिकर्ट एंड वाइस वर्सा आइट मेशन से लूप से हमने जो भी काम किए थे वो सारे काम रिकर्ट से हो सकते हैं और रिकर्स से जो भी काम करते हैं वो सारे आइट एशन से हो सकते हैं बस कभी-कभी रिकर्ट हेल्प कर देता है बहुत सिंपल कोड लिखने में कभी-कभी लूप हेल्प कर देते हैं सेकंड प्रॉपर्टी है रिकजन कैन सम टाइम्स गिव द मोस्ट सिंपल सॉल्यूशन ऐसे ऐसे आगे जाकर डाटा स्ट्रक्चर हम पढ़ेंगे ट्रीज के ट्री डाटा स्ट्रक्चर होता है वो सी प् प्स में हम पढ़ सकते हैं जावा में पढ़ सकते हैं उसको करते टाइम हम ट्री की वैल्यूज लिखते हैं कुछ अभी हम इमेजिन नहीं कर पा रहे होंगे पर वहां पर आइट का कोड बहुत लंबा और कॉम्प्लेक्शन का कोड यूं तीन लाइनों का कोड होता है सारी वैल्यूज को प्रिंट कराने के लिए तो वहां पे रिकजन ऐसे केसेस में बहुत ज्यादा सिंपल कोड लिखने में हेल्प करता है बेस केस होता है रिकजन के अंदर वो कंडीशन जो रिकजन को रोक देती है तो रिकॉर्न बार-बार बार-बार चल रहा है कहीं ना कहीं जाकर रुकेगा और जिस कंडीशन में जाकर रुकेगा उसको हम कहते हैं अपना बेस केस और चौथी प्रॉपर्टी होती है रिकजन की कि आइट में जैसे हमारे पास इनफाइनों पूरी भर जाएगी और उसके बाद हमारा प्रोग्राम जो है क्रैश कर जाएगा वैसे ही रिकजन अगर बार-बार बार-बार चलती रहे और उसमें कोई बेस केस ना हो तो वहां पे उस कंडीशन को हम कहते हैं स्टैक ओवरफ्लो स्टैक ओवरफ्लो का बेसिक मतलब यही है कि मेमोरी हमारी भर गई और अब हमारा प्रोग्राम क्रैश कर जाएगा इसीलिए बेस केस बहुत इंपॉर्टेंट होता है जब भी हम रिकजन की बात करते हैं और जब भी रिकजन का प्रोग्राम लिख रहे हैं बेस केस को हमें कभी नहीं भूलना है जैसे एग्जांपल ले फैक्टोरियल केस कोड में अगर मैं ये बेस केस हटा दूं और य मान लो मैं हर बार प्रिंट करवा रही हूं न दिस आई एम कैलकुलेटिंग कैलकुलेट फैक्टोरियल ऑफ ए में कैलकुलेट कर रही हूं जहां पर मुझे हर बार ए की वैल्यू को प्रिंट करवाना है इसको कर लेती हूं सेव और एक बार रन करती हूं यहां पर मेरा प्रोग्राम एंड में क्रैश हो गया है और प्रिंट हुआ सेगमेंटेशन फॉल्ट सेगमेंटेशन फॉल्ट इसलिए हुआ है क्योंकि रिकजन में कंडीशन जो है बेस के मैंने नहीं लिखा एक बार दोबारा से इसे रन कर लेते हैं यह हुआ सेगमेंटेशन फॉल्ट प्रोग्राम क्रैश यह क्यों हुआ ऊपर से जहां पर कॉल लगाई थी वहां से अगर एनालाइज करें तो हर बार हम देख रहे हैं कि ये नंबर जो है n था पहले फिर n - 1 हुआ फिर n - 2 हुआ फाइव था फोर्थ हुआ थ्री हुआ टू हुआ वन हुआ हर बार फिर ज़ीरो हुआ हर बार हम क्या करते थे बेस केस में रो पे रोक देते थे इस बार हमने वो कंडीशन ही हटा दी कि ज़ीरो पे रुक जाओ तो इस बार वो नेगेटिव में वैल्यूज उसकी शुरू हो गई -1 हो गया -2 हो गया -3 हो गया -4 हो गया -5 हो गया और यहां पे हुआ -1 7338 फिर और नेगेटिव में और नेगेटिव में और नेगेटिव में और नेगेटिव में और नेगेटिव होता होता चला गया जब तक हमारा प्रोग्राम जो है कंप्लीट भर नहीं गया और प्रोग्राम क्रैश नहीं कर गया इसीलिए बेस केस को कभी भी रिकॉर्न के टाइम में मिस नहीं करना है क्योंकि बहुत सारे इश्यूज रेज हो जाते हैं फिर आपका प्रोग्राम क्रैश कर जाएगा अब कुछ सवाल करते हैं फंक्शंस के और रिकर्स के सबसे पहला सवाल जिसको हम करने वाले हैं वो है राइट अ फंक्शन टू कन्वर्ट सेल्सियस टू फारेनहाइट हमने देखा था फिजिक्स पढ़ा करते थे 11 12th में तो उसमें क्या सबसे पहले बेसिक चीज कराते थे थर्मोडायनेमिक्स में या पता नहीं कौन से चैप्टर में सेल्सियस से फारेनहाइट में कन्वर्ट कर दो फारेनहाइट से सेल्सियस में कन्वर्ट कर दो तो इसका फार्मूला याद करने की जरूरत नहीं है इंपॉर्टेंट ये नहीं है कि फॉर्मूला कौन सा यूज़ होगा फॉर्मूला तो आप टीचर से भी पूछ सकते हैं आपको यूजुअली एग्जाम्स में दिया भी होगा या कोडिंग टेस्ट में अगर ये सवाल दिया हो तो उसमें फॉर्मूला दिया होगा फार्मूला होता है कि सेल्सियस की जो भी वैल्यू है उससे मल्टीप्लाई कर दो 9/5 और उसमें ऐड कर दो 32 तो जैसे 0 अगर हम ले 0 सेल्सियस क्या होता है मल्टीप्ला बा 0.18 + 32 तो 0 डिग्री सेल्सियस होता है हमारा 32 डिग्री फट तो इस तरीके का कैलकुलेशन हमारे पास रहता है इस फॉर्मूले का हम इस्तेमाल कर रहे होंगे एक फंक्शन बनाता है जो सेल्सियस वैल्यू को लेगा और फारेनहाइट में कन्वर्ट कर देगा तो इस फंक्शन को हम लिखते हैं सबसे पह फंशन को डिक्लेयर करेंगे फंक्शन हमारा एक फ्लोटिंग वैल्यू हमें रिटर्न करके दे देगा इस फंक्शन का नाम है कन्वर्ट टेंपरेचर कन्वर्ट टेंपरेचर में हमने कोई फ्लोटिंग वैल्यू इससे ले ली जो है सेल्सियस अब इसको डिफाइन कर लेते हैं फ्लोट कन्वर्ट टेंपरेचर और इसके अंदर वैल्यू हमारे पास आई है फ्लोट सेल्सियस हमें सेल्सियस से फारेनहाइट में कन्वर्ट करना है तो इंट फारेनहाइट क्या होगा सेल्सियस वाली हमारी वैल्यू मल्टीप्ला बाय 9/5 प्लस 32 तो अगर प्रेसीडें भी देखे तो सबसे पहले मल्टीप्लाई होगा उसके बाद वैल्यू हमारी ऐड हो रही होगी और इसको इंटी जर नहीं इसको फ्लोट लिखते हैं और रिटर्न होकर जाएगी हमारा फारेनहाइट वाली वैल्यू मेन फंक्शन के अंदर क्या करेंगे मेन फंक्शन के अंदर कॉल लगाएंगे कन्वर्ट टेंपरेचर को उसमें पास कर देंगे मान लीजिए रो डिग्री हमने पास किया और यहां से हमारी फारेनहाइट वाली वैल्यू हमारे पास रिटर्न होकर आ जाएगी अब प्रिंट करवा देंगे अपने फारेनहाइट वाले टेंपरेचर को परसेंटेज ए इसको कर लेते हैं सेव तो कन्वर्ट टेंपरेचर फंक्शन हमने बनाया जिसमें सेल्सियस में वैल्यू आती है टेंपरेचर की और रिटर्न हम करते हैं फारेनहाइट वाली वैल्यू को इसको कर लेते हैं रन तो हमारे पास 32 डिग्री फारेनहाइट हमारे पास प्रिंट हो गया है ऐसे ही अगर मान लीजिए सेल्सियस में कोई हम टेंपरेचर भेज रहे हैं जैसे हम 32 अगर सेल्सियस भेज रहे हैं तो वो फारेनहाइट में कन्वर्ट हो जाएगा 64 डिग्री फट यहां पे एक छोटी सी मिस्टेक हमसे हुई कि हमने यहां पे इंटी जर वैल्यूज लिख दी 9/5 तो ये भी इंटी जजर है ये भी इंटी जर है 9/5 अगर डिवाइड करेगा तो वन देगा पर कायदे से इसको मल्टीप्लाई करना चाहिए 1.8 के साथ तो यहां पे हम इसको 99.0 कर देते हैं इसको 5.0 कर देते हैं अब ये फ्लोटिंग वैल्यूज हैं अब अपने कोड को रन करते हैं अब हमने पास किया था 32 डिग्री तो हमारे लिए आया 89.5 1999 डिग्री फट अगर हम नॉर्मल बॉडी टेंपरेचर पास करें व्हिच 37 डिग्री सेल्सियस तो 37 डिग्री सेल्सियस पर आपको बुखार नहीं होता तो आपका बॉडी टेंपरेचर यानी 98.5 फट तो जब भी हम बात करते हैं ना कि बुखार हो गया है तो 98 डिग्री 99 डिग्री 100 डिग्री बुखार हो गया 103 बुखार हो गया है वो एक्चुअली फारेनहाइट में होता है सेल्सियस में हमारे पास यह टेंपरेचर होते हैं तो यह हमने कन्वर्जन का एक फंक्शन लिख लिया है इस तरीके से हमारे पास फारेनहाइट टू सेल्सियस कन्वर्जन फंक्शन हम खुद से बना सकते हैं और भी डिफरेंट डिफरेंट फंक्शन हो सकते हैं फिजिक्स के जितने फॉर्मूले हैं उनको सबको आप एक फंक्शन के अंदर कन्वर्ट कर सकते हैं कोड में इनफैक्ट वो किया जाता है जब गेम डेवलपमेंट होती है और c+ प् से कोड लिखे जाते हैं तो हमारा जो मेन कैरेक्टर है वो कितनी स्पीड से रन करेगा उसकी एक्सीलरेशन क्या होगी वो जो बुलेट फायर कर रहा है उस बुलेट की क्या डायरेक्शन डिसाइड होगी उसके कोऑर्डिनेट्स क्या रहेंगे एक्वा प्लेन में 2d प्लेन में या 3d प्लेन में क्या कोऑर्डिनेट्स रहेंगे ये सारा का सारे फॉर्मूले जो होते हैं वो फंक्शंस की फॉर्म में लिखे जाते हैं कोड में तो फंक्शंस काफी इंपोर्टेंट है इनफैक्ट फिजिक्स काफी इंपॉर्टेंट है अगर आप गेम डेवलपमेंट में जाना चाहते हैं तो नेक्स्ट क्वेश्चन जो हमें दिया हुआ है वो ये है राइट फंक्शन टू कैलकुलेट परसेंटेज ऑफ अ स्टूडेंट एक स्टूडेंट है जिसके हमें तीन सब्जेक्ट के मार्क्स दिए हुए हैं साइंस के मार्क्स दिए हैं मैथ के मार्क्स दिए हैं संस्कृत के मार्क्स दिए हैं अब मैं इंग्लिश हिंदी में डिफरेंशिएबल है इसके लिए हम फंक्शन लिख लेते हैं फंक्शन का नाम होगा फ्लोट फ्लोटिंग वैल्यू यह परसेंटेज हमें दे देगा इन फैक्ट क्या करते इंटी जर वैल्यू ही कर लेते हैं फॉर सिंपलीसिटी इंटी जर कैलकुलेट परसेंटेज कैलकुलेट परसेंटेज तीन सब्जेक्ट के मार्क्स लेता है सबसे पहले मार्क्स लेगा साइंस के फिर मैथ के और फिर संस्कृत के और यह इंटी जर में परसेंटेज कैलकुलेट करके हमें वापस मिलेगा अब इस फंक्शन को डिफाइन कर लेते हैं कैलकुलेट परसेंटेज जिसके अंदर पास करेंगे अपनी साइंस के मार्क्स इंटी जर साइंस इंट मैथ एंड इंट संस्कृत परसेंटेज कैसे कैलकुलेट होगी तीनों मार्क्सस को ऐड कर लेते हैं डिवाइडेड बाय 3 कर लेते हैं मल्टीप्ला बाय 100 कर लेते हैं तो रिटर्न कर देंगे साइंस के मार्क्स प्लस मैथ के मार्क्स प्लस संस्कृत के मार्क्स डिवाइडेड बाय 3 और इस पूरी वैल्यू को मल्टीप्लाई कर देंगे बाय 100 तो इस तरीके से हमें परसेंटेज मिल जाएगी अब यहां पे साइंस के मार्क्स बना लेते हैं मान लीजिए साइंस में हमारे 100 में से आए हैं 98 मैथ में हमारे आए हैं सम 95 और संस्कृत में मैं अपने 99 मार्क्स लिखना चाहूंगी यहां पर जो मेरे काफी मेहनत के बाद एथ क्लास में आए थे संस्कृत के अंदर अब फाइनली प्रिंट कर लेते हैं अपनी परसेंटेज परसेंटेज इ परसेंटेज डी एंड कॉल कर देंगे अपने कैलकुलेट परसेंटेज फंक्शन को जिसमें पास करेंगे साइंस के मार्क्स मैथ्स के मार्क्स और संस्कृत के मार्क्स इसको कर लेते हैं सेव हमने कैलकुलेट परसेंटेज फंक्शन बनाया जिसमें तीनों सब्जेक्ट के मार्क्स ले लिए और रिटर्न कर ली परसेंटेज इसी फंक्शन को हमने यहां पर डिफाइन कर लिया तीनों सब्जेक्ट के मार्क्स हमने मेन फंक्शन के अंदर डिक्लेयर कर दिए और अपने फंक्शन को हमने कॉल लगा दिया इसको अब नई टर्मिनल विंडो खोल के सबसे पहले कंपाइल एंड रन तो परसेंटेज आया है 970 इसको एक्चुअली हमें 100 से मल्टीप्लाई नहीं करना था क्योंकि ऑलरेडी अगर 100 से निकाल रहे हैं मार्क्स तो परसेंटेज आएगा 97 पर तो इस तरीके से मार्क्स अगर कैलकुलेट करने है आपको भी अपने कॉलेज के तो आप एक फंक्शन बना सकते हैं उसमें जितने भी आपके मार्क्स आ रहे हैं उनको आप ऐड करके अपनी परसेंटेज निकाल सकते हैं नेक्स्ट सवाल जिसको हम सॉल्व कर रहे होंगे राइट अ फंक्शन टू प्रिंट एन टर्म्स ऑफ द फिना सीक्वेंस यह फिना इटालियन वर्ड है इसको फिना की नहीं कहते इसको कहते हैं फिना अब फिना सीक्वेंस एक बहुत फेमस सीक्वेंस है मैथ्स का जो काफी जगह हमारे नेचर में भी फिना सीक्वेंस एक्जिस्ट करता है एक बार इसको सर्च कर लेते फिना सीक्वेंस को फबो नाची सीक्वेंस ये काफी फेमस सीक्वेंस है इस तरीके से कुछ टाइल्स को आप स्क्वेयर की फॉर्म में अरेंज करेंगे तो आपको फिना सीक्वेंस दिख जाएगा या ऐसा सा अगर आपने स्पाइरल देखा होगा कहीं पे तो वह भी फिना स्पाइरल के नाम से जाना जाता है आपको किसी भी प्रोग्रामिंग लैंग्वेज आप सीखने जाए वहां पर आपको फबन सीक्वेंस मिल जाएगा नेचुरल नंबर्स का क्या सीक्वेंस रहता है नटू 3 4 5 6 होल नंबर्स का क्या सीक्वेंस रहता है 0 1 2 3 4 5 6 हमारे ऑड नंबर्स का क्या सीक्वेंस रहता है 1 3 5 7 इवन नंबर्स का 2 4 6 8 10 वैसे ही एक सीक्वेंस होता है नेचर में जिसको फिना सीक्वेंस कहते हैं ये सीक्वेंस कुछ ऐसा दिखता है 0 1 1 2 3 5 8 13 अब जब इसको पहली बार देखते हैं ना ऐसा लगता है रैंडम नंबर लिखे हुए हैं मतलब जो मन किया है वो नंबर इन्होंने स्क्रीन पे लिख दिया है पर पर ऐसा एक्चुअली है नहीं इसको इंडियन मैथमेटिशियंस ने बनाया था और बहुत सोच समझ के सीक्वेंस को बनाया था सीक्वेंस में सबसे पहले आता है रो फिर आता है वन फिर आता है वन फिर टू फिर 3 5 8 13 21 एंड सो ऑन इस सीक्वेंस को थोड़ा सा गौर से देखने के बाद पता चलता है कि हर नंबर अपने पिछले दो नंबर्स का सम है जैसे ये नंबर तो फर्स्ट नंबर तो हमेशा जीरो रहता है सेकंड नंबर हमेशा वन रहता है थर्ड नंबर रो और टू का सम है यानी 0 + 1 = 1 ये फोर्थ नंबर वन और वन का सम है ये थ्री इस वन और 2 का सम है ये फाइव इज टू और थ्री का सम है ये 8 इज थी और फव का सम है 13 5 और ए का सम है 21 8 और 13 का सम है और इस तरीके से पूरा सीक्वेंस चलता रहता है तो यहां पर हर एक नंबर पिछले अपने दो नंबर्स का सम है तो एक तरीके से हम कह सकते हैं कि फिना अगर हमें निकालना हो किसी भी नंबर को मान लो फिना ऑफ टू निकालना है ये है फिना ऑफ़ ज़ीरो ये है फिना ऑफ़ वन ये है फिना ऑफ़ टू ये है फिना ऑफ़ थ्री ये है फबो ऑफ़ फोर एंड सो ऑन तो फबो ऑफ़ टू निकालना है वो हम कह सकते हैं फिना ऑफ़ ़ प्लस फबो ऑफ़ व फिना ऑफ थ्री अगर हमें निकालना है तो उसको हम कह सकते हैं इट इज़ फबो ऑफ़ व प्लस फबो ऑफ़ टू फबो ऑफ़ फर अगर हमें निकालना है तो उसको भी हम कह सकते हैं फिना ऑफ 2 प्स फिना ऑफ 3 तो इससे हमें कॉमन फंक्शन निकलता है अगर किसी भी नंबर का फिना निकालना है तो वह है उससे दो नंबर पहले का एक नंबर पहले का नंबर प्लस उससे दो नंबर पहले का यानी फिना ऑफ़ n - 1 + फोनची ऑफ़ n - 2 एक तरीके से य हमने रिकर्स इव फॉर्मूला निकाल लिया अपने रिकर्स फंक्शन को लिखने का कि फिना एक फंक्शन बना लो जो n के लिए फिना कैलकुलेट करता है अब n वाला तो हमें पता नहीं है पर शायद वह n - 1 और n - 2 वाला उसको पता हो इतना विश्वास कर लेते हैं कि यह दोनों तो निकाल ही देगा तो इन दोनों को कॉल लगा लो इन दोनों को कॉल लगाने के बाद इन दोनों को ऐड करके फिना ऑफ n में स्टोर कर लो तो इस तरीके से हम अपने डिफरेंट फिनाज नंबर्स को करते हैं प्रि इसके लिए कोड लिख लेते हैं कोड लिखकर बेटर हमें समझ में आएगा इस फंक्शन का रिटर्न टाइप है इंटी जर हर लेवल पर यह अपना फिना निकालेगा एनत नंबर का और उसको ऊपर वाले लेवल्स को कर देगा रिटर्न इसको नाम दे देते हैं फि और यह निकालेगा इंट n के लिए फिना सीक्वेंस अब इस कर लेते हैं इस फंक्शन को डिफाइन इंट फिना ऑफ नंबर ए तो फिना का क्या रूल है फि बनाची का यह रूल है पिछले दो नंबर्स का फिना सीक्वेंस में क्या नंबर थे वो निकाल लो और दोनों को ऐड कर दो तो इंट फिना ऑफ n इ टू फिना ऑफ n माइव प्लस फिना ऑफ n-2 अब ये फिना ऑफ n-1 और n-2 पहले कर लेते हैं तो इंट फिना ऑफ n माइव इ फि को कॉल लगा लेते हैं n माइव के लिए तो यह फंक्शन खुद ही को कॉल लगा रहा है यानी रिकजन हो रहा है यहां पर n के लिए कैलकुलेट करना था तो पहले n माइव के लिए कॉल लगा ली और उसको इस वेरिएबल में स्टोर कर लिया अब एक और कॉल लगाएंगे फिना ऑफ n-2 को फि ऑफ n-2 तो अब n माइट के लिए कॉल लगाई और उसको इस वेबल में स्टोर कर लिया और फाइनली दोनों को ऐड करके फिना ऑफ n हमने निकाल लिया अब इस फिना ऑफ n को हम कर लेते हैं प्रिंट फिना ऑफ n यहां पर लिख देंगे पहले परसेंटेज डी इज दोबारा से परसेंटेज डी सबसे पहले लिखेंगे n की वैल्यू यानी n उसके बाद लिखेंगे अपने फिना ऑफ n की वैल्यू को और रिटर्न कर देंगे अपने फिना ऑफ n की वैल्यू को इस फंक्शन से तो ये हो गया हमारा रिकर्स फंक्शन और हर रिकर्स फंक्शन बेस केस के बिना अधूरा होता है यानी गलत होता है अब इसमें बेस केस क्या होगा फबो ऑफ रो और फिना ऑफ वन हमारे पास डिफाइंड होता है तो अगर n की वैल्यू कभी जीरो हो जाती है या फिर n की वैल्यू किसी केस में वन हो जाती है तो वहां पर हमें पता होगा कि n n = 0 के लिए क्या होगा इफ n = 0 उस केस में तो हमें रिटर्न करना है जीरो और अगर हमारे n की वैल्यू वन है तो उस केस में हमें रिटर्न करना है न अब यह हमारा पूरा कोड हो गया फिना को कैलकुलेट करने का रिकसिव कोड यह हमारी बेस कंडीशन होगी बेस केस में क्या करते हैं इन दोनों को अलग-अलग कंडीशन की तरह ही लिख देते हैं इंस्टेड ऑफ राइटिंग वन कंडीशन अगर n हमारा जीरो हो गया है कहीं भी n जीरो हो गया यानी फिना ऑफ जीरो हमें रिटर्न करना है तो वो रो ही होता है अगर कहीं भी n = 1 के लिए देना है तो फबो ऑफ़ वन हमेशा वन होता है अब यहां पे फिना ऑफ वन के लिए हम फबो ऑफ़ ़ और फिना ऑफ़ -1 कैलकुलेट नहीं करेंगे क्योंकि -1 के लिए तो एजिस्ट ही नहीं करता सीक्वेंस ये हमारा बेस केस है यानी वो कंडीशन जो पहले से पता होनी चाहिए फिना में हमें पता होता है जीरो टर्म जरो होता है फर्स्ट टर्म वन होता है ये हमें पहले से पता है ये हमने कैलकुलेट किया है अब मेन फंक्शन के अंदर क्या करेंगे इसको प्रिंट करवा लेंगे यहां पर कॉल लगा लेते हैं अपने फिना ऑफ मान लीजिए हम सिक्स टर्म्स प्रिंट करवाना चाहते हैं इसको कर लेते हैं सेव और इसको करते हैं रन तो य हमारे पास छ टर्म्स की जगह काफी सारी टर्म्स प्रिंट हो गई फिनाज की ऐसा इसलिए हुआ इसका रीजन थोड़ा सा हम डायग्राम से समझते हैं ऐसा क्यों हुआ य इतनी सारी टर्म्स इसलिए प्रिंट हुई क्योंकि जब हम फिना ऑफ पांच मान लीजिए कैलकुलेट करने निकलते हैं तो ये कैलकुलेट करता है पहले फिना ऑफ चार फिर फिना ऑफ तीन और फिना ऑफ चार क्या करता है पहले कैलकुलेट करता है फिना ऑफ तीन फिर फिना ऑफ दो फिना ऑफ तीन पहले कैलकुलेट करता है फिना ऑफ दो और फिर फिना ऑफ वन तो यहां पर ये वाला दो और ये वाला दो दो बार कैलकुलेट हुए हैं तो दो बार प्रिंट हुए हैं अगर तीन की भी बात करें तो एक बार यहां पे तीन का प्रिंट होगा यहां पे तीन का प्रिंट होगा इसीलिए जितनी बार भी कॉल जा रहा है उतनी बार फिना प्रिंट होगा तो दो सेकंड टर्म हमारी वन होती है थर्ड टर्म हमारी टू होती है सेकंड टर्म दोबारा से कॉल हुई वन तो ये हल्का सा कॉम्प्लेक्टेड इसको एक बार दोबारा करते हैं रन और इसको करते हैं सॉल्व तो फिना ऑफ सिक्स जो है वो आठ होता है एक बार फि बनाची सीक्वेंस को लिखते हैं सीक्वेंस कुछ इस तरीके का होता है 0 1 1 2 3 5 8 ये जरूरत टर्म है ये फर्स्ट है ये सेकंड है ये थर्ड है ये फोर्थ है ये फिफ्थ है ये सिक्स्थ है तो सिक्स्थ टर्म सही है हमारी आठ ही होती है फिनाज सीक्वेंस में तो ये हमारा कोड है अपनी सीक्वेंस को लिखने का और काफी सिंपल तरीके से हमने इस कोड को को लिखा है बिल्कुल परेशानी नहीं होनी चाहिए बहुत अच्छे से हमने एक कॉम्प्लेक्शन फिना को समझ लिया है अब ये याद रखना क्योंकि फिना के काफी सारे सवाल आपके आगे पूछ लिए जाते हैं अगला सवाल हम ऑलरेडी सॉल्व कर चुके हैं जो था कि राइट अ फंक्शन टू प्रिंट द एथ टर्म ऑफ द फिना सीक्वेंस वो सवाल हम कर चुके हैं अब एंड टर्म्स को वैसे का वैसा करना हो फिना को अभी हमने रिकर्स से किया है इस सेम चीज को हम लूप से भी कर सकते हैं तो लूप से करना और आसान होगा पर उसको मैं एज अ होमवर्क प्रॉब्लम देना चाहूंगी क्योंकि मैं चाहती हूं इस सवाल को आप खुद से करके देखें कि लूप से हम कैसे इस क्वेश्चन को कर सकते हैं कैसे इस सीरीज को हम लिख सकते हैं तो यह सारे हमने काफी सारे सवाल कर लिए काफी सारे कांसेप्ट पढ़ लिए हैं यहां पर मैं रिक्वेस्ट करूंगी कि एक छोटा सा हल्का सा ब्रेक लेना है थोड़ा सा पानी पी के आना है थोड़ा सा रिफ्रेश करना है और उसके बाद अपनी होमवर्क प्रॉब्लम्स करनी है बैठ के नोट्स को हल्का सा रिवाइज करना है तो अब हम शुरुआत करने वाले हैं अपने चैप्टर सिक्स की जिसका नाम है पॉइंट्स अब पॉइंट्स एक बहुत इंपॉर्टेंट टॉपिक है जब भी हम सी या c+ प् की बात करते हैं बिकॉज़ कोर ऑफ प्रोग्रामिंग हमें सिखा बा है कि मेमोरी में एक्चुअली चीजें चल कैसे रही है हमें हमारे प्रोग्राम के थ्रू इसके साथ-साथ पॉइंट में थोड़ा सा टेढ़ा मेढा टॉपिक है कुछ लोगों को बहुत इंटरेस्टिंग लगता है कुछ लोगों को थोड़ा सा मुश्किल लगता है पर इस वीडियो के अंदर हम पूरी कोशिश कर रहे हैं मतलब मैं पूरी कोशिश कर रही हूं कि मैं पॉइंट्स को बहुत अच्छे से समझा पाऊं जिसके बाद सारे क्वेश्चंस आराम आराम से निकल जाए सारे बेसिक कांसेप्ट हम कवर कर रहे होंगे कुछ सवाल लेंगे जो बिल्कुल कोर ऑफ प्रोग्रामिंग फॉर्म करते हैं तो अच्छे से सवालों को भी सॉल्व करेंगे एंड उसके साथ-साथ कुछ प्रैक्टिस को क्वेश्चंस भी करेंगे जैसे पॉइंट्स का टॉपिक ना दिमाग में बैठ जाएगा हमारे तो शुरुआत करते हैं पॉइंट्स के साथ पॉइंट्स का मतलब होता है अ वेरिएबल दैट स्टोर्स द मेमोरी एड्रेस ऑफ अनदर वेरिएबल यूजुअली क्या होता था हम मेमोरी के अंदर कोई भी एक वेरिएबल बना लेते थे मान लीजिए हमने एक वेरिएबल बनाया इंट ए = 22 ये वेरिएबल एक वैल्यू स्टोर कर रहा है और वो वैल्यू क्या है वो वैल्यू है एक नंबर और यह एक कोई भी नंबर हो सकता है यह एक डाटा वैल्यू है यानी कोई डटा स्टोर कर रहा है पर अगर हमारे दिमाग में किसी दिन आए अब यह सारा का सारा काम मेमोरी के अंदर किस तरीके से हो रहा है यह हमने ऑलरेडी बात की थी कि मेमोरी के अंदर ब्लॉक्स होते हैं ब्लॉक्स के अंदर कुछ डाटा स्टोर होता है उस डाटा जहां भी स्टोर हुआ है उस जगह को हम कुछ नाम दे देते हैं जिस नाम को हम वेरिएबल कहते हैं अब जो भी वो ब्लॉक ऑफ मेमोरी है उसका कुछ एड्रेस होता होगा मेमोरी के अंदर जैसे इस मेमोरी का एड्रेस है 2010 इस मेमोरी का एड्रेस है 2013 हम यहां पर इन ब्लॉक्स के एड्रेस की बात कर रहे हैं इसको कैसे समझ सकते हैं मान लीजिए हमारे पास पूरी की पूरी अर्थ है वो अर्थ हमारी मेमरी है उसके ऊपर डिफरेंट डिफरेंट प्लॉट्स हैं जो अलग-अलग लोगों के पास हैं अब ये हर एक ब्लॉक विजुलाइज कराता है हमें एक प्लॉट ये एक प्लॉट है जिसके ऊपर हमने घर बना लिया है उस घ घर का नाम हमने एज रख दिया है और घर के अंदर रह रहा है नंबर 22 और यह रहा उस घर का एड्रेस 20110 अब कल को इस घर में हम 22 को निकाल कर 21 को भी रख सकते थे या 22 को हटाकर हम 20 को रख सकते हैं घर में कोई भी रह सकता है यानी कोई भी डाटा स्टोर हो सकता है किसी भी मेमोरी लोकेशन के अंदर और इसका नाम भी बदल सकते हैं अब शाहरुख खान के घर का नाम मन्नत है तो अंबानी के घर का नाम कुछ और है तो यहां पर हम एज को हटा के कुछ भी वेरिएबल का नाम रख सकते हैं लेकिन अर्थ के ऊपर जो प्लॉट है जो वो लैंड है कहीं पर अगर कोई खेत है तो वो तो वहीं रहेगा ना वो लैंड वहीं पर रहेगी इसीलिए ये मेमोरी ब्लॉक वहीं का वहीं रहेगा और उसका एड्रेस हमेशा फिक्स्ड होता है जब हमारे मदर ब आते हैं ना कंप्यूटर के तो उसके ऊपर ऑलरेडी फिक्स्ड होता है कि क्या एड्रेस होने वाला है अब ये जो एड्रेस है जरूरी नहीं है 20110 हो या 2000 हो ये कुछ भी हो सकता है हो सकता है आपकी मशीन में अलग तरीके से एड्रेस लिखे जाते हो और मेरी मशीन में अलग तरीके से एड्रेस लिखे जाते हो ये कंप्लीट डिपेंड करता है कि आप कौन सी मशीन यूज कर रहे हैं वो 32 बिट की है 64 बिट की है किस तरीके का आपका सिस्टम है किस तरीके का मेरा सिस्टम है तो उसकी टेंशन नहीं लेनी एड्रेस कुछ भी हो सकता है तो वो कोई फिक्स नंबर नहीं है जब भी आपसे क्वेश्चन पेपर में पूछा जाएगा किसी कॉलेज के टेस्ट के अंदर तो उसमें कुछ भी एड्रेस हो सकता है अगर आपसे इंटरव्यूअर पूछ रहा है तो उसको भी आपको बताना पड़ेगा कि एड्रेस क्या है क्योंकि कोई फिक्स्ड फॉर्मेट नहीं होता पर आई होप कि यहां पर ये चीज हमारे पास क्लियर हो गई होगी कि जब भी कोई वेरिएबल क्रिएट होता है तो उसके अंदर एक डेटा वैल्यू स्टोर होती है उस वेरिएबल का नाम मेमोरी लोकेशन के पास जाता है और मेमोरी लोकेशन का एक एड्रेस होता है पर आज हमारा मन किया कि हम एक वेरिएबल में डेटा वैल्यू यानी ये 22 हमें स्टोर नहीं कराना हमें स्टोर कराना है एक मेमोरी लोकेशन एक मेमोरी एड्रेस तो जिस भी वेरिएबल में हम वो मेमोरी एड्रेस को स्टोर कराएंगे उस वेरिएबल को हम नाम देते हैं पॉइंटर जैसे अगर हमें इस एज वेरिएबल का मेमोरी एड्रेस कहीं पर स्टोर कराना होगा तो उसके लिए हम एक नया वेरिएबल बनाएंगे मान लीजिए इस वेरिएबल का नाम हमने दिया है पीटीआर व्हिच इज शॉर्ट फॉर पॉइंटर अब इसके अंदर स्टोर होगा मेमोरी एड्रेस यानी 2010 जो एज का मेमोरी एड्रेस है पर इसका अपना खुद का भी तो एक मेमोरी एड्रेस होगा क्योंकि ये लोकेशन भी तो कहीं ना कहीं एजिस्ट करेगी ये ये भी तो एक वेरिएबल ही है बस ये एक ऐसा वेरिएबल है जो दूसरे वेरिएबल का मेमोरी एड्रेस स्टोर करा रहा है तो आई होप कि बेसिक चीज हमें समझ में आई होगी अब वेरिएबल दैट स्टोर्स द मेमोरी एड्रेस ऑफ अनदर वेरिएबल इज अ पॉइंटर अब पॉइंट्स लिखने का एक सिंटेक्स होता है पॉइंट्स को हम नॉर्मल वेरिएबल की तरह नहीं लिख सकते क्योंकि हमें कंपाइलर को पहले से बताना पड़ता है कि ये जो वेरिएबल हम लिख रहे हैं ये नॉर्मल वैल्यू स्टोर नहीं करता ये एक मेमोरी एड्रेस की वैल्यू स्टोर करता है व्हिच इज अ स्पेशल वैल्यू तो उसको लिखने का सिंटेक्स ऐसा रहता है कि नॉर्मल वेरिएबल को हम लिखते हैं इंट ए इ इक्वल 22 पर पॉइंटर के लिए हम जब भी एक पॉइंटर बनाते हैं तो इंट के साथ हम एक एस्टरिस लगाते हैं एक स्टार लगाते हैं फिर हम अपने पॉइंटर वेरिएबल का नाम लिखते हैं फिर लिखते हैं इज इक्वल टू एंड का सिंबल और एज यानी यह पॉइंटर एक वेरिएबल है जो इस एज का एड्रेस स्टोर कर रहा है यहां पर हमने दो नई चीजें सीखी एक तो ये स्टार ये स्टार जो होता है इसको हम कहते हैं वैल्यू एट एड्रेस ऑपरेटर वैल्यू एट एड्रेस ऑपरेटर और ये जो एम परसेंट होता है इसको हम कहते हैं एड्रेस ऑफ ऑपरेटर जिसके भी सामने हम ये एंड लगा देते हैं हमें उसका एड्रेस मिल जाता है जिसके भी सामने स्टार लगा देते हैं हमें उसकी वैल्यू मिल जाती है इसका क्या मतलब हुआ यहां पर हमने पॉइंटर एक वेरिएबल बनाया एक पॉइंटर वेरिएबल बनाया कैसे पता चला पॉइंटर वेरिएबल है क्योंकि एस्ट रिस्क लगता है पॉइंटर वेरिएबल के सिंटेक्स में और उसको क्या कर दिया एड्रेस ऑफ एज यानी एज का जो भी एड्रेस था वो अब इस पॉइंटर के अंदर जाकर स्टोर हो गया यानी मेमोरी के अंदर यह लोकेशन आ गई जहां पर पॉइंटर वेरिएबल आ गया और उसके अंदर स्टोर हो गया एज का एड्रेस दैट इज 2010 और अब अगर हम देखना चाहे कि पॉइंटर जिस एड्रेस को स्टोर करा रहा है वहां पर क्या वैल्यू स्टोर्ड है तो उसके लिए हम यूज कर सकते हैं यह वाला ऑपरेटर यानी यहां पर हम एक नया वेरिएबल बना रहे हैं अंडरस्कोर एज जिसके अंदर हम स्टोर करवा रहे हैं वैल्यू ट एड्रेस पीटीआर यानी पॉइंटर के अंदर जो भी एड्रेस है उसकी वैल्यू निकाल लो और उस नए वेरिएबल में स्टोर कर लो तो क्या होगा सबसे पहले तो ये नया वेरिएबल बनेगा नया वेरिएबल का नाम होगा अंडर एज इसका कुछ और एड्रेस हो सकता है मान लीजिए दिस इज 2011 अब इसके अंदर पॉइंटर पर जो भी एड्रेस स्टोर है उसकी वैल्यू वैल्यू एट एड्रेस व्हिच इज स्टोर्ड एट पॉइंटर पॉइंटर में एड्रेस स्टोर्ड है 210 तो हम 210 पे जाएंगे देखेंगे वहां कौन सी वैल्यू है तो पॉइंटर के के पास स्टोर्ड है वैल्यू 210 और 20110 पर कौन सी वैल्यू स्टोर्ड है तो 210 पे हम चले जाएंगे वहां पे वैल्यू स्टोर्ड है हमारी 22 तो उस 22 वैल्यू को उठा के ले आएंगे और उसको नए वाले अंडरस्कोर रेज में डाल देंगे एक बार हल्का सा रीकैप कर लेते हैं हमने एक ओरिजिनल वेरिएबल बनाया इंट ए = 22 हम अपने पॉइंटर को कैसे डिक्लेयर करते हैं लिखते हैं इंट स्टार इंट स्टार लिखेंगे तो इंटी जर की वैल्यू स्टोर करवाने वाला पॉइंटर आ जाएगा हमारे पास उसका हमने नाम दे दिया पीटीआर उसमें स्टोर करवा या एज का एड्रेस अब अगर यहां पर पॉइंटर पर जो एड्रेस है उस पर रखी हुई वैल्यू को एक्सेस करना है तो उसके लिए यूज करेंगे स्टार ऑपरेटर जिसको हम कहते हैं वैल्यू एट एड्रेस ऑपरेटर यानी ये उस पॉइंटर में स्टोर्ड जो भी एड्रेस होगा उसकी वैल्यू को निकाल कर ले आएगा तो इसने 2 10 की वैल्यू यानी 22 को निकाल कर ये ले आया और 22 को हमने असाइन कर दिया अपने नए वेरिएबल एज को तो वो यहां पर जाकर स्टोर हो गया तो इस तरीके से हमारे पॉइंट्स वर्क करते हैं एक बार हल्का सा इसका छोटा सा कोड लिखकर देख लेते हैं सबसे पहले डिक्लेयर करेंगे एक वेरिएबल एज जिसमें स्टोर करवा रहे हैं 22 अब उसके बाद हम क्रिएट करने वाले हैं एक इंटी जर पॉइंटर इंट स्टार पटी इ m पर एज अब यहां पर इस स्टार को हम इंटी जर के साथ भी लगा सकते हैं या फिर अपने वेरिएबल के साथ भी लगा सकते हैं दोनों सिंटेक्स ठीक है एंड उसके बाद हम क्या करेंगे एक नया वेरिएबल बनाएंगे अंडरस्कोर एज और इसमें लिख देंगे स्टार पीटीआर एक बार क्या करेंगे इसकी वैल्यू प्रिंट करवाते हैं परसेंटेज डी अ ए सेव एंड रन तो यहां पर हमारे पास 22 प्रिंट होकर आया है हल्का सा समझते हैं क्या हुआ हमारे पास हमने एक वेरिएबल बनाया था एज 22 उसके लिए हमने एक पॉइंटर बनाया पॉइंटर क्या होता है उस मेमोरी लोकेशन को पॉइंट करता है एज की जो मेमोरी है लोकेशन है उसका एड्रेस उसने अपने अंदर स्टोर करवा लिया अब अगर उस एड्रेस पर जो वैल्यू स्टोर्ड है उसको हमें एक्सेस करना है पॉइंटर पर जो एड्रेस है उसकी वैल्यू हम इससे निकाल लेंगे और वो वैल्यू हमने एज में डाल दी नए वाले एज में तो नए वाले एज को जब प्रिंट करवाया तो पुराने वाली वैल्यू हमारे पास वापस आ गई क्योंकि वही हमने यहां पर स्टोर करा दी थी तो 22 हमारे पास प्रिंट होकर आ गया तो कुछ इस तरीके से हमारे पॉइंटर का सिंटेक्स वर्क करता है अब एक बार क्या करते हैं हल्का सा डिटेल में बात करते हैं कि पॉइंट्स को हम डिक्लेयर किस तरीके से करते हैं हम बिल्कुल बेसिक से और बहुत ही आराम से पढ़ रहे हैं हर चीज को मैं एमफसा इज कर रही हूं एक-एक दो-दो बार बताने का क्योंकि उससे चीजें जो है ना दिमाग में बैठ जाएंगी तो फिर आपको बार-बार बार-बार रिवीजन की जरूरत नहीं पड़ेगी दो-तीन बार सेम चीज हम सुन लेते हैं ना तो वो दिमाग में बैठ जाती है अब सबसे पहले जब पॉइंट्स को डिक्लेयर करते हैं तो पॉइंटर को डिक्लेयर करने का उसका जो टाइप होता है वो डिपेंड करता है कि आप किस वेरिएबल की तरफ पॉइंट करवाना चाह रहे हैं मतलब आप इंटी जर वेरिएबल का एड्रेस स्टोर कराएंगे तो आपको लिखना पड़ेगा इंट स्टार पीटीआर अगर आप कैरेक्टर वेरिएबल का एड्रेस स्टोर कराएंगे तो लिखना पड़ेगा कैरेक्टर स्टार पीटीआर अगर आप फ्लोटिंग वेरिएबल का एड्रेस स्टोर करवाएंगे पॉइंटर के अंदर तो लिखना पड़ेगा फ्लोट स्टार पीटीआर यानी इंट एज इ इक्व ट 22 अगर इसका एड्रेस स्टोर कराना है एज का तो हम ये यूज करेंगे अगर हमने लिखा है कैरेक्टर स्टार इ इक्वल टू एस्ट रिस्क इसका एड्रेस स्टोर करवाना है वेरिएबल का तो हम ये लिखेंगे और अगर हमने लिखा है फ्लोट प्राइस इ इक्वल टू ₹1 तो इसका अगर हमें एड्रेस स्टोर कराना है प्राइस का तो हम यह लिख रहे होंगे जो पॉइंटर का टाइप होता है वह डिपेंड करता है कि किस टाइप का आपने उसके अंदर एड्रेस स्टोर कराया है अगर आपने इंटी जर टाइप का एड्रेस स्टोर कराया तो आपको इंट लिखना पड़ेगा कैरेक्टर टाइप का स्टोर कराया तो कैरेक्टर स्टार लिखना पड़ेगा फ्लोटिंग टाइप का स्टोर कराया तो आपको फ्लोट स्टार लिखना पड़ेगा नेक्स्ट चीज जिसकी हम बात करेंगे वो है फॉर्मेट अब पॉइंट्स को जब भी हम प्रिंट करवाते हैं ना पॉइंटर नॉर्मल वेरिएबल नहीं होते अगर आपने इंट स्टार पीटीआर लिख दिया तो ऐसा नहीं है कि आप जब भी उसको प्रिंट करवाएंगे तो आप परसेंटेज d लिख पाएंगे क्योंकि उसके अंदर एक इंटी जर वैल्यू स्टोर्ड नहीं है उसके अंदर एक एड्रेस स्टोर्ड है और एड्रेस का अपना एक टाइप होता है एड्रेस के टाइप के लिए हमें लिखना पड़ता है परसेंटेज p परसेंटेज p का मतलब होता है c के अंदर पॉइंटर एड्रेस अब यह वाला स्पेसिफीज यूज करते हैं पर जब भी आप परसेंटेज p लिखेंगे ना एक अजीब सी वैल्यू प्रिंट होगी वो हम लिखकर देखेंगे कैसे प्रिंट होगी पर वो जो अजीब सी वैल्यू प्रिंट होती है ना उसको कभी-कभी हम परसेंटेज य की हेल्प से भी लिख देते हैं यानी यहां पर हमारे पास यूजुअली हेक्साडेसिमल वैल्यू आ जाएगी अगर सिस्टम में हेक्साडेसिमल फॉर्म में पॉइंटर का एड्रेस स्टोर्ड है तो पर अगर हमें नॉर्मल नंबर्स की फॉर्म में चाहिए तो उसको हम टाइप कास्ट कर देते हैं ये परसेंटेज य होता है अनसाइंड इंट के लिए और परसेंटेज प होता है हमारे पॉइंटर एड्रेस के लिए तो कभी-कभी पॉइंटर एड्रेस अजीब सा ना दिखे इसलिए उसको परसेंटेज यू करके भी हम प्रिंट करवाते हैं हम दोनों सीख रहे होंगे दोनों को करके देखेंगे दोनों में डिफरेंसेस भी समझेंगे कोड की हेल्प से सबसे पहले क्या करते हैं अपने थोड़े से सिंटेक्स को हम देखते हैं सबसे पहले देखेंगे इस लाइन को इसमें लिखा है प्रिंट ए परसेंटेज p मतलब हम एक पॉइंटर की वैल्यू को प्रिंट करवाने वाले हैं एक मेमोरी एड्रेस को प्रिंट करवाने वाले हैं उसके बाद लिखा है एंड एज जब भी हम एंड लिखते हैं और उसके बाद एक वेरि का नाम लिखते हैं मतलब एंड इज एड्रेस ऑफ तो हमें उस वेरिएबल का एड्रेस मिल जाता है अब एड्रेस का टाइप क्या होता है परसेंटेज p तो हम एड्रेस प्रिंट करवा देंगे नेक्स्ट लाइन में हमने लिखा है पीटीआर अब पॉइंटर भी तो वही करेगा ना अगर एम परसेंट एज हमें एड्रेस देता है तो पॉइंटर भी हमें एड्रेस देता है तो उसमें भी परसेंटेज p और अगर हम लिखना चाहें एड्रेस ऑफ पॉइंटर यानी पॉइंटर का भी तो कोई एड्रेस होगा जैसे एज का कोई एड्रेस था तो एज का एड्रेस हमने पॉइंटर में स्टोर करा दिया पर पॉइंटर भी तो किसी लैंड पर खड़ा है ना पॉइंटर के पास भी अपना खुद का प्लॉट है तो उसका भी कोई एड्रेस होगा उस एड्रेस को भी अगर हमें प्रिंट करवाना है तो उसके लिए भी परसेंटेज प हम यूज करेंगे इसीलिए यहां पे स्पेसिफाइड करके देखते हैं तो हमने क्या किया है एक वेरिएबल बना रखा है जिसके अंदर 22 है और एक पॉइंटर के अंदर उस वेरिएबल का एड्रेस स्टोर करा रखा है अब एक एक करके चीजों को प्रिंट करवाएंगे सबसे पहले हम प्रिंटिंग सीख रहे हैं एड्रेस की कि एड्रेस को कैसे प्रिंट करवाते हैं तो लिखेंगे परसेंटेज प उसके बाद लिखेंगे एम परसेंट एज इसको कर लेते हैं सेव और इसको करते हैं एक बार रन तो यह कुछ वैल्यू हमारे पास आई है यहां पर एक बै स्ल ए भी लगा लेते हैं यह जो वैल्यू है यह एज के एड्रेस की वैल्यू है ये जो फॉर्मेट है इसको हेक्साडेसिमल फॉर्मेट कहते हैं अब हो सकता है आप अप मशीन में जब प्रिंट करें तो आपको कोई दूसरी अलग वैल्यू आए तो उसमें परेशानी की बात नहीं है अलग-अलग सिस्टम्स के हिसाब से अलग-अलग मेमोरी एड्रेस होते हैं तो आपका एड्रेस और मेरा एड्रेस बिल्कुल अलग हो सकता है सेम वेरिएबल के लिए उसमें परेशानी की बात नहीं है पर ये जो फॉर्मेट है ना इसको पढ़ने में थोड़ी सी तकलीफ आती है तो हम क्या कर सकते हैं अपने पूरे के पूरे एड्रेस को हेक्साडेसिमल से कन्वर्ट करके अनसाइंड इंट में कन्वर्ट कर सकते हैं अगर अनसाइंड इन में कन्वर्ट करेंगे वैसे तो वार्निंग थ्रो करेगा कि ये सही तरीका नहीं है इन चीजों को करने का पर पढ़ने में आसानी हो इसीलिए इस एड्रेस को इसने क्या किया इस नंबर में कन्वर्ट कर दिया तो हम यहां पर देखें तो इसको हम अजूम कर सकते हैं कि यह हमारा मेमोरी एड्रेस है अब चाहे हम परसेंटेज प प्रिंट करें परसेंटेज य हमारे लिए एड्रेस सेंस नहीं बनाएगा पर एक चीज पता चल गई कि एड्रेस यह है अब क्या करेंगे सेम चीज करके देखेंगे पीटीआर के लिए इस परसेंटेज प को कर देते हैं कॉमेंट आउट प्रिंट एफ परसेंटेज यू ए एंड पीटीआर इसको कर लेते हैं सेव ये कुछ वार्निंग्स थ्रो हो रही है पर इनको हम इग्नोर करेंगे यहां पे हमें एक चीज दिख गई कि जब हमने एड्रेस एज का प्रिंट करवाया तब जो वैल्यू प्रिंट हुई और जब हमने पीटीआर को प्रिंट करवाया पीटीआर यानी इस वेरिएबल की वैल्यू को प्रिंट करवाया तो ये दोनों सेम है सेम इसलिए है क्योंकि एज का जो भी एड्रेस था वो अब अल्टीमेटली पीटीआर के अंदर ही जाके स्टोर हो गया है तो इसी वजह से दोनों वैल्यूज सेम है और इसके बाद अगर हम प्रिंट करवाना चाहे अपने पीटीआर के एड्रेस को तो उसके लिए क्या लिखेंगे एम पर यानी एड्रेस ऑफ पीटीआर इसको भी कर लेते हैं सेव अब इसको रन करते हैं ये फर्स्ट और सेकंड जो वैल्यू है ये दोनों सेम है क्योंकि एज और पीटीआर दोनों सेम वैल्यू होल्ड करते हैं पर जब भी पीटीआर का एड्रेस प्रिंट करवाएंगे ये वैल्यू अलग है इसमें आप नोटिस करेंगे लास्ट के जो दो डिजिट्स हैं ये अलग हैं इन दोनों में सेम है तो इन दोनों में सेम सेम एड्रेस वैल्यू है और इसकी जो एड्रेस वैल्यू है यानी पीटीआर का जो एड्रेस है वो अलग है तो कुछ इस तरीके से हम अपना एड्रेस जो है उसको प्रिंट करवाते हैं नेक्स्ट बात करते हैं कि पॉइंटर पर जो एड्रेस स्टोर्ड है उसकी वैल्यू कैसे प्रिंट करवाते हैं तो इसमें हम सीख रहे होंगे वैल्यू एट एड्रेस ऑपरेटर के बारे में अब सबसे पहले अगर हमें एज की वैल्यू प्रिंट करवानी है तो हमें ऑलरेडी पता है कि हमें परसेंटेज डी करने की जरूरत है क्योंकि एज इंटी जर टाइप की वैल्यू होल्ड करता है तो हम लिख देंगे परसेंटेज डी ये सबसे नॉर्मल है पर अगर हमें पॉइंट वैल्यू एट पॉइंटर प्रिंट करवानी है तो हम उसके आगे लगा देंगे स्टार ये एस्टरिस का मतलब है वैल्यू एट एड्रेस तो पॉइंटर के अंदर जो भी एड्रेस होगा उस एड्रेस के ऊपर जो भी वैल्यू होगी उसको वो प्रिंट करवा देगा तो हमें पता है कि पॉइंटर के अंदर हमारा एड्रेस है 1020 और 1020 के ऊपर स्टोर्ड है हमारा एज वेरिएबल जिसमें है हमारी एज 22 तो क्या करेगा पहले इस एड्रेस पे जाएगा फिर इस एड्रेस पे वैल्यू पे जाएगा फिर इस वैल्यू को वो प्रिंट करवा देगा तो यहां पे भी 22 प्रिंट होगा यहां पे भी 22 प्रिंट होगा अब एक और हल्का सा दोनों का कॉमिनेशन देख लेते हैं यहां पे सबसे पहले हमने लिखा एड्रेस ऑफ एज तो यहां से हमारे पास एज का एड्रेस आ गया फिर हमने लिखा स्टार एरिक्स वैल्यू एट दैट एड्रेस तो एज का एड्रेस आया है 210 ये बोलेगा उस पर जो वैल्यू है वो मुझे दे दो तो 2 10 पर क्या वैल्यू है तो यहां पर आ जाएगा सबसे पहले एज का एड्रेस एज का एड्रेस है 1020 और ये कह देगा वैल्यू एट 1020 मुझे दे दो आई वैल्यू एट 1020 क्या है ये 22 तो यहां पे भी हमारे पास 22 ही प्रिंट होगा इसको कोड से वेरीफाई करके देख लेते हैं सबसे पहले हमने एड्रेस कैसे प्रिंट करता है वो सीखा था अब हम सीखेंगे वैल्यू कैसे प्रिंट करते हैं तो वैल्यू प्रिंट करने के लिए सबसे पहले लिखेंगे प्रिंट एफ परसेंटेज डी क्योंकि हर बार हम वैल्यू प्रिंट करने वाले हैं तो हर बार टाइप हमारा परसेंटेज डी रहेगा सबसे पहले एज प्रिंट करते हैं बैक स्ल ए कंट्रोल s एज को प्रिंट किया तो हमारे पास 22 नॉर्मली प्रिंट होकर आ गया पर अब हम क्या करने वाले हैं अब हम पॉइंटर पर जो एड्रेस है उसकी वैल्यू को स्टोर करेंगे इनफैक्ट इसको कर लेते हैं कंट्रोल सी कंट्रोल व एंड कंट्रोल यहां पे लिखेंगे वैल्यू एट एड्रेस पीटीआर और यहां लिखेंगे वैल्यू एट एड्रेस एड्रेस ऑफ ए इन दोनों को कर लेते हैं सेव एंड रन तो हमारे पास हर बार 22 प्रिंट होकर आया क्योंकि चाहे हम कुछ भी कोई भी सिंटेक्स लिख रहे हैं इन सब में से हमारे पास अल्टीमेटली हम पहुंच तो उसी एड्रेस प रहे हैं उसी प्लॉट पे पहुंच रहे हैं चाहे इस घर से होके जाए डायरेक्टली उसी के घर पे पहुंच जाए पहुंच हम फाइनल उसी प्लॉट पे रहे हैं इसीलिए हर बार उसी प्लॉट में रहने वाले लोगों की वैल्यू को प्रिंट करा रहे हैं मतलब 22 को प्रिंट करवा रहे हैं तो आई होप कि हमें ये वाला सिंटेक्स भी क्लियर होगा कि एस्ट रिस्क पीटीआर मतलब पॉइंटर वैल्यू ट एड्रेस अगर हम लगा दें पॉइंटर के सामने तो कौन सी वैल्यू प्रिंट होती है और एस्टरिस को अगर एम परसेंट एज के सामने लगा दें मतलब एड्रेस निकाल ले और फिर एस्ट रिस्क लगाए तो कौन सी वैल्यू प्रिंट होती है नेक्स्ट चीज जिसकी हम बात कर रहे होंगे वो है एक प्रैक्टिस क्वेश्चन जिससे चीजें और क्लियर हो जाएंगी इस क्वेश्चन में हमें आउटपुट फाइंड आउट करना है क्वेश्चन हमारा कुछ ऐसा है कि सबसे पहले हमने क्या किया है एक पॉइंटर बनाया है पीटीआर नाम से और एक इंटी जर बनाया है x अब पॉइंटर के अंदर हमने x का एड्रेस डाल दिया है इसको हल्का सा मेमोरी से विजुलाइज करते हैं हमारे पास है एक पॉइंटर और हमारे पास है एक वेरिएबल x अब x का जो एड्रेस है मान लीजिए एड्रेस कुछ भी हो सकता है 2000 है ये एड्रेस इसको हमने पॉइंटर के अंदर ऑलरेडी स्टोर करा दिया है और एस्ट रिस्क पीटीआर में हमने स्टोर करा दी है वैल्यू जीरो एस्ट रिस्क पीटीआर मतलब वैल्यू एट एड्रेस ऑफ पीटीआर पीटीआर में कौन सा एड्रेस है 2000 तो एस्ट रिस्क पीटीआर क्या होगा x यानी 2000 2000 के अंदर स्टोर करा दिया है हमने जीरो यहां पर कुछ ऐसा हुआ है हमारी यह वाली लाइन बहुत इंपॉर्टेंट है जिसको हमें ध्यान देने की जरूरत है इस लाइन में क्या हो रहा है पीटीआर के अंदर जो भी एड्रेस है हम उस एड्रेस पर जाएंगे और वहां पे जीरो स्टोर करा देंगे पीटीआर के अंदर 2000 है तो हम 2000 पे जाएंगे और वहां पे जीरो स्टोर करा देंगे तो इस तरीके का काम हमने किया है यहां पे अब क्या कर रहे हैं x की वैल्यू को प्रिंट कर रहे हैं और पीटीआर की वैल्यू को प्रिंट कर रहे हैं तो यहां पर x की वैल्यू हमारे पास क्या आएगी x की वैल्यू आएगी 0 क्योंकि हमने x में इनडायरेक्टली रो स्टोर करा दिया आप नोटिस करेंगे यहां पे कोई भी लाइन ऐसी नहीं है जिसमें x इ टू समथिंग लिखा हो पर हमने फिर भी x में वैल्यू असाइन कर दी कैसे असाइन कर दी इस लाइन की हेल्प से क्योंकि यहां पर इनडायरेक्टली हमने x को एक्सेस कर लिया है उसके एड्रेस की फॉर्म में तो यहां पे ज़ीरो प्रिंट होगा और वैल्यू एट पीटीआर मतलब पीटीआर के अंदर जो एड्रेस है उसपे आप चले जाओ और वहां पे स्टोर्ड वैल्यू का आप स्टोर करा दो तो यह भी जरू नेक्स्ट हमने क्या किया इतने पार्ट को ना इस पार्ट को हम कोड कर लेते हैं और इसको कर लेते हैं वेरीफाई सबसे पहले एक इंटी जर वेरिएबल बना लेते हैं जिसमें स्टोर करा रहे हैं हम कुछ भी नहीं शुरुआत में और उसके अलावा एक पॉइंटर बना लेते हैं पीटीआर नाम से अब पीटीआर के अंदर हम क्या कर रहे हैं स्टोर करवा रहे हैं हमारे एक्स का एड्रेस और फिर इनडायरेक्टली पीटीआर पर जो एड्रेस है उस एड्रेस के अंदर स्टोर करा रहे हैं हम जीरो तो सबसे पहले हम प्रिंट करने की कोशिश करेंगे परसेंटेज डी ब n x की वैल्यू को एंड उसके बाद हम प्रिंट करने की कोशिश करेंगे अपने स्टार पीटीआर को यहां पर लिख देते हैं x इ स्टार पीटीआर इ तो अब हमने ऑलरेडी डिस्कस कर लिया है कि इस लाइन की वजह से हमारी जो x की वैल्यू है वो जीरो आ चुकी है तो यहां पर भी हमारे पास जीरो प्रिंट होना चाहिए और यहां पर भी हमारे पास जीरो प्रिंट होना चाहिए तो इसको सेव करके वेरीफाई कर लेते हैं तो हमारे पास दोनों केसेस में जीरो प्रिंट हुआ है क्योंकि दोनों वैल्यू जीरो है अब नेक्स्ट लाइन की तरफ बढ़ते हैं नेक्स्ट लाइन इससे भी ज्यादा इंपॉर्टेंट लगती है मुझे नेक्स्ट लाइन कहती है स्टार पीटीआर + = 5 इस लाइन को भी कर लेते हैं इंपॉर्टेंट मार्क थोड़ा सा इसको ब्रेक अप करें तो ये कहती है स्टार पीटीआर = स्टार पीटीआर + 5 ये कहने का क्या मतलब हुआ कि पॉइंटर में जो एड्रेस है मतलब वैल्यूड एड्रेस एट पॉइंटर मतलब 2000 जो भी एड्रेस है यहां पर स्टार पीटीआर हम जब भी लिख रहे हैं उसका मतलब है x स्टार पीटीआर क्या है एड्रेस ऑफ x तो x पर जो भी वैल्यू है उसमें आप फ ऐड कर दो और उसको वापस से इसका मतलब भी x है x में असाइन कर दो तो क्या होगा इस लाइन का बेसिकली मतलब है x + = 5 तो x के अंदर क्या वैल्यू थी 0 रो में हमने ऐड किया फ तो यहां पर इस लाइन की मदद से हमारी x की वैल्यू हो जाएगी 5 अब x की वैल्यू फ होगी तो यहां पर हमारे लिए प्रिंट होगा फ और स्टार पीटीआर भी क्या होगा मतलब वैल्यू एट एड्रेस पीटीआर पे तो x का एड्रेस है तो x की वैल्यू दोबारा से प्रिंट होगी च्च इज 5 इसको भी हम वेरीफाई कर लेते हैं अपने कोड में यहां पर हम लिखेंगे स्टार पीटीआर प्स इक्ट 5 और अब लगाएंगे अपनी प्रिंट स्टेटमेंट इस लाइन की मदद से हमारे जो x की वैल्यू है है वो फाइव बन गई है तो यहां पे भी प्रिंट होगा फाइव और यहां पे भी प्रिंट होगा हमारे पास फाइव इसको भी वेरीफाई कर लेते हैं अब हमारे पास दोनों वैल्यूज जो हैं पहले जीरो थी अब फाइव हो गई है नेक्स्ट चीज जिसकी बात करेंगे नेक्स्ट लाइन थोड़ी सी और इंपॉर्टेंट है देखते हैं कैसे अब यहां पर हम कर रहे हैं इंक्रीमेंट ऑपरेटर का इस्तेमाल ये इंक्रीमेंट ऑपरेटर क्या कर रहा है इसको ब्रेक डाउन करें तो स्टार पीटीआर = स्टार पटी + 1 इस तरीके का मतलब है और हमने डिस्कस किया जब भी स्टार पीटीआर आए उसका मतलब वेरिएबल ही होता है स्टार पीटीआर यानी x + 1 = x तो x की वैल्यू हो जाएगी पहले फव थी तो अब हो जाएगी 6 तो यहां पर भी x की वैल्यू सिक्स प्रिंट होगी और यहां पर भी स्टार पीटीआर यानी x की वैल्यू प्रिंट हो गई 6 इन लाइनों को भी एक बार लिख लेते हैं दोबारा स्टार पीटीआर प्लस प्लस आप नोटिस करेंगे कि स्टार पीटीआर एक साथ है और प्लस प्लस ब्रैकेट के बाद यानी स्टार पीटीआर का प्लस हो रहा है पीटीआर का प्लस नहीं हो रहा तो पॉइंटर प्लस प्लस नहीं हो रहा स्टार पीटीआर पॉइंटर पे जो एड्रेस है उस पर जो वैल्यू है वो वैल्यू प्लस प्लस हो रही है यहां पे करवा लेते हैं अपनी वैल्यू प्रिंट हमारे पास सिक्स आना चाहिए और यहां पर भी प्रिंट होकर आना चाहिए सिक्स दोबारा से इसको कंपाइल एंड रन तो अब हमारे पास एंड में आया है सिक्स एंड स्टार पीटीआर भी सिक्स तो पॉइंटर को लिखते कैसे हैं पॉइंटर में क्या वैल्यू स्टोर होती है उसको कैसे प्रिंट करवाना है वेरिएबल का एड्रेस कैसे निकालना है एड्रेस से वेरिएबल की वैल्यू कैसे निकालनी है पॉइंटर पर जो एड्रेस टोड है उससे वैल्यू कैसे निकालनी है हमने काफी सारी चीजें एक्सप्लोर कर ली है और ये जो सवाल है ना आपसे पॉइंटर के सवाल चाहे आपके कॉलेज वाले पूछे जाए रिक्रूटर पूछे इसी ना इसी फॉर्म में होंगे इसी का कोई फॉर्म चेंज देके का आपको कहीं पर एम पर लगा के दे देंगे कहीं एस्ट रिस्क लगा के दे देंगे कहीं आपको एड्रेस निकालने को कह देंगे कहीं वैल्युएट एड्रेस निकालने को कह देंगे और इसी कंफ्यूजन में मोस्टली बच्चे जाते हैं बेस्ट तरीका यह है हमने जो बेसिक अभी डिस्कस किए हैं उनको एक बार देख लें और अगर हल्का सा भी कंफ्यूजन है तो एक बार और देख लें उसके बाद सवाल ढेर सारे कर ले पॉइंट्स पे एक बार हम बहुत सारे सवाल कर लेते हैं ना स्पेशली पेपर से एक दिन पहले या अपने इंटरव्यू से एक दिन पहले तो सारी चीजें क्लियर हो जाएंगी पॉइंट्स के बारे में अब नेक्स्ट चीज जिसकी हम बात करेंगे वो है पॉइंटर टू पॉइंटर पॉइंटर टू पॉइंटर एक ऐसा वेरिएबल है जो दूसरे पॉइंटर का एड्रेस स्टोर करा रहा है तो वेरिएबल दैट स्टोर्स द मेमोरी एड्रेस ऑफ अनदर पॉइंट जैसे एग्जांपल के तौर पर हमारी मेमोरी है इसके अंदर सबसे पहले हमने एक वेरिएबल बनाया ए जिसके अंदर स्टोर्ड है 22 इस वेरिएबल का जो एड्रेस है वो है 210 अब हमने एक नया पॉइंटर बनाया पीटीआर इसके अंदर हमने क्या सोचा कि इसको पॉइंट करवा देते हैं एज की तरफ तो एज का जो एड्रेस है 20110 वो यहां पे आ जाएगा अब इस पॉइंटर का भी तो कुछ एड्रेस होगा ना 20113 जैसे हमने प्रिंट करवा के देखा था तो कुछ वैल्यू आई थी अब हम चाहते हैं इस पॉइंटर के भी एड्रेस को हम किसी नए वेरिएबल में स्टोर करा दें उसको कैसे स्टोर कराएंगे हम एक नया वेरिएबल बनाएंगे पॉइंटर टू पॉइंटर पी पीटीआर इसके अंदर हम स्टोर करा देंगे पीटीआर की एड्रेस को तो यहां पे 20113 आकर स्टोर हो जाएगा और इसका भी अपना कुछ एड्रेस होगा अब ये चेन जो है कंटिन्यू कर सकती है हो सकता है हम एक नया पॉइंटर टू पॉइंटर बनाएं जो इसकी एड्रेस को स्टोर कर ले फिर एक नया बनाए जो उसके एड्रेस को स्टोर कर ले तो ये चेन अब चलती रहेगी हम लास्ट लेवल ऑफ़ चेन पर आ गए हैं यानी पॉइंटर टू पॉइंटर हम बहुत रेयरली रियल लाइफ प्रोग्रामिंग में पॉइंटर टू पॉइंट्स को यूज़ करते हैं पर इनको थोड़ा कांसेप्ट बिल्ड अप करने के लिए पढ़ना जरूरी है क्योंकि रिक्रूटर पूछ सकते हैं अगर वो किसी वेबसाइट से इंटरव्यू से पहले देख के आए टॉप फाइव पॉइंटर क्वेश्चंस या आपके कॉलेज वाले प्रोफेसर इसको सिलेबस के अंदर डाल सकते हैं तो पॉइंटर टू पॉइंटर को किस तरीके से डिक्लेयर करते हैं यूज करते हैं उसके सिंटेक्स की बात करते हैं जैसे पॉइंट्स को हम लिखा करते थे इंट स्टार पीटीआर की फॉर्म में और पॉइंटर टू पॉइंटर हो गया है तो यहां एक स्टार की जगह हम बस डबल स्टार लगा देंगे तो इसका मतलब है पॉइंटर टू पॉइंटर तो अगर एक इंटी जर पॉइंटर का एड्रेस स्टोर कराना है तो इंट डबल स्टार पीपीटी आर अगर एक कैरेक्टर पॉइंटर का एड्रेस स्टोर कराना है तो कैरेक्टर डबल स्टार पीपीटी अगर एक फ्लोटिंग वेरिएबल का फ्लोटिंग पॉइंटर का एड्रेस स्टोर कराना है तो फ्लोट डबल स्टार पीपीटी अब ये जो पीपीटी आर है ये एक वेरिएबल का नाम है मतलब जरूरी नहीं है आप पीपीटी रखें वो तो मैंने अंडरस्टैंडिंग के लिए उसको पॉइंटर टू पॉइंटर दिखाने के लिए आप इसको इस तरीके से भी लिख सकते हैं कैरेक्टर डबल स्टार डबल स्टार स्टार यह भी एक पॉइंटर टू पॉइंटर ही है क्योंकि इसका टाइप कैरेक्टर स्टार स्टार है अब बात करते हैं एक प्रैक्टिस क्वेश्चन की अब पॉइंटर टू पॉइंटर को एक्चुअली बनाकर देख लेते हैं हम क्या करेंगे एक वेरिएबल बनाते हैं सबसे पहले वेरिएबल है फ्लोटिंग टाइप का इस बार बनाते हैं प्राइस प्राइस के अंदर वैल्यू स्टोर्ड है 00 अब एक नया पॉइंटर बनाएंगे फ्लोट स्टार पीटीआर पीटीआर स्टोर करेगा एड्रेस ऑफ प्राइस अब एक और नया पॉइंटर बनाएंगे ये होगा पॉइंटर टू पॉइंटर यानी पीपीटी आर पीपीटी आर के अंदर स्टोर कराएंगे हम एड्रेस ऑफ पीटीआर तो पीटीआर का हमने एड्रेस लिया उसको पी पीटीआर के अंदर स्टोर करा दिया तो आई होप ये चेन हमें क्लियर होगी कि नॉर्मल वेरिएबल का एड्रेस स्टोर करता है हमारा पॉइंटर और पॉइंटर वेरिएबल का एड्रेस स्टोर कराता है हमारा पॉइंटर टू पॉइंटर तो ये चेंज चलती रहती है अब एक सवाल की फॉर्म में इसको और थोड़ा सा समझते हैं क्वेश्चन हमारा है प्रिंट द वैल्यू ऑफ आ फ्रॉम इट्स पॉइंटर टू पॉइंट यहां पर हमें कोई भी एक वेरिएबल दिया होगा मान लीजिए इंट आ इ 5 य एक वेरिएबल दिया हुआ है अब हमें इसका पॉइंटर टू पॉइंटर गिवन है मतलब इसका सबसे पहले हमने कोई पॉइंटर बनाया होगा इंट पीटीआर जिसमें वैल्यू हमने स्टोर कराई होगी एड्रेस ऑफ आ उसके बाद इसका कोई पॉइंटर टू पॉइंटर बनाया होगा पी पीटीआर उसमें हमने स्टोर करवाया होगा एड्रेस ऑफ पीटीआर अब हमारे पास यह दोनों तो नहीं है पर यह है हमें सिर्फ इस पीपीटी आर की हेल्प से अपने नंबर फाइव को प्रिंट करवाना है वो कैसे प्रिंट करवाएंगे थोड़ा सा इसको डायग्राम की हेल्प से समझते हैं सबसे पहले मान लीजिए कि आपके पास है एक वेरिएबल आ जो किसी मेमोरी एड्रेस पे स्टोर्ड है जिसके अंदर स्टोर्ड है वैल्यू हमारी पांच उसके अलावा आपके पास है पीपीटी आर पीपीटी आर के अंदर कोई एड्रेस स्टोर है पीटीआर भी उसके अंदर एड्रेस स्टोर है इसका एड्रेस था मान लो 2000 पीटीआर के अंदर 2000 स्टोर्ड है इसका एड्रेस था 2010 तो पीपीटी आर के अंदर 2010 स्टोर्ड है और इसका एड्रेस 2020 इस तरीके का कुछ चेंज चल रहा है अब वैल्यू जब भी निकालनी है ना तो हमारे दिमाग में सबसे पहले एक घंटी बजनी चाहिए और एक ऑपरेटर हमें याद आना चाहिए व्हिच इज वैल्यू एट एड्रेस ऑपरेटर यानी हमारा एस्ट रिस्क जब भी वैल्यू निकालनी हो एस्ट रिस्क को याद रखना है जब भी एड्रेस निकालना हो एम परसेंट को याद रखना है एरिस कैसे काम आएगा हमें पता है कि स्टार पीटीआर क्या देता है स्टार पीटीआर हमें दे देता है i = 5 की वैल्यू यानी पांच हमें दे देता है तो अगर हम स्टार पीपीआर कर दें तो वह हमें क्या देगा स्टार पीपीआर वह देगा जो इस एड्रेस के अंदर स्टोर्ड है मतलब स्टार पीटीआर से हम यहां आएंगे और इस एड्रेस पर स्टोर्ड वैल्यू पर आ जाएंगे पर अगर हम स्टार स्टार पीपीआर कर द तो क्या होगा तो एक चेन चलेगी चेन किस तरीके से चलेगी सबसे पहले इस पहले स्टार की हेल्प से हम 2010 से यहां पर आएंगे और इस 2000 पे आएंगे दूसरे स्टार की हेल्प से हम 2000 से यहां पर आएंगे और फिर इस पांच पर आएंगे तो हमें डबल डबल स्टार मतलब वैल्यू एट एड्रेस दो बार करना है दो बार वैल्यूज को जंप करके उसके बाद हम प्रिंट करवा सकते हैं अपने i = 5 इसको प्रैक्टिकली करके देखते हैं कोड की हेल्प से अगर अभी इतना क्लियर नहीं है इस पोर्शन को कर देते हैं कॉमेंट आउट एक वेरिएबल बनाते हैं इंट आ जिसके अंदर पांच स्टोर्ड है उसके अलावा एक पॉइंटर वेरिएबल बनाएंगे इंट स्टार पीटीआर इट एड्रेस ऑफ आ एंड एक पॉइंट टू पॉइंटर बनाएंगे पी पीटीआर जिसके अंदर स्टोर करवाएंगे एड्रेस ऑफ पीटीआर अब क्या कराना है चीजें बस प्रिंट करवानी है नॉर्मली एक सिंगल चीज हम प्रिंट करवाएंगे व्हिच इज स्टार स्टार पी पीटीआर टर्मिनल कंपाइल एंड रन तो स्टार स्टार पीपीटी आर हमने प्रिंट करवाया और हमारे लिए प्रिंट हो गया फाइव आई होप इसका लॉजिक क्लियर हुआ कि स्टार पीटीआर तो मुझे वैल्यू देगा एड्रेस ऑफ पीटीआर की और स्टार स्टार पीटीआर कर दिया तो पीटीआर पे जो एड्रेस स्टड है उसकी वैल्यू दे देगा यानी पांच की वैल्यू दे देगा जिसको हमने प्रिंट करवा लिया तो बहुत सिंपल था समझने में दो ऑपरेटर्स का हमेशा ध्यान रखना है स्टार कहां यूज करना है जब वैल्यू चाहिए एम परसेंट कहां यूज करना है जब एड्रेस चाहिए इन दोनों का ही इधर-उधर कॉमिनेशन हमें दिया होगा हर जगह अब नेक्स्ट जिस टॉपिक की बात करेंगे यह बहुत इंपॉर्टेंट टॉपिक है जब भी प्रोग्रामिंग को समझने हैं और अभी तक हमने जितने भी टॉपिक सीखे हैं ना सी के अंदर सी यूजुअली स्कूल्स के के अंदर कॉलेजेस के अंदर सबसे पहले इसलिए पढ़ा देते हैं क्योंकि ये जो कांसेप्ट है ना ये सिर्फ सी में नहीं होते ये सारी प्रोग्रामिंग लैंग्वेजेस में आपको कहीं ना कहीं दिख जाएंगे आप जावा पढ़ने निकलेंगे आप c+ प् पढ़ने निकलेंगे आप जावास्क्रिप्ट पढ़ने निकलेंगे आप मान लीजिए कोई और प्रोग्रामिंग लैंग्वेज जैसे गो पढ़ रहे हैं सी शप पढ़ रहे हैं उनके अंदर भी ये कॉन्सेप्ट्स एजिस्ट करते हैं जो हम यहां पर पढ़ रहे हैं हमारे फंक्शंस के कॉन्सेप्ट्स हमारे लूप्स के कॉन्सेप्ट्स हमारे इफ एल्स के कॉन्सेप्ट्स इवन कुछ लैंग्वेजेस में पॉइंटर के साथ आप खेल पाएंगे और अभी हम पढ़ने वाले हैं फंक्शन कॉल के बारे में जो खुद में एक इंपॉर्टेंट टॉपिक है हमारी जो फंक्शन कॉल होती है ना जब हम कॉलिंग स्टेटमेंट लिखते हैं जैसे हमने कोई फंक्शन बनाया सम उसके लिए हमने लिख दिया सम ऑफ a एंड b फंक्शंस कॉल c के अंदर दो टाइप की होती हैं सबसे पहली होती है कॉल बाय वैल्यू और दूसरी होती है कॉल बाय रेफरेंस सबसे पहले कॉल बाय वैल्यू का हम एग्जांपल देखते हैं कॉल बाय वैल्यू को हम ऑलरेडी पढ़ चुके हैं कोई इसमें नई चीज नहीं है मैं एक ऐसी चीज करके दिखाऊंगी जो हमने ऑलरेडी पढ़ी हुई है और फिर मैं बताऊंगी कि इसको कॉल बाय वैल्यू कहते थे तो एक नॉर्मल सा प्रोग्राम लिखते हैं यहां पर आप यह सोच रहे होंगे अचानक से पॉइंटर से फंक्शन में कैसे जंप कर गए पर हम अभी सीखेंगे कि हाउ फंक्शन आर रिलेटेड टू पॉइंटर तो सबसे पहले एक फंक्शन डिक्लेयर करते हैं इसको नाम देंगे हम स्क्वेयर वॉइड स्क्वेयर इंट ए इसकी डेफिनेशन भी लिख लेते हैं वॉइड स्क्वेयर इंट n यह फंक्शन क्या करेगा n में ही स्टोर करवा देगा n मल्टीप्ला बाय ए और फिर हम प्रिंट कर देंगे परसेंटेज डी यहां लिख देते हैं स्क्वायर इ इक्वल टू ब ए और n इस फंक्शन ने क्या किया एक इंटी जर लिया n अब n को n से मल्टीप्लाई करके उसी वेरिएबल के अंदर स्क्वायर को स्टोर करा दिया और फिर स्क्वायर को हमने प्रिंट करवा दिया अब मेन फंक्शन के अंदर एक नंबर ले लेते हैं इंट नंबर इ इक्वल टू 4 और उसके लिए स्क्वेयर कॉल करते हैं स्क्वेयर को कॉल करेंगे तो उसमें नंबर पास कर देते हैं एंड फिर एक बार स्क्वेयर प्रिंट करवाने के बाद दोबारा से उस नंबर को प्रिंट करवाते हैं परसेंटेज डी नंबर इज ब स् ए नंबर हमने नंबर बनाया स्क्वायर प्रिंट करवाया नंबर का और दोबारा से नंबर को प्रिंट करवाया इसको एक बार रन करके देखते हैं और आउटपुट अपना एनालाइज करते हैं तो स्क्वायर हमारे पास 16 आ गया और नंबर की वैल्यू फोर रही पर हम ध्यान से देखें तो स्क्वायर वाले फंक्शन के अंदर हमने एंड को चेंज कर दिया था ये जो नंबर यहां पर भेजा गया है इसकी वैल्यू को तो हमने चेंज कर दिया था इसको 4 मल्ला बा 4 यानी 16 कर दिया था तो जब हमारा n वापस गया तो इसको तो 16 हो जाना चाहिए था तो ये फोर क्यों है अब इसको हम ऑलरेडी डिस्कस कर चुके हैं ये फोर इसलिए है क्योंकि हमारी जब भी हम वैल्यू पास करते हैं बाय डिफॉल्ट सी के अंदर वो पास बाय वैल्यू होती है मतलब कॉपीज बनती है इस कांसेप्ट को हमने फंक्शंस में डिस्कस किया था कि ये जो नंबर है ये एक आर्गुमेंट है जब इसको एक फंक्शन के अंदर पास करेंगे तो फॉर्मल पैरामीटर यानी पैरामीटर क्या करेगा इस आर्गुमेंट की एक कॉपी बनाएगा और इस फंक्शन के अंदर जो भी चेंजेज होते हैं वो सारे के सारे कॉपी में चेंजेज होते इट्स सिमिलर टू कि आप मैसेज वैसे का वैसा है तो दोस्त चाहे मैसेज रिसीव होने के बाद उसके साथ कुछ भी करें उसको चाहे फॉरवर्ड कर दे उसको डिलीट कर ले उसको सेव कर ले पर मेरी तरफ से वो मैसेज चेंज नहीं होगा मेरे पास मैसेज वैसा का वैसा होगा तो हम जो है मेन फंक्शन है और दोस्त हमारा स्क्वायर फंक्शन है स्क्वायर फंक्शन पैरामीटर्स के साथ कुछ भी करे वो मेन फंक्शन के पैरामीटर्स को आर्गुमेंट को अफेक्ट नहीं करता इसीलिए नंबर की वैल्यू वैसे की वैसी है पर अगर मैं कहूं कि एक अलग तरीके से हम वेरिएबल को पास कर सकते हैं जिसमें वैल्यू में चेंज करना पॉसिबल है है तो वो एक अलग टाइप की फंक्शन कॉल होगी तो बाय डिफॉल्ट जो बिहेवियर रहता है कि कॉपी हमारी पास होती है इसको इस कांसेप्ट को हम कहते हैं कॉल बाय वैल्यू मतलब हम अपने आर्गुमेंट की वैल्यू को पास करने अपने वेरिएबल की वैल्यू को एज आर्गुमेंट पास कर रहे हैं अपने फंक्शन को तो इसकी डेफिनेशन होती है कि व्हेन वी पास वैल्यू ऑफ वेरिएबल एज आर्गुमेंट तो अभी तक हमने जो भी फंक्शंस लिखे वो सारे कॉल बाय वैल्यू थे पर अगर हमें वेरिएबल को पास करना है तो हम कॉल बाय रेफरेंस भी कर सकते हैं कॉल बाय रेफरेंस कैसे करेंगे जब हम वेरिएबल के एड्रेस को आर्गुमेंट की तरह पास कर द जैसे इसका एक एग्जांपल लेते हैं एक और फंक्शन बनाते हैं जिसको हम नाम देंगे अंडरस्कोर स्क्वा ये हमारा नया स्क्वेयर फंक्शन है इसके अंदर भी हमारे पास एक इंटी जर ए आएगा वॉइड अंडरस्कोर स्क्वा इंट n अब यहां पर हम क्या करेंगे इंट स्टार एन लिखते हैं क्योंकि हम एक पॉइंटर यहां पर लेने वाले हैं एड्रेस भेजेंगे तो एड्रेस को रिसीव कर के लिए एक पॉइंटर वेरिएबल होना चाहिए था और यहां सेम चीज लिखेंगे स्टार n = स्टार n स्टार n और यहां पर भी लिखेंगे स्टार n तो ये एक स्क्वेयर फंक्शन है जो पॉइंटर लेता है मतलब एक नंबर का ये पॉइंटर ले लेगा उसका एड्रेस ले लेगा अब सारी की सारी जो चीजें होंगी डायरेक्टली उस एड्रेस के साथ होंगी और यहां पर फंक्शन के अंदर हम क्या करेंगे सबसे पहले अंडरस्कोर स्क्वेयर को कॉल लगाएंगे और इस अंडरस्कोर स्क्वायर के अंदर एड्रेस पास कर देंगे अपने नंबर का उसके बाद दोबारा से अपने नंबर को प्रिंट करवा कर देखते हैं कि अब क्या वैल्यू प्रिंट होगी हमारे नंबर की एक बार इस कोड को रन करते हैं फिर उस कोड को एनालाइज करेंगे तो यहां पर सबसे पहले तो 164 प्रिंट हुआ क्योंकि हमने फर्स्ट वाले स्क्वायर को कॉल लगाई थी पर सेकंड वाले स्क्वायर को कॉल लगाई तो सबसे पहले स्क्वायर 16 प्रिंट हुआ वापस आए तो नंबर हमारा फोर हो गया था पर अबकी बार स्क्वायर को कॉल लगाई 16 तो उसने क्या किया हमारे नंबर को भी चेंज कर दिया यानी चार था उसको 16 बना दिया तो कुछ इस तरीके का काम हमारे पॉइंट्स करते हैं जब उनको फं फशन के अंदर पास करते हैं पास कैसे करते हैं पॉइंट्स को सबसे पहले जो भी फंक्शन बना रहे हैं ना उसके पैरामीटर में लिखेंगे इ स्टार n मतलब यहां पर एक पॉइंटर आने वाला है पॉइंटर आने वाला है यानी किसी वेरिएबल के एड्रेस को हम यहां पर देने वाले हैं जिसको स्टोर करने के लिए हमें पॉइंटर वेरिएबल चाहिए तो अपने जब डेफिनेशन लिखी उसके अंदर लिखा इंट स्टार n अब ये इंट स्टार n ये जो n है ये एक पॉइंटर वेरिएबल है पॉइंटर जिस वैल्यू के एड्रेस को स्टोर करा रहे उसको कैसे एक्सेस करते हैं एस्ट रिस्क से यानी स्टार से तो वैल्यू एट एड्रेस ऑफ n हो जाए आएगा वैल्यू एट एड्रेस ऑफ n मल्टीप्ला बाय वैल्यू ऑफ एड्रेस ऑफ n तो यहां पर हम एक तरीके से क्या कर रहे हैं 4 मल्ला बाय 4 कर रहे हैं और उसको वापस से उसी लोकेशन पे स्टोर करा रहे हैं जो एड्रेस एंड में है और फिर उस वैल्यू को हमने स्टोर करा दिया अब क्या किया वापस गए तो वो वैल्यू तो चेंज ही हो गई क्योंकि हमने डायरेक्टली एड्रेस के अंदर चेंजेज कर दिए यहां कॉपी के अंदर चेंजेज किए थे पर इस फंक्शन में हमने एड्रेस के अंदर ही चेंजेज कर दिए तो यहां पर जब वापस गए तो नंबर की वैल्यू चेंज हो गई थी इसको थोड़ा सा ना डायग्राम की हेल्प से और समझ लेते हैं हमारे पास क्या हुआ हमारे पास एक वेरिएबल था जिसका नाम था नंबर नंबर का कुछ एड्रेस होगा मान लीजिए इसका एड्रेस था 2000 अब नंबर के अंदर वैल्यू स्टोर थी हमारी चार हमने एक फंक्शन कॉल लगाई फंक्शन कॉल में एक पॉइंटर बना पॉइंटर ने क्या किया पॉइंटर ने अपना नाम तो n रख रखा है पॉइंटर ने एड्रेस स्टोर करा लिया 2000 का क्योंकि हमने एंड नंबर पास किया था अपने इस फंक्शन को हम ध्यान से देखेंगे लाइन के अंदर तो अंडरस्कोर स्क्वायर को हमने नंबर का एड्रेस दे दिया तो नंबर का एड्रेस दे दिया वो उसने n के अंदर स्टोर करा लिया अब जो भी चेंजेज होंगे वो एड्रेस के ऊपर होंगे अगर हमने लिखा स्टार n ल्ड बाय स्टार n तो इसका मतलब है कि हम इस फोर को एक्सेस कर रहे हैं यानी इसका मतलब है नंबर और इसका भी मतलब है नंबर तो यहां पे हमने फोर को मल्टीप्लाई कर दिया फोर के साथ अब इसको वापस से जब हमने स्टार ए में स्टोर कराया तो मतलब एड्रेस में ही चेंज कर दिया तो यहां पर हमने चार को काटकर 16 को स्टोर करा दिया एड्रेस तो वही का वही है n के अंदर एड्रेस अभी भी 2000 है क्योंकि प्लॉट तो चेंज होता नहीं प्लॉट का एड्रेस तो अभी भी 2000 है पर उसके अंदर जो रहने वाले लोग हैं ना वो चेंज हो गए मतलब फोर का अब हमने 16 बना दिया अब चाहे हम स्क्वायर फंक्शन में रहे मेन फंक्शन में रह किसी नए फंक्शन में रहे अब वो वैल्यू परमानेंटली इस एड्रेस के अंदर चेंज हो गई अब पुरानी वैल्यू वापस नहीं आएगी तो कुछ इस तरीके से जब हम एड्रेस को पास करते हैं और एक पॉइंटर वेरिएबल उसको स्टोर कर लेता है और हम चेंजेज कर पाते हैं एड्रेस के अंदर ही तो उसको हम कहते हैं कॉल बाय रेफरेंस यानी यहां पर जो फंक्शन कॉल हमने देखी इसको कॉल बाय रेफरेंस कहते हैं वी पास एड्रेस ऑफ वेरिएबल एज आर्गुमेंट अपने वेरिएबल के एड्रेस को एज आर्गुमेंट पास करेंगे वो पॉइंटर के अंदर स्टोर होगा और ओरिजिनल वैल्यू के अंदर जब चेंजेज कर पाएंगे दैट इज कॉल्ड बाय रेफरेंस तो ये दो तरीके की हमारी फंक्शन कॉल होती है इसको सीखने का इसको और अच्छे से समझने का बेस्ट एग्जांपल है हमारे स्वप ंग फंक्शन स्वप टू नंबर्स a एंड b ये हमारा नेक्स्ट क्वेश्चन है स्वप का मतलब होता है इंटरचेंज या एक्सचेंज जैसे a की वैल्यू है ती b की वैल्यू है पांच तो एंड में स्वप ंग फंक्शन क्या करेगा a की वैल्यू को पांच बना देगा और b की वैल्यू को तीन बना देगा इंटरचेंज कर देगा दोनों की वैल्यूज को अब एक बार देखते हैं कि इंटरचेंज करने वाला प्रोसेस हम एक्चुअली करते कैसे हैं हमारी जो मेमोरी होगी ना उसके अंदर हमारे पास दो वेरिएबल ऑलरेडी हैं सबसे पहला है हमारा ए वेरिएबल दूसरा है हमारा ब वेरिएबल a के अंदर वैल्यू स्टोर्ड है तीन बी के अंदर पाच जब भी हमें कुछ स्वप करना है ना तो हम एक थर्ड वेरिएबल का यूज करेंगे इसको समझने के लिए एक और एग्जांपल लेते हैं जैसे हमारे पास एक बाल्टी है पानी की जिसमें 3 लीटर पानी स्टोर्ड है एक दूसरी बाल्टी है जिसके अंदर हमारे पास पांच लीटर पानी स्टोर्ड है अब इस बाल्टी को हमने नाम दिया है इसको नाम दिया है बी हमें क्या करना है ए में हमें 5 लीटर पानी चाहिए बी में हमें 3 लीटर पानी चाहिए तो कैसे करेंगे एक तीसरी बाल्टी ले आएंगे यह तीसरी बाल्टी आ गई और तीसरी बाल्टी खाली है इसके अंदर कुछ नहीं है तो या तो हम पहले बी का पानी इसमें डाल दें तो बी खाली हो जाएगा उसके बाद ए का पानी बी में डाल दें अब ऐसा हमने किया तो बी के अंदर तो आ गया हमारा 3 लीटर पानी ये खाली जो बाल्टी थी इसके अंदर बी का 5 लीटर पानी है और a को हमने बी में खाली किया था तो अब ए खाली हो गया अब क्या करेंगे इस बाल्टी का पानी वापस से a के अंदर डाल देंगे तो फाइनली ए के अंदर 5 लीटर आ जाएगा बी के अंदर 3 लीटर आ जाएगा और ये बाल्टी पूरी हो जाएगी हमारी खाली तो इस तरीके से हमें जब भी दो बाल्ट का पानी इंटरचेंज करना होता है एक तीसरी खाली बाल्टी ले आते हैं वैसे ही हम यहां पर अगर दो वेरिएबल की वैल्यू को इंटरचेंज करना है तो तीसरा खाली वेरिएबल ले आएंगे तीसरे खाली वेरिएबल को हम मान लीजिए कह लेते हैं टेंपररी वेरिएबल टेंपररी यानी इसको नाम दे दिया हमने t टेंपररी है ये खाली है अब सबसे पहले क्या करेंगे t की वैल्यू में हमें a की वैल्यू डाल देंगे या बी की वैल्यू डाल देंगे कुछ भी कर सकते हैं मतलब a की वैल्यू t में स्टोर्ड हो गई अब a के अंदर बी की वैल्यू डाल देंगे और बी के अंदर t की वैल्यू डाल देंगे तो या तो हम यह लिख सकते हैं या अगर हम इस तरीके से भी लिखना चाहे यह दोनों सही है वर्जस बेसिक पॉइंट यह है या तो a को पहले खाली कर लो या बी को खाली कर लो तो उस तरीके से हम दोनों वैल्यूज को स्वप कर पाएंगे तो हम दो वर्जस लिखने वाले हैं स्पिंग के एक में कॉल बाय वैल्यू करेंगे एक में कॉल बाय रेफरेंस देखते हैं कौन सा सही निकलता है सबसे पहले स्पिंग ट्राई करते हैं कॉल बाय वैल्यूज एक फंक्शन बनाते हैं वॉइड स्वप इसके अंदर दो वेरिएबल आएंगे इंट ए और इंट बी मेन फंक्शन के अंदर ए की वैल्यू है तीन बी की वैल्यू है पा और अपनी डेफिनेशन लिख लेते हैं वॉइड स्वप इंट ए इंट बी हमें क्या करना है एक टेंपररी वेरिएबल बनाना है t इसके अंदर ए की वैल्यू डाल देंगे ए के अंदर बी की वैल्यू डाल देंगे बी के अंदर ए की वैल्यू डाल देंगे और यहां पर प्रिंट करवाते हैं कि स्वप करने के बाद a इ टू परसेंटेज d एंड बी इ इक्वल टू परसेंटेज डी ए एंड बी इन फैक्ट मेन फंक्शन के जो अंदर वेरिएबल यूज कर रहे हैं ना इसको एक्स एंड y रखते हैं ताकि हम डिफरेंस समझ पाए तो स्वप करवा रहे हैं ए और बी को और एक्स एंडवा को पास कर ए आर्गुमेंट तो कॉल कर लेते हैं अपना स्वप फंक्शन इसके अंदर पास करेंगे एक्स और वा अब हमें ऑलरेडी पता है यह फंक्शन जो है पास बाय वैल्यू करेगा तो यहां पर तो स्पिंग हो जाएगी पर हमें यहां पर स्पिंग नहीं चाहिए हमें स्पिंग चाहिए कि हमारे मेन फंक्शन में के अंदर आकर वैल्यूज को करा दे तो यहां पर देखेंगे एक्स और वा की वैल्यू चेंज हुई है क्या एक्स एंडवा मतलब हमें पता है ए और बी तो चेंज हो जाएंगे पर हमें चाहिए कि एक्स और वा भी चेंज हो मेन फंक्शन के अंदर अब इसको करते हैं एक बार रन अब यहां पर ना पॉज करना है और खुद से सोच के बताना है कि एक्चुअली स्वप होंगे या नहीं होंगे और अगर सही आंसर निकलता है ना तो मतलब आपने पॉइंट्स अच्छे से समझ लिए हैं अगर नहीं निकलना है तो मतलब पीछे वाले कुछ कांसेप्ट जाकर थोड़ा सा देखने की जरूरत है तो एक बार आंसर लिखते हैं हमने a = 5 और b = 5 कर दिया है ऐसा इसलिए हुआ क्योंकि यहां पर हमें टेंपररी वेरिएबल हमें लिखना चाहिए था इसको कर लेते हैं क्लियर और दोबारा से एक बार कंपाइल एंड रन करते हैं तो a की वैल्यू पांच हो गई है और b की वैल्यू तीन हो गई है यहां पर शुरुआत में क्या था x हमारा तीन था y हमारा पांच था पहले a ती था और b पा था तो यहां पर तो चेंज हो गया पर वापस से जब मेन फंक्शन के अंदर गए तो अब भी x हमारा तीन का तीन है और y हमारा पांच का पांच है मतलब इस कॉल बाय वैल्यू वाले फंक्शन ने हमारे लिए स्पिंग करके नहीं दी तो स्पिंग कैसे होगी स्पिंग होगी कॉल बाय रेफरेंस उसके लिए एक और नया फंक्शन बना लेते हैं वॉइड अंडरस्कोर स्प इसके अंदर क्या करेंगे पॉइंटर ले लेंगे इंट स्टार ए इंट स्टार बी कॉल बाय रेफरेंस वॉइड अंडर स्वप इसके अंदर हमारे पास आ रहे हैं पॉइंट्स ऑफ एंड पॉइंटर ऑफ बी अब हमारे पास अगर वेरिएबल पॉइंटर में आए हैं तो जो हम टेंपररी बनाएंगे उसको भी हम पॉइंटर की फॉर्म में बना सकते हैं अब यहां पर एक नया वेरिएबल बना लेंगे टेंपररी टी इस टी के अंदर सबसे पहले स्टोर करा लेंगे ए पर जो वैल्यू है व वाली वैल्यू और फिर ए की वैल्यू में हम डाल देंगे वैल्यू एट एड्रेस ऑफ बी अब वैल्यू एट एड्रेस ऑफ बी में हम डाल देंगे t की वैल्यू को तो यहां पर क्या किया पॉइंटर जो a की तरफ जहां हम पॉइंट कर रहे थे जहां a का जो पॉइंटर है वो a की वैल्यू निकाल लेगा उसको t के अंदर डाल देगा अब वैल्यू एट एड्रेस ऑफ a जो होगी वो t के अंदर आ जाएगी b के अंदर जो होगी वैल्यू वो a के अंदर आ जाएगी और वैल्यू एट एड्रेस जो t के अंदर वैल्यू स्टोर्ड है वो वैल्यू एट एड्रेस ऑफ b में आ जाएगी तो इस तरीके से हम एड्रेस बाय एड्रेस स्पिंग कर रहे हैं अब यहां पर दोबारा देख लेते हैं इसको अंडरस्कोर कर देते हैं अब प्रिंट करवा द हैं x और y की वैल्यू को यहां पे हमें पास करना पड़ेगा एड्रेस ऑफ x एंड एड्रेस ऑफ y इसको कर लेते हैं सेव एंड रन तो अब हमारे पास क्या हुआ स्वप फंक्शन ने हमारे मेन फंक्शन के अंदर चेंज लेकर हमें दिखा दिया जैसे x की वैल्यू अब पांच हो गई है और y की वैल्यू अब तीन हो गई है यह पॉसिबल हो पाया कॉल बाय रेफरेंस की हेल्प से क्योंकि हमने पॉइंटर पास किए हमने एड्रेस पास किया और हमने और हमने पॉइंट्स बनाए अपने फंक्शन के अंदर इसीलिए वैल्यू जो है एड्रेस पे इंटरचेंज हो गई तो हमारा जो फंक्शन होता है ना एक ही वैल्यू रिटर्न कर सकता है पर जब हमें मल्टीपल वैल्यूज चाहिए तो हम क्या कर सकते हैं उसके अंदर किसी वेरिएबल का एड्रेस पास कर दो और वहां पे चेंजेज करवा के उस वेरिएबल के अंदर स्टोर करवा के वापस ले आओ तो फंक्शन को कुछ रिटर्न भी नहीं करना पड़ेगा और आपको आपकी वैल्यू मिल जाएगी तो इस तरीके से कॉल बाय रेफरेंस हम तब यूज करते हैं जब हमें एक फंक्शन से मल्टीपल वैल्यूज रिटर्न करवानी हो उन वैल्यूज को हम रिटर्न की हेल्प से रिटर्न नहीं करवाते पॉइंट्स की हेल्प से रिटर्न करवाते हैं तो आई होप कि ये कांसेप्ट क्लियर होगा अब नेक्स्ट सवाल जिसकी बात करेंगे नेक्स्ट सवाल कहता है विल द एड्रेस आउटपुट बी सेम इस सवाल के अंदर हमारे पास फंक्शन हमने एक बनाया वॉइड प्रिंट एड्रेस जिसमें हम पास कर रहे हैं इंट n और हमारा फंक्शन डेफिनेशन क्या कहता है कि प्रिंट कर दो एड्रेस ऑफ n को हमने मेन फंक्शन के अंदर एक वेरिएबल लिया है n n का हमने यहां पर एड्रेस प्रिंट करवाया है तो एक मेमोरी लोकेशन होगी हमारी मेमोरी के अंदर जिसको हमने नाम दिया है n n के अंदर वैल्यू स्टोर्ड है चार का मान लीजिए एड्रेस है 2000 तो जब भी आपको एनालाइज करना हो ना कि आउटपुट सेम होगा क्या या इस सवाल का क्या आउटपुट होना चाहिए तो एक एग्जांपल ले लो और एग्जांपल में कोई भी अपना एड्रेस अज्यू कर लो तो यहां पे हमने 2000 एड्रेस अज्यू कर लिया है तो यहां पर तो प्रिंट होगा हमारे पास 2000 यह हमें पता है फिर हमने कॉल लगाई है प्रिंट एड्रेस को उसमें पास कर दिया n अब जब प्रिंट एड्रेस को कॉल लगाई है हम ध्यान से देखें तो ये कॉल बाय वैल्यू है जब भी कॉल बाय वैल्यू होती है ना एक वेरिएबल की कॉपी बनती है तो ये दूस दूसरी कॉपी बनी इस कॉपी का नाम भी n होगा पर इसका एड्रेस कुछ और होगा क्योंकि 2000 पे तो ऑलरेडी एक वेरिएबल है तो इसका 21 होगा 2010 होगा कुछ भी हो सकता है एड्रेस इसका 5000 हो सकता है 10000 हो सकता है तो ये एक कॉपी बनी है n की हमारी प्रिंट एड्रेस फंक्शन के लिए और इसके अंदर वैल्यू जो है वो कॉपी हो गई है तो इसके अंदर भी कॉपी होके हमारा चार स्टोर हो गया है अब यहां पर हम इस वाले n का एड्रेस प्रिंट करवा रहे हैं तो इस वाले n का जो एड्रेस प्रिंट होगा वो हमारे पास होगा 2000 मंथ तो ओबवियसली हमारा यह वाला एड्रेस और यह वाला एड्रेस कभी भी सेम नहीं हो सकते कॉल बाय वैल्यू में हां अगर यह कॉल बाय रेफरेंस होता जब सेम वेरिएबल की हम बात कर रहे हैं सेम मेमोरी लोकेशन की बात करें हैं तब हमारे एड्रेस सेम होते इसको वेरीफाई भी कर लेते हैं कोड की हेल्प से सबसे पहले एक फंक्शन बना लेते हैं वॉइड प्रिंट एड्रेस के नाम से और इसमें ले लेते हैं एक वेरिएबल n अब क्या करेंगे मेन फंक्शन के अंदर n के अंदर वैल्यू स्टोर करा लेते हैं चार और प्रिंट एड्रेस को कॉल लगाएंगे जिसमें n को हम पास कर देंगे इसको क्रिएट भी कर लेते हैं प्रिंट एड्रेस प्रिंट एड्रेस के अंदर हमारे पास इंटी जर n आ रहा है और यहां पर हम इंटी जर n की वैल्यू को प्रिंट करवाने वाले हैं तो एड्रेस ऑफ n इज परसेंटेज य ब स् ए और यहां पे हम प्रिंट करवा देंगे एड्रेस ऑफ n और यही सेम लाइन हम कॉपी करके यहां पर लिखते हैं अब इस कोड को जब हम रन करेंगे अब अपना टर्मिनल खोलते हैं कंपाइल एंड यह जो वार्निंग्स आ रही है इसलिए आ रही हैं क्योंकि पॉइंटर हमारा परसेंटेज p से प्रिंट होता है पर हमने अनसाइंड इंट में उसको टाइपकास्ट कर रखा है तो वार्निंग का इतना टेंशन नहीं लेना अब ध्यान से देखेंगे तो सबसे पहले प्रिंट एड्रेस को कॉल लगाई तो वहां की स्टेटमेंट रन करेगी तो इस वाले इंटी जर n की जो वैल्यू है इसका जो एड्रेस है वो यहां पे प्रिंट हो गया है और फिर हमारे ओरिजिनल n का जो मेन फंक्शन के अंदर n है उसका एड्रेस प्रिंट हो गया और दोनों एड्रेस अलग-अलग हैं यह हो गया हमारा कॉल बाय वैल्यू पर यहीं पर अगर कॉल बाय रेफरेंस होता यानी यहां पर स्टार होता यहां पर भी स्टार होता और यहां पे हम n की वैल्यू को प्रिंट करवाते मतलब इस पॉइंटर में जो वैल्यू स्टोर्ड है उसको प्रिंट करवाते और यहां से प्रिंट एड्रेस में हम पास कर रहे होते n का एड्रेस तो कॉल बाय रेफरेंस बन गया अब एनालाइज करते हैं अपना आउटपुट अब आउटपुट के अंदर जो दोनों एड्रेस आए हैं इनके वो दोनों सेम है क्योंकि कॉल बाय रेफरेंस किया है मतलब अब मेमोरी लोकेशन की बातें चल रही हैं अब डायरेक्टली हम उस प्लॉट की बात कर रहे हैं जिसका एड्रेस हमें पता है अब उस वेरिएबल के नाम की बात नहीं चल रही तो कॉल बाय वैल्यू के अंदर जहां पर मेमोरी एड्रेस अलग-अलग है हमारी वैल्यूज कॉपी होती है कॉल बाय रेफरेंस में वैल्यूज सेम रहती हैं हम मेमोरी एड्रेस को ही डायरेक्टली एक्सेस करते हैं ये बहुत इंपॉर्टेंट डिस्टिंक्शन है इसको याद रखना है लास्ट सवाल पॉइंट्स के अंदर जिसकी हम बात करेंगे वो यह है राइट अ फंक्शन टू कैलकुलेट द सम प्रोडक्ट एंड एवरेज ऑफ टू नंबर्स प्रिंट दैट एवरेज इन द मेन फंक्शन एवरेज के साथ-साथ प्रोडक्ट और सम को भी मेन फंक्शन के अंदर प्रिंट करना है तो हम यहां पर एक फंक्शन बनाएंगे जो दो नंबर्स लेगा a और b और दोनों का सम कैलकुलेट करेगा यानी a + b प्रोडक्ट कैलकुलेट करेगा a * b और एवरेज कैलकुलेट करेगा a + b / 2 मेन फंक्शन को रिटर्न करेगा थ्री वैल्यूज और हमने क्या सीखा है रिटर्न तो सिर्फ एक ही वैल्यू होती है फंक्शन से पर जब भी मल्टीपल वैल्यूज रिटर्न करने वाली सिचुएशन आ जाए ना तो वहां पर यूज़ कर लो पॉइंट्स तो यहां पे पॉइंट्स सेव की तरह आते हैं एक बार इसका सॉल्यूशन लिखकर देखते हैं कि कैसे पॉइंट्स काम आते हैं ी सिचुएशन में सबसे पहले मेन फंक्शन के अंदर हम क्रिएट करेंगे दो वेरिएबल सबसे पहला वेरिएबल है ए ए को हम ले लेते हैं ्र दूसरा वेरिएबल है बी बी की वैल्यू ले लेते हैं फ अब एक फंक्शन बनाते हैं वॉइड डू वर्क ये हमारे लिए कुछ काम कर रहा है मतलब कोई कैलकुलेशन कर रहा है इसमें हम दो वैल्यूज लेंगे इंट ए और इंट बी एस पैरामीटर अब क्या करेंगे इसको डिफाइन करते हैं डू वर्क इंट a इंट बी हम सबसे पहले कैलकुलेट करते हैं दोनों का सम इंट सम इ a + b फिर कैलकुलेट करते हैं दोनों का प्रॉडक्ट इंट प्रॉड इ a मल्ला बा b फिर कैलकुलेट करते हैं दोनों का एवरेज एवरेज कैलकुलेट करने के लिए लिखेंगे a + b डिवाइड बा 2 तो इस तरीके से तीन वेरिएबल हमने लिख लिए पर इन तीनों को हम रिटर्न नहीं कर सकते हैं तो हम क्या करते हैं इन्हीं तीनों वेरिएबल को अपने मेन फंक्शन के अंदर डिफाइन कर लेते हैं और पॉइंट्स पास कर देते हैं तीनों के जैसे यहां पे हम बना लेंगे सम प्रोडक्ट एंड एवरेज पर ये तीनों पॉइंट्स की तरह पास होंगे मतलब यहां पर तीन पॉइंट्स पास होंगे इंट स्टार सम इंट स्टार प्रोडक्ट एंड इंट स्टार एवरेज तो यहां प भी सेम वैल्यूज आएंगी इंट स्टार प्रोडक्ट प्रोडक्ट इंट स्टार यहां पर आएगा सबसे पहले सम फिर इं स्टार प्रोडक्ट एंड देन इंट स्टार एवरेज अब यहां पर हमें डिफाइन करने की जरूरत नहीं है क्योंकि ये जो वेरिएबल है ये तो ऑलरेडी मेन फंक्शन के अंदर क्रिएटेडटेड चेंज करना चाह रहे हैं स्टार ऑफ प्रॉड की क्योंकि यह जो सम है यह जो प्रोडक्ट है और ये जो एवरेज है ये तीनों पॉइंट्स हैं और वैल्यू एट पॉइंटर को एस्टरिस की हेल्प से एक्सेस करेंगे तो वहां पे स्टोर करवा देंगे a प् बी इस प्रोडक्ट में स्टोर करवा देंगे a मल्टीप्ला बा एवरेज में स्टोर करा देंगे a प् b डिवाइड बा 2 तो अब कॉल लगाते हैं डू वर्क को डू वर्क में पास करेंगे ए बी एड्रेस ऑफ सम एड्रेस ऑफ प्रोडक्ट एंड एड्रेस ऑफ हमारा एवरेज उसके बाद मेन फंक्शन में जब आएंगे ना तो तीनों वैल्यूज को हम प्रिंट करवा लेंगे सम इज इक्वल टू परसेंटेज प्रोडक्ट इ इक्वल टू परसेंटेज d एंड एवरेज इज इक्वल टू परसेंटेज d और यहां पे सबसे पहले सम फिर प्रोडक्ट फिर एवरेज आई होप कि यह वाली चीज हमें क्लियर होगी कि इस फंक्शन के अंदर हमने पास बाय रेफरेंस किया है इन तीनों वेरिएबल का पास बाय रेफरेंस किया है इन दोनों वेरिएबल का पास बाय वैल्यू किया है a और बी की वैल्यू में हमें कोई चेंजेज चाहिए नहीं मेन के अंदर तो उनको नॉर्मली पास बाय वैल्यू पर इन तीनों के अंदर चाहिए थी वैल्यूज तो इनको पास बाय रेफरेंस कर दिया और इनकी वैल्यूज को कर लिया कैलकुलेट कैलकुलेट करके मेन फंक्शन के अंदर वैल्यूज को करा दिया स्टोर इसको करवा लेते हैं रन तो हमारे थ्री और फाइव का सम आ गया है एट प्रोडक्ट आ गया है दोनों का 15 और एवरेज आ गया दोनों का फोर यानी 5 + 3 = 8 एंड डिवाइडेड बा 2 इज 4 तो इस तरीके से जब मल्टीपल वैल्यूज हमें चाहिए हो ना रिटर्न में दूसरे फंक्शन के अंदर तो क्या करो पास बाय रेफरेंस कर लो पास बाय रेफरेंस करोगे उस वेरिएबल के वो खाली भेजोगे उसके अंदर वैल्यू स्टोर करा के वापस ले आओगे तो इस तरीके से पॉइंट्स बहुत ज्यादा काम आते हैं हमारी नॉर्मल प्रोग्रामिंग के अंदर तो आई होप कि पॉइंट्स का कांसेप्ट हमें काफी हद तक क्लियर हुआ होगा बहुत आसानी से सारे बेसिक कॉन्सेप्ट्स को हमने कवर कर लिया है कुछ एक दो कॉन्सेप्ट्स हैं पर उनको हम नेक्स्ट चैप्टर में करेंगे जब हम एरे की बात कर रहे होंगे अब पॉइंट्स का यूज़ हमें धीरे-धीरे तब समझ में आएगा जब हम डाटा स्ट्रक्चर करेंगे एरे हमारा एक स्ट्रक्चर होता है एरे के बारे में अगले चैप्टर के अंदर सीख रहे होंगे तब तक हम क्या कर सकते हैं थोड़े से होमवर्क प्रॉब्लम्स कर सकते हैं और सवाल कर सकते हैं खुद की स्किल्स को इंप्रूव कर सकते हैं एंड चैप्टर को रिवाइज जरूर कर सकते हैं ताकि हम चीजों को भूले ना नोट्स हमने दे रखे हैं आपकी सहूलियत के लिए एंड बढ़ते हैं हमारे नेक्स्ट चैप्टर की तरफ अब हम शुरुआत करने वाले हैं अपने चैप्टर सेवन की जिसमें पढ़ेंगे हम अरेज के बारे में एरे की अगर क्लासिकल डेफिनेशन की बात करें तो अरेज होते हैं कलेक्शन ऑफ सिमिलर डेटा टाइप स्टोर्ड एट कांटीगुअस मेमोरी लोकेशंस जैसे अगर हमें किसी मेमोरी लोकेशन में किसी वैल्यू को स्टोर स्टोर कराना होता है तो उसको हम स्टोर करवाते हैं एक वेरिएबल की हेल्प से एक वेरिएबल लेते हैं वो एक मेमोरी लोकेशन को रिजर्व कर लेता है उसके अंदर हम कुछ डाटा स्टोर करा देते हैं और उस मेमोरी लोकेशन को कुछ नाम दे देते हैं जो होता है हमारा वेरिएबल अगर हमें एक ही तरह का बहुत सारा डाटा स्टोर करवाना है मान लीजिए यहां पे हमने एक इंटी जर स्टोर कराया था पर हमें तीन इंटी जर स्टोर कराने हैं तो हम चाहते हैं वो तीन इंटी जर एक के साथ एक के साथ एक स्टोर हो जाए जिसमें हम मान लीजिए अलग-अलग डेट्स जो हैं वो स्टोर कर पा रहे हैं और इन तीनों को हम कलेक्टिव कोई एक नाम दे दें तो इस तरीके का जो स्ट्रक्चर होता है इसको हम कहते हैं एरे स्ट्रक्चर या एरस अगर इसकी डेफिनेशन देखें तो इट इज अ कलेक्शन ऑफ सिमिलर डेटा टाइप सिमिलर डेटा टाइप्स यानी आप तीन इंट या पांच इंट ही एक साथ स्टोर करा सकते हैं दो इंट और एक फ्लोट नहीं साथ में पांच फ्लोट करवा सकते हैं साथ में पांच कैरेक्टर करवा सकते हैं पर अलग-अलग डेटा टाइप्स को साथ में कलेक्शन की फॉर्म में नहीं स्टोर करा सकते स्टोर्ड एट कांटीगुअस मेमोरी लोके कंटस का मतलब होता है कंटीन्यूअस तो मेमोरी के अंदर जो ये डाटा स्टोर होता है कंटीन्यूअस फैशन में यानी एक के बाद एक के बाद एक स्टोर होता है तो इसको एक्सेस करना आसान हो जाता है तो जब भी हमें मल्टीपल वेरिएबल स्टोर कराने होते हैं ना तो उनको अलग-अलग नाम देने की जगह हम एक एरे बना लेते हैं जैसे इसका अगर एक एग्जांपल देखें कोड में लिखकर तो मान लीजिए हमें तीन स्टूडेंट्स के मार्क्स स्टोर कराने हैं तो अगर हमारे पास एरे जैसा कोई स्ट्रक्चर नहीं है तो हम नॉर्मली तीन वेरिएबल को बना रहे होंगे इंट मार्क्स वन इसमें स्टोर करवा देंगे फिजिक्स के मार्क्स फिर इंट मार्क्स टू इसमें स्टोर करा देंगे केमिस्ट्री के मार्क्स एंड देन इंट मार्क्स थ इसमें स्टोर करवा लेंगे अपने मैथ के मार्क्स अब इन तीनों को एक्सेस करने के लिए हमें अलग-अलग वेरिएबल की जरूरत है पर अगर मैं कहूं कि मैं एक सिंगल वेरिएबल से तीनों वैल्यूज को एक्सेस कर पाऊं तो उस तरीके के स्ट्रक्चर को हम अरेज कहेंगे अरेज को कैसे लिखते हैं उसे लिखते हैं कि हम वो टाइप लिखेंगे जिसका हम एरे बनाने वाले हैं फिर लिखेंगे मार्क्सस फिर लगाएंगे स्क्वेयर ब्रैकेट्स जो दिखाते हैं कि जो स्ट्रक्चर हम बना रहे हैं वो एक एरे है एंड उसके बाद अपने मार्क्स को हम लिख देंगे 97 98 89 कुछ इस तरीके से तो ये एरे को लिखने का सिंटेक्स होता है जिसमें हमने सिंगल वेरिएबल के अंदर तीन वैल्यूज को स्टोर करवा दिया है तो मेमोरी के अंदर ये वैल्यूज एक के बाद एक के बाद स्टोर होंगी और सारा का सारा डाटा उन तीनों ब्लॉक्स के अंदर चला जाएगा अब एरे को लिखने के अगर सिंटेक्स की बात करें अगर हम एक इंटी जर टाइप का एरे बनाना है तो सबसे पहले टाइप लिखेंगे इंट उसके बाद लिखेंगे अपने एरे का नाम उसके बाद लिखेंगे स्क्वायर ब्रैकेट्स तो स्क्वायर ब्रैकेट्स के अंदर हम एक नंबर लिखते हैं वो नंबर होता है साइज यानी किस साइज की हमें लोकेशन चाहिए अगर हमें तीन इंटी जर वैल्यूज चाहिए तो तीन लिखेंगे पांच चाहिए तो इसकी जगह पांच लिख सकते हैं 10 चाहिए तो 10 100 चाहिए तो 100 भी लिख सकते हैं तो इस तरीके से हम एक इंटी जर एरे बनाएंगे जिसका साइज है तीन अगर हमें कैरेक्टर एरे बनाना है तो हम लिखेंगे कैरेक्टर अपने एरे का नाम फिर स्क्वायर ब्रैकेट्स और अंदर लिखेंगे हमें कितने कैरेक्टर्स उसमें स्टोर कराने हैं फ्लोट बनाना है तो फ्लोट फिर उसका नाम स्क्वेयर ब्रैकेट्स और अंदर लिखेंगे साइज क्या होना चाहिए कितने फ्लोट स्टोर कराने हैं तो जैसे ही हम ये वाली स्टेटमेंट लिखते हैं इंट मार्क्स इज थ्री तो एक मार्क्स नाम से मेमोरी लोकेशन आ जाती है हमारे मेमोरी के अंदर जहां पर ये वन 2 3 तीन ब्लॉक्स हमारे लिए रिजर्व हो जाते हैं और इन तीनों ब्लॉक्स का साइज एक इंटी जर के बराबर है इंटी जर हमने पढ़ा था डेटा टाइप्स के अंदर कि चार बाइट्स लेता है मेमोरी के अंदर तो हर एक ब्लॉक का साइज यहां पर चार बाइट्स के इक्वल है ये भी चार बाइट्स है यह भी चार बाइट्स है और यह लोकेशन भी चार बाइट्स है तो चार-चार बाइट्स के तीन ब्लॉक्स आ जाते हैं हमारे पास अब बाय कन्वेंशन हम इस पहले ब्लॉक को जीरो एथ ब्लॉक कहते हैं फर्स्ट ब्लॉक को सेकंड ब्लॉक को वन कहते हैं और थर्ड ब्लॉक को टू कहते हैं ये बाय कन्वेंशन होता है इसको कहा जाता है जरो बेस्ड इंडेक्सिंग कुछ लैंग्वेजेस होते हैं जिनमें वन बेस्ड इंडेक्सिंग होती है पर सी c+ प जावा ऐसी लैंग्वेजेस हैं जिनमें जीरो बेस्ड इंडेक्सिंग होती है जीरो बेस्ड यानी फर्स्ट पोजीशन को हम वन नहीं कहेंगे जरो कहेंगे तो ये चीज हमें हमेशा ध्यान रखनी है अब बात करें कि एरे को इनपुट या आउटपुट कैसे लेना होता है तो इनपुट लेने के लिए हमें सबसे पहले लिखना पड़ता है परसेंटेज डी जिस भी टाइप का हम वैल्यू इनपुट लेने वाले हैं और इस मार्क्स ऑफ स्क्वायर ब्रैकेट्स को हम एक वेरिएबल की तरह ट्रीट करते हैं यानी जैसे नॉर्मल वेरिएबल की वैल्यूज हम लिखते एज या मार्क्स वन मार्क्स टू उसी तरीके से हम एरे के वेरिएबल की जब बात करते हैं तो उसको हम लिख सकते हैं मार्क्स 0 मार्क्स वन मार्क्स टू ये भी एक नॉर्मल वेरिएबल की तरह ट्रीट हो रहे होंगे और इस नॉर्मल वेरिएबल के अंदर अगर हमें कोई वैल्यू इनपुट लेनी है तो इसके सामने लगा देंगे एड्रेस ऑफ ऑपरेटर अगर इसकी वैल्यू को आउटपुट कराना है तो फिर हम नॉर्मली उस वेरिएबल का नाम लिख देंगे अब आप ध्यान देंगे कि हमने एरे का नाम लिखा उसके बाद हमने ये लगाए स्क्वायर ब्रैकेट्स पर अंदर हमने एक नंबर लिखा हुआ है इनपुट में भी और आउटपुट में भी इसका यह मतलब है कि जब भी हम मेमोरी की बात कर रहे हैं हमारे पास मान लीजिए हमने एक मार्क्सस नाम का एरे बनाया है जिके अंदर तीन मेमोरी लोकेशन है तो उसके अंदर कोई कोई वैल्यू हमने स्टोर करवाई होगी अब जब भी हम रो लिखते हैं मार्क्स स्क्वायर ब्रैकेट 0 तो उसका मतलब यह है कि हम इस नंबर को जानना चाह रहे हैं या इनपुट कराना चाह रहे हैं अगर हम मार्क्स ऑफ वन लिखते हैं तो उसका मतलब है हम इस नंबर को या तो जानना चाह रहे हैं या इनपुट कराना चाह रहे हैं और मार्क्स ऑफ टू लिखते हैं तो उसका मतलब हम इस नंबर को जानना चाह रहे हैं या इनपुट करा रहे हैं तो जो भी आप नंबर लिखते हैं वो उस लाइन के अंदर हमें बताता है कि एरे की कौन सी पोजीशन वाले नंबर की हम बात करें तो स्क्वायर ब्रैकेट्स के अंदर जो भी हम नंबर लिखते हैं वो बताता है हमें कि एरे में कौन सी पोजीशन वाले नंबर की हम बात कर रहे हैं एक बार क्या करते हैं एग्जांपल के लिए एक एरे को इनपुट और आउटपुट करा के देखते हैं जैसे मार्क्सस एरे था यह वाले सिंटेक्स की भी हम अभी बात करेंगे पर इसको हम थोड़ी देर के लिए यहां से हटा देते हैं और इसको कर लेते हैं कॉमेंट आउट सबसे पहले एक एरे बनाते हैं मार्क्स नाम से इस एरे का साइज है तीन अब तीनों सब्जेक्ट के मार्क्स को हम एकएक करके इनपुट करेंगे तो सबसे पहले लिखते हैं प्रिंट स्टेटमेंट एंटर फिजिक्स स्कैनफ कर लेंगे सबसे पहले लगाएंगे परसेंटेज डी क्योंकि एक इंटी जर स्कैन कर रहे हैं फिर लगाएंगे एड्रेस ऑफ ऑपरेटर एंड मार्क्स ऑफ जीरो उसके बाद दोबारा से सेम प्रोसेस रिपीट होगा हमारा तीन बार अब केमिस्ट्री के मार्क्स और यहां पर मैथ के मार्क्स और सेकंड टाइम जब मार्क्सस इनपुट लेंगे तो जीरो पोजीशन प तो ऑलरेडी हम फिजिक्स के मार्क्स लेके इनपुट डाल चुके हैं अब केमिस्ट्री वाले हमें फर्स्ट पोजीशन पर स्टोर करने हैं और मैथ वाले सेकंड पर और अब प्रिंट करवाना है तो प्रिंट करवाएंगे इस तरीके से फिजिक्स इ इक्वल टू परसेंटेज डी केमिस्ट्री इ इक्वल टू परसेंटेज डी मैथ इ इक्वल टू परसेंटेज डी और यहां पर मार्क्स ऑफ जीरो मार्क्स ऑफ वन तो आई होप ये अंडरस्टूड होगा कि मार्क्स ऑफ जीरो यानी एक सिंगल वेरिएबल सिर्फ जीरो पोजीशन वाली वैल्यू चाहिए सिर्फ फर्स्ट पोजीशन वाली वैल्यू चाहिए और सिर्फ सेकंड पोजीशन वाली वैल्यू चाहिए इसको कर लेते हैं सेव एंड रन तो सबसे पहले फिजिक्स के मार्क्स एंटर करेंगे फिर केमिस्ट्री के मार्क्स एंटर करेंगे फिर मैथ के मार्क्स एंटर करेंगे तो इस तरीके से तीनों सब्जेक्ट के मार्क्स हमारे पोजीशन वाइज स्टोर होकर आ गए हैं फिजिक्स में हमने 97 स्टोर कराया है जीरो पोजीशन पे केमिस्ट्री में 98 स्टोर कराया है फर्स्ट पोजीशन पे और मैथ में 89 स्टोर कराया है हमने सेकंड पोजीशन पे अगर यहां पे हम जाए कि कि हमने एरे तो जी तीन का डिक्लेयर करा है और एक्सेस हम कर रहे हैं 0 व और टू को और हम एक्सेस करने निकले अगर थ्री को मान लीजिए थ्री को एक्सेस करते हैं या यहीं पर हम थ्री लिख देते हैं कि मैथ के मार्क्स थ्री में स्टोर कराएंगे तो इसको एक बार देखते हैं कंपाइल करके रन तो फिजिक्स के मार्क्स हमने स्टोर करवा लिए 97 केमिस्ट्री के 98 और अब मैथ के जैसे ही हम स्टोर कराएंगे ना मान लीजिए 89 हम स्टोर करा रहे हैं वैसे ही हमारा प्रोग्राम अबोर्ड कर गया मतलब एंड कर गया क्यों क्योंकि एरर आ गया और ये एक ऐसा एरर है जो रन टाइम एरर है मतलब कंपाइलर नहीं चेक कर पाएगा अगर आप ऐसी मिस्टेक कर देते हैं जब आप एरे के साइज से बड़ी चीज एक्सेस कर रहे हैं तो वो कंपाइलर आपको नहीं बताएगा कि आप मिस्टेक कर रहे हैं वो आपका प्रोग्राम रन टाइम में आपको बताएगा कि आपने गलती कर दिया और वहीं पे रुक जाएगा जैसे यहां पर हमने थ्री लिखा जबकि एरे के अंदर तीन का ही साइज है जो 0 वन और टू को जा चुका है अब तीन के लिए हमें इस एरे का साइज चार करने की जरूरत थी तो इसको हम नहीं लिख सकते क्योंकि ये हमें दे देगा एरर इसीलिए जब भी एरे हम बना रहे होते हैं हमें ध्यान देना होता है कि अपना जो मैक्सिमम इंडेक्स जहां तक हम जा सकते हैं उससे आगे हम ना जा रहे हो नेक्स्ट हम बात करने वाले हैं प्रैक्टिस क्वेश्चन की बहुत आसानी से इस सवाल को हम सॉल्व करेंगे सवाल कहता है राइट अ प्रोग्राम टू एंटर प्राइस ऑफ थ्री आइटम्स एंड प्रिंट देयर फाइनल कॉस्ट विद जीएसटी यानी हमें तीन आइटम्स का प्राइस लेना है अब ये प्राइस हम फ्लोटिंग वैल्यू रख सकते हैं और फाइनल कॉस्ट देनी है विद जीएसटी हर वैल्यू के साथ हमें ऐड कर देना उसका 18 पर जीएसटी और फिर जो फाइनल वैल्यू आएगी उसको हमें प्रिंट करवाना है तो उसको देखते हैं किस तरीके से करेंगे सबसे पहले तीन आइटम्स को हमें एंटर करवाना है तो मतलब हम एक एरे बना सकते हैं क्योंकि तीनों आइटम्स का सेम टाइप है जब भी मल्टीपल वैल्यूज रखनी हो और ज्यादा वैल्यूज हो और सेम टाइप हो तो वहां पर हमें एरे बनाना होता है तो सबसे पहले बना लेंगे एक एरे ऑफ फ्लोट जिसको नाम देंगे प्राइस ऑफ साइज थ्री अब प्रिंट स्टेटमेंट लिख लेते हैं एंटर थ्री प्राइसेस सबसे पहले स्कैन कर लेंगे परसेंटेज एफ से अपना फर्स्ट प्राइस यानी एम परसेंट प्राइस ऑफ जीरो एंड उसी तरीके से एम परसेंट प्राइस ऑफ वन एंड देन टू उसके बाद हर बार प्रिंट करवा देंगे इन फैक्ट टोटल प्राइस वन इ इक्वल टू यहां पर लिखेंगे प्राइस ऑफ 0 प्लस 0.18 मल्टीप्ला बाय प्राइस ऑफ जी एक तरीके से हमने 18 पर जीएसटी यहां पर इस तरीके से ऐड कर दिया प्राइस के अंदर सेम चीज को तीन बार रिपीट करेंगे यहां पर प्राइस टू यहां पर प्राइस ्र 1 मल्टीप्ला बा 0.18 ऑफव 2 मल्टीप्ला बा 0.18 इसको कर लेंगे सेव तो यह हमारे फाइनल या टोटल प्राइसेस है विद जीएसटी और एक बार इसको करते हैं रन तो यहां पर फॉर्मेट परसेंटेज एफ परसेंटेज ए अब सबसे पहले तीन प्राइसेस ऐड करने हैं तो 100 200 एंड 300 तो ये जीएसटी वैल्यूज हमारे पास आ गई सबसे पहले 118 फिर 236 फिर 354 ये तीनों प्राइसेस आ गए हैं थोड़ी सी स्पेस के लिए हम बैक स् ए भी डाल सकते थे इसको कर लेते हैं सेव एंड दोबारा से एक बार रन करें तो ये तीनों प्राइसेस आ गए हैं विद एडेड जीएसटी तो टोटल प्राइस हम इस तरीके से कर सकते हैं तो यहां पर सबसे बड़ा बेनिफिट जो हमें देखने को मिला एरस को यूज करके वो ये था कि हमें तीन अलग-अलग वेरिए बल्स नहीं मेंटेन करने पड़े एक सिंगल वेरिएबल हमने बना लिया और उसी से हमारे सारे के सारे काम चल रहे हैं जब हम सिमिलर डेटा टाइप्स की बात कर रहे हैं अब बढ़ते हैं अपने नेक्स्ट टॉपिक की तरफ जिसका नाम है इनिश इजेशन ऑफ एरे अभी हमने देखा कि एरे को हम डिक्लेयर कर सकते हैं उसके बाद उसमें एलिमेंट्स डाल सकते हैं पर एरे को डिक्लेरेशन के साथ भी इनिश इज किया जा सकता है जैसे अगर एक इंट बनाते हैं तो उसको हम लिख सकते हैं इंट x और फिर x = 10 या फिर उसको लिख सकते हैं इंट x = 10 ये दोनों उनके इनिश के प्रोसेस हैं तो उसी तरीके से एरे को भी हम डिक्लेयर करने के साथ-साथ इनिश इज करा सकते हैं कैसे करा सकते हैं इस सिंटेक्स की हेल्प से हम सबसे पहले लिखते हैं डेटा टाइप उसके बाद अपने एरे का नाम फिर स्क्वेयर ब्रैकेट्स अब ध्यान देंगे स्क्वेयर ब्रैकेट्स के अंदर हमें साइज को लिखने की जरूरत नहीं है क्योंकि राइट साइड में हम जितने भी एलिमेंट्स लिखेंगे वो ऑटोमेटिक हमें साइज दे देंगे एरे उसके बाद राइट में लिखते हैं कर्ली ब्रेसेज और उसके अंदर जितने भी एलिमेंट्स यानी अगर हमने तीन एलिमेंट्स लिखे हैं तो मतलब हम तीन साइज का एरे बना रहे हैं अब या तो हम ये सिंटेक्स फॉलो कर सकते हैं या फिर हम साइज को भी लिख सकते हैं तो ये दोनों ही सिंटेक्स बिल्कुल सही हैं जब हम डिक्लेयर करने के साथ-साथ अपने एरे को इनिशियलिज्म कर लेते हैं कि एक मार्क्स नाम का एरे बन जाएगा उसके अंदर क्या होगा सबसे पहली जो वैल्यू है वो यहां पे आ जाएगी दूसरी वैल्यू यहां आ जाएगी तीसरी वैल्यू यहां आ जाएगी ये होगी हमारी जीरो एथ पोजीशन ये फर्स्ट पोजीशन और ये सेकंड पोजीशन इस फर्स्ट पोजीशन का साइज चार बाइट्स का होगा सेकंड का भी चार बाइट्स का होगा और थर्ड का भी चार बाइट्स का होगा क्योंकि इंटी जर चार बाइट्स लेता है अब अगर आपकी 32 बिट मशीन है या फिर आप किसी और सिस्टम पर काम कर रहे हैं तो हो सकता है आपकी मशीन के हिसाब से इंट का जो साइज हो वो दो बाइट्स हो या कुछ और हो पर मेरी मशीन के हिसाब से इंटी जर का साइज चार बाइट्स होता है तो जब भी आपसे कोई कैलकुलेशन करवाए कि आप साइज बताओ एरे कितना लेता है तो या तो आप इंट को चार बाइट अज्यू कर सकते हो या फिर क्वेश्चन के अंदर दिया होगा या इंटरव्यूअर से या टीचर से पूछ भी सकते हैं कि इंटी जर का मुझे साइज बता दो मशीन के हिसाब से तो उसमें कोई परेशानी नहीं है क्योंकि साइज अलग-अलग भी हो सकते हैं पर इस क्लास के अंदर हम चार बाइट्स लेके चलेंगे तो अगर हमें टोटल मेमोरी रिजर्व निकालनी हो कि इस एरे ने कितनी मेमोरी जो है रिजर्व की तो वो होगी हमारी 12 बाइट्स क्योंकि तीन इंटी जर को स्टोर कराने में मेमोरी के अंदर टोटल 12 बाइट्स कंज्यूम हो रहे होंगे तो इस तरीके से अगर हमें कभी पता करना हो कि कैरेक्टर अगर हमें स्टोर कराना है कोई कैरेक्टर एरे जिसके अंदर हम 10 स्टोर करा रहे हैं तो हमें पता है कि कैरेक्टर कितनी मेमोरी लेता है एक बाइट और हम कितने कैरेक्टर स्टोर करा रहे हैं 10 तो हम कितनी मेमोरी ले रहे हैं टोटल 10 * 1 यानी 10 बाइट्स उसी तरीके से अगर हम मान लीजिए एक और इंटी जर एरे स्टोर कराने हैं जिसमें स्टोर करा रहे हैं रोल नंबर्स और हमने 30 बच्चों के रोल नंबर स्टोर करा दिए तो हमें पता है इंटी जर लेता है चार बाइट्स और हम स्टोर करा रहे हैं 30 बच्चों के लिए तो हम 30 इंटी जर स्टोर करा रहे हैं मेमोरी के अंदर तो टोटल कितनी मेमोरी कंज्यूम होगी 30 * 4 दैट इज 120 बाइट्स तो ऐसे स सल बहुत बार आ जाते हैं हमारे कॉलेज के एग्जाम्स के अंदर जिसमें पूछते हैं कि एरे कितनी मेमोरी रिजर्व करेगा वो हमें बताना होता है तो उसकी कैलकुलेशन कुछ इस तरीके से होती है कि जो भी हमारा डटा टाइप सिंगल मेमोरी रिजर्व करेगा मेमोरी के अंदर जितनी स्पेस रिजर्व करेगा उसको मल्टीप्लाई कर दो कि कितने हमें स्टोर कराने हैं वैसे तो उससे हमारी टोटल मेमोरी कंज्यूम टोटल मेमोरी रिजर्व्ड आ जाएगी एक बार एक एरे को मेमोरी के अंदर इनिश इज भी कराकर देख लेते हैं तो जैसे यहां पर हमने प्राइस बनाया इस प्राइस की वैल्यू को हम एंटर करने की जगह इसको डायरेक्टली इनिशियलिज्म साइज हटा दें तो ये वाला सिंटेक्स भी बिल्कुल सही रहता तो जो भी आपके यूज केस में फिट कर रहा है आपको वो वाला सिंटेक्स यूज़ करना है किसी भी एरे को इनिश इज करने के लिए अब नेक्स्ट टॉपिक जिसकी हम बात करेंगे वो है पॉइंटर एरिथ मेे िक एरिथ मेे िक से मतलब हमने समझा था कि जिसमें प्लस माइनस मल्टीप्लाई डिवाइड मॉड्यूल के साथ खेलते हैं यहां पे पॉइंट्स की इसलिए बात कर रहे हैं क्योंकि अरेज किसी ना किसी तरह पॉइंटर से रिलेटेड होते हैं वो एक बार पॉइंटर एरिथ मेे िक समझ लेंगे उसके बाद समझेंगे कैसे रिलेटेड होते हैं तो पॉइंट्स के अंदर हम मल्टीप्लाई डिवाइड मॉड्यूल ये सब तो नहीं कर सकते हैं पर कुछ एरिथ मेे िक ऑपरेशंस है जो परफॉर्म कर सकते हैं इनमें आते हैं हमारे इंक्रीमेंट ऑपरेटर और डिक्रिमेंट ऑपरेटर यानी पॉइंटर की वैल्यू को हम प्लस या माइनस कर सकते हैं जैसे सबसे पहला अगर केस देखें तो इसमें हमने एक इंटी जर वेरिएबल बनाया है एज जिसके अंदर स्टोर कराया 22 मान लीजिए ये एज वेरिएबल हमारी मेमोरी में कुछ इस तरीके से है जहां पे 22 स्टोर्ड है और ये है 2000 यहां मेमोरी लोकेशन अब हम क्या कर रहे हैं एक पॉइंटर बना रहे हैं जो एज को पॉइंट करता है तो ये पॉइंटर कहीं पर बना होगा मतलब मेमोरी में कोई और लोकेशन बनी होगी जिसका नाम होगा पॉइंटर जहां पे स्टोर कराया होगा हमने 2000 और इसका भी अपना कोई लोकेशन होगा 4010 अब हमने कर दिया पॉइंटर को प्लस प्लस तो अब हमें बताना है पॉइंटर कहां पे पॉइंट कर रहा है पॉइंटर को प्लस प्लस करने का मतलब हमने कर दिया पॉइंटर इज इक्वल टू पॉइंटर + 1 पर जब भी हम पॉइंट्स को इंक्रीमेंट या डिक्रिमेंट करते हैं तो एक स्पेशल चीज होती है व उनकी वैल्यू + 1 या -1 नहीं होती जब भी + व लिखा होता है इसका मतलब है एक डेटा टाइप बढ़ा दो यानी अगर पॉइंटर इंटी जर टाइप का है तो वो इंटी जर के साइज से बढ़ जाएगा अगर पॉइंटर कैरेक्टर टाइप का है तो वो कैरेक्टर के साइज से बढ़ जाएगा अगर पॉइंटर फ्लोट टाइप का है डबल टाइप का है तो वो उस साइज से बढ़ जाएगा यहां पे हमारा जो पॉइंटर है वो एक इंटी जर का एड्रेस स्टोर करा रहा है तो मतलब उसमें चार बाइट्स ऐड हो जाएंगी जैसे अगर पॉइंटर की वैल्यू अभी 2000 थी और अब हमने कर दिया पॉइंटर प्लस प्लस तो इसकी वैल्यू बढ़कर हो जाएगी 2004 तो ये पॉइंटर जो है अब यहां पर पॉइंट करवाने लग जाएगा यहां पर नहीं क्योंकि ये मेमोरी अल्टीमेटली चार बाइट्स ले रही है और इस मेमोरी लोकेशन का भी एड्रेस है 2004 और इस मेमोरी लोकेशन का है 1996 तो यहां से इंटूटिव हम समझ सकते हैं कि अगर पॉइंटर प्लस प्लस किया तो वो एक इंटी जर आगे बढ़ेगा यानी चार बाइट्स आगे बढ़ेगा और अगर पीटीआर माइनस माइनस हमने किया तो वो चार बाइट्स पीछे जाएगा यानी 2004 को हमने उसके बाद दोबारा से पॉइंटर माइनस माइनस कर दिया तो वो वापस से अपनी ओरिजिनल लोकेशन में आ जाएगा दैट इज 2000 अब एक बार इसको कोड करके भी वेरीफाई कर लेते हैं अपने प्रोग्राम के अंदर एक वेरिएबल बनाते हैं इंट एज 22 और फिर बनाते हैं पॉइंटर पीटीआर पीटीआर के अंदर स्टोर कर एड्रेस ऑफ एज अब हमने कर दिया सबसे पहले पीटीआर को प्लस प्लस करा लेते हैं प्लस प्लस यहां पर करवा दिया और उससे पहले पीटीआर की वैल्यू को करते हैं प्रिंट पीटीआर इ इक्वल टू परसेंटेज अनसाइंड इंट में इसको दिखाएंगे कंट्रोल सी एंड दोबारा से पीटीआर की वैल्यू को तो इसको कर लेते हैं रन तो सबसे पहले पीटीआर की वैल्यू जो प्रिंट हुई दैट इज 18 22802 और उसके बाद जो प्रिंट हुई उसके लास्ट में आया 156 अब ध्यान से देखेंगे तो 152 और 156 के अंदर डिफरेंस कितना है चार का डिफरेंस है तो हम समझ सकते हैं जैसे ही प्लस प्लस किया वैसे वैल्यू क्या है इंटी जर के साइज से बढ़ गई यानी चार बाइट से बढ़ गई अब यहां पर अगर हम दोबारा से माइनस माइनस करें पीटीआर माइनस माइनस और उसके बाद दोबारा से पीटीआर की वैल्यू को प्रिंट करवाएंगे तो सबसे पहले पॉइंटर की वैल्यू ये थी जिसमें लास्ट में आ रहा था 112 उसके बाद पीटीआर प्लस प्लस किया तो आ गया 116 चार से बढ़ गई उसके बाद माइनस माइनस किया तो वापस से 112 आ गया यानी ओरिजिनल मेमोरी लोकेशन पे आ गया क्योंकि दोबारा से माइनस माइनस किया तो उसको एक इंटी जर साइज से कम होना है यानी चार बाइट्स कम हो गया तो इस तरीके से हमारे डिक्रिमेंट और इंक्रीमेंट ऑपरेटर काम करते हैं पॉइंट्स के अंदर सेकंड केस लेते हैं सेकंड केस में क्या हो रहा है हमने एक फ्लोटिंग वेरिएबल बनाया है प्राइस जिसके अंदर स्टोर कराया है 20.00 अब हमने क्या किया पीटीआर को पॉइंट करवा दिया प्राइस की तरफ और फिर कर दिया पीटीआर प्लस प्लस तो इस बार जब पॉइंटर इ इक्व टू पॉइंटर प्व हम करेंगे तो ये प्लव वाला जो साइज होगा ये हमारे फ्लोट की बाइट्स होंगी तो ये फ्लोट के साइज के हिसाब से इंक्रीमेंट और डिक्रिमेंट होगा एक बार इसको भी कोड करके देख लेते हैं यहां पे लिखेंगे फ्लोट प्राइस इ इक्वल टू 100 अब ये पॉइंटर जो है प्राइस को पॉइंट करा रहा है पहले हम पॉइंटर की ओरिजिनल वैल्यू प्रिंट कराएंगे फिर प्लस प्लस वाली और फिर माइनस माइनस वाली तो रन करते हैं कोड को तो ओरिजिनल वैल्यू थी 904 जैसे ही प्लस प्लस किया चार बाइट से बढ़ गई फ्लोट की चार बाइट्स उसमें ऐड हो गई और जैसे ही माइनस माइनस किया वापस से फ्लोट की चार बाइट्स उसमें से कम हो गई तो इस तरीके से फ्लोट के साइज के हिसाब से भी पॉइंटर चेंज होता है और केस थ्री अगर लें तो ये हमारा कैरेक्टर का केस है सबसे पहले हमने कैरेक्टर बनाया स्टार उसके अंदर एस्टरिस स्टोर कराया उसके बाद एक पॉइंटर बनाया जो स्टार को पॉइंट कर रहा है और फिर कराया पीटीआर तो कैरेक्टर में क्या होता है एक बाइट होती है कैरेक्टर सिर्फ एक बाइट का होता है तो जब भी इंक्रीमेंट होगा वो एक्चुअली बाय वन होगा क्योंकि एक बाइट इंक्रीमेंट हो रही है जैसे यहां पर है 2000 यहां पे 2001 और यहां पे है 2002 यहां पे अगर हमने स्टार नाम का वेरिएबल बनाया जिसमें स्टार स्टोर है यानी एस्टरिस स्टोर्ड है और पॉइंटर इसको पॉइंट कर रहा है तो जैसे ही प्लस प्लस करेंगे पॉइंटर पॉइंट करने लग जाएगा इसको अगर माइनस माइनस कर दिया तो पॉइंटर पॉइंट करने लग जाएगा इसको इसको भी कोड करके वेरीफाई कर लेते हैं यहां पे बनाते हैं कैर स्टार इ इक्वल टू एस्ट रिस्क इसमें स्टोर कराएंगे स्टार का एड्रेस एंड उसके बाद दोबारा से पॉइंट्स की वैल्यूज को तो सबसे पहले पॉइंटर की वैल्यू एंड हो रही थी 0 टू सेन से प्लस प्लस किया तो 0 टू 8 पे आ गई क्योंकि एक बाइट से इंक्रीज होगा कैरेक्टर और माइनस माइनस किया तो हो गई 0 टू से तो इस तरीके से अगर आपके पास सवाल आते हैं कि पॉइंट्स को इंक्रीमेंट करने हैं या डिक्रिमेंट करने हैं तो उन सवालों में कंफ्यूज नहीं होना है सिर्फ साइज को ऐड कर देना है अगर इंटी जर में + 1 लिखा है तो उसका मतलब + 1 नहीं है उसका मतलब + 4 है फ्लोट में लिखा है तो उसका भी मतलब + 4 है कैरेक्टर में लिखा है तो उसका मतलब + 1 अब पॉइंटर एरिथ मेे िक के अंदर दो और चीजें आती है जिनमें से सबसे पहले है कि वी कैन सबट क्ट वन पॉइंटर फ्रॉम अनदर यानी एक पॉइंटर में से दूसरे पॉइंटर की वैल्यू को माइनस कर सकते हैं जैसे अगर हमने लिखा इंट पीटीआर व किसी इंटी जर एज को पॉइंट करा रहा है और इंट पीटीआर 2 किसी इंटी जर एज टू को पॉइंट करा र है तो अगर हम pt2 - pt1 करते हैं तो यह वाला जो ऑपरेशन है यह लिड है साथ के साथ वी कैन आल्सो कंपेयर टू पॉइंट्स यानी एक पॉइंटर की वैल्यू को दूसरे पॉइंटर की वैल्यू से कंपेयर कर सकते हैं उससे या तो आंसर ट्रू आएगा या फाल्स आएगा इसका भी एक एग्जांपल देख लेते हैं इंट ए इ 22 इंट ए इ 23 तो ये अंडरस्कोर एज है जो कि एक अलग वेरिएबल है इन्हीं के हिसाब से पॉइंट्स बनाते हैं इंट स्टार पीटीआर सबसे पहले डिफरेंस प्रिंट करेंगे परसेंटेज य ब n पटीर - पीटीआर और उसके बाद प्रिंट करेंगे कंपैरिजन कंपैरिजन के लिए क्या करते हैं हम अपना जो अंडरस्कोर पीटीआर है ना उसमें स्टोर करा लेते हैं एज का एड्रेस तो अब यहां पे कंपेयर कर लेंगे कि दोनों सेम हो गए क्या कैसे कंपेयर करेंगे अब पॉइंटर जो है नॉर्मल पीटीआर वो स्टोर करा रहा है एज का एड्रेस और अंडरस्कोर पीटीआर में भी एज का एड्रेस स्टोर कराया है तो कायदे से लॉजिकली दोनों के अंदर सेम एड्रेस की वैल्यू है तो इ इक्वल टू इ इक्वल टू जब करेंगे तो दोनों का कंपैरिजन जो है वो ट्रू रिटर्न करेगा यानी वन रिटर्न करेगा तो आउटपुट भी देख ले लेते हैं एक बार सेव करके इसको रन करते हैं डिफरेंस आया है वन और कंपैरिजन भी वन अब कंपैरिजन में वन का मतलब ट्रू है और डिफरेंस में वन का मतलब बाय वन इंटी जर है जैसे इनकी वैल्यूज को भी प्रिंट करवा लेते हैं परसेंटेज u परसेंटेज u और यहां पे प्रिंट करवाएंगे पीटीआर और अंडर पीटीआर तो सबसे पहले पीटीआर की वैल्यू है 18700 जो एंड हो रही है 264 से अंडर पीटीआर की वैल्यू एंड हो रही है 260 से तो जब हमने किया पीटीआर - पीटीआर अंडरस्कोर पीटीआर तो 264 में से 260 माइनस हुआ तो डिफरेंस तो चार का आना चाहिए पर प्रिंट हुआ वन क्योंकि ये चार नहीं दिखाएगा ये मतलब बाइट्स में नहीं दिखाएगा डिफरेंस यह दिखाएगा कि दोनों के अंदर कितने इंटी जर्स का डिफरेंस है तो एक इंटी जर का डिफरेंस है व्हिच इज इक्विवेलेंट टू चार बाइट्स और कंपैरिजन में तो ट्रू आना ही था क्योंकि दोनों सेम एड्रेस को पॉइंट कर रहे हैं तो ओबवियसली दोनों की वैल्यू सेम है अब एक छोटी सी चीज करके देखते हैं साथ में यहां पे एज को बना देते हैं क्या कैरेक्टर और इसको बना देते हैं कैरेक्टर पॉइंटर अब यह जो कैरेक्टर पॉइंटर है कंपैरिजन तो ऑब् वियस दोनों का ट्रू नहीं आएगा परट डिफरेंस को एक बार एनालाइज करते हैं तो यहां पे देखेंगे शुरुआत में ही एरर आ गया क्यों क्योंकि हम एक इंटी जर पॉइंटर को एक कैरेक्टर पॉइंटर में से डिफरेंस लेकर नहीं देख सकते ये दोनों कंपैटिबल टाइप्स नहीं है तो जब भी डिफरेंस लेना होगा मतलब एक पॉइंटर से दूसरा पॉइंटर माइनस होगा तो वो सेम टाइप के पॉइंट्स होने चाहिए अलग-अलग टाइप्स के नहीं तो ये चीज ध्यान रखनी है जब भी पॉइंट्स का डिफरेंस ले और डिफरेंस नंबर नहीं आता मतलब दोनों में नंबर का जो डिफरेंस है डिफरेंस आता है डेटा टाइप का कि कितने डेटा टाइप्स का डिफरेंस है नेक्स्ट टॉपिक की बात करेंगे नेक्स्ट टॉपिक कहता है कि हमने पॉइंटर एरिथ मेे पढ़ा क्यों ये इसलिए पढ़ा क्योंकि एरे इज अ पॉइंटर जो हम अरेज पढ़ रहे थे वो एक्चुअली पॉइंटर है कैसे अगर हम एक पॉइंटर बनाते हैं इंट स्टार पॉइंटर और उसमें पॉइंट करा देते हैं एरे की फर्स्ट लोकेशन को यानी एरे ऑफ जीरो का एड्रेस अगर हम इस पॉइंटर के अंदर स्टोर कर देते हैं तो हम कुछ इस तर तरीके से कर रहे होंगे ये हमने सिंटेक्स ऑलरेडी सीखा हुआ है पर अगर यह वाली चीज को इस राइट साइड वाले पूरे पार्ट को हम एरे से रिप्लेस करना चाहे तो भी कर सकते हैं मतलब हमारा जो एरे होता है उसका फर्स्ट इंडेक्स पे जो लोकेशन है एरे का नाम वो एक्चुअली एक पॉइंटर होता है पॉइंट कहां करता है एरे की जरूरत इंडेक्स प जैसे अगर मेरे पास कोई एरे है मान लीजिए मार्क्स नाम का एरे है जिसने काफी सारे स्टूडेंट्स के मार्क्स स्टोर कराए हुए हैं 0 1 2 3 4 5 6 तो ये जो मार्क्स है इसका आप टाइप देखेंगे तो ये एक्चुअली एक पॉइंटर है और ये पॉइंट कहां कराता है पॉइंट कराता है एरे की रोयत लोकेशन पे तो फिर चाहे हम ये लाइन लिखें मतलब एड्रेस ऑफ रोयत लोकेशन या फिर हम सीधा एरे का नाम लिखें दोनों बराबर हैं दोनों का सिंटेक्स अलग-अलग है ब दोनों का मतलब सेम है तो इस तरीके से एरे का जो नाम होता है वो एक पॉइंटर होता है और एक बहुत इंपॉर्टेंट चीज है जो हमें याद रखनी है क्योंकि ये सवालों में पूछ ली जाती है अब अगर किसी एरे पे हमें ट्रेवल करना है यानी एक जगह से दूसरी जगह जाना है अगर एरे के अंदर 100 एलिमेंट्स हैं तो उनके एक के बाद एक के बाद एक वैल्यूज को प्रिंट करवाना है तो कैसे करवाएं सबसे पहले तो हम अब हमने नया-नया सीखा है कि एर एक पॉइंटर होता है और यह भी सीखा है कि पॉइंटर वैल्यू को हम प्लस भी कर सकते हैं और माइनस भी कर सकते हैं तो सिंपली क्या करेंगे एक लूप चलाएंगे लूप चला के अगर हमारी वैल्यूज अगर हम शुरुआत में हमारा पॉइंटर जीरो पर है तो उसको प्लस प्लस करते हुए हम एंड तक लेके जाएंगे और उसी तरीके से माइनस माइनस करते हुए वापस भी लेकर आ सकते हैं और यहां पर हम रो से लेकर n तक अपने पॉइंटर को प्रिंट करवाएंगे कैसे करेंगे मान लीजिए आधार कार्ड आपने स्टोर करा आधार वैल्यूज 10 लोगों की सबसे पहले अगर एक्सेस करनी है हमें चीजें यानी स्कैन एफ या प्रिंट एफ इनपुट आउटपुट दोनों के लिए इसको एक एग्जांपल से समझते हैं मान लीजिए आपने एक आधार नाम का एरे बनाया है जो 10 लोगों का आधार कार्ड स्टोर कराता है अब उसके लिए आपको एक लूप लगाना है जो 10 लोगों के आधार को इनपुट करे और फिर 10 लोगों के आधार को आउटपुट में दे तो उसके लिए एक पॉइंटर बना लो पॉइंटर कहां पॉइंट कर रहा है फर्स्ट इंडेक्स पर तो पॉइंटर हमारा यहां पर पॉइंट कर रहा है इस लोकेशन पर और सारे इंडेक्स में हमने जो है अपनी वैल्यूज वो स्टोर करा ली है तो 10 वैल्यूज के लिए हमने पूरा का पूरा अपना एरे बना लिया इसको नाम दे दिया हमने आधार अब एक पॉइंटर बना लिया है जो पॉइंट कर रहा है फर्स्ट लोकेशन पे अब यह पॉइंटर क्या करेगा सबसे पहले फर्स्ट लोकेशन पर जो भी वैल्यू है उसको प्रिंट करवा देगा फिर कर देंगे पॉट पॉइंटर प्लस प्लस फिर सेकंड लोकेशन पे आ जाएगा यहां की वैल्यू को प्रिंट करवा देगा फिर दोबारा से कर देंगे पॉइंटर प्लस प्लस तो थर्ड लोकेशन पे आ जाएगा यहां की वैल्यू को प्रिंट कराएगा फिर दोबारा से प्लस प्लस यहां पे आएगा वैल्यू को प्रिंट करवा देगा तो इस तरीके से हम एक लूप चला सकते हैं उस लूप के अंदर एक पॉइंटर को बार-बार प्लस प्लस कर देंगे तो वो आगे की मेमोरी लोकेशंस को एक्सेस करता रहेगा फिर चाहे हम इनपुट ले रहे हो या आउटपुट ले रहे हो इसको करके देखेंगे तो कोड से हमें बेटर समझ आएगा सबसे पहले अपना एक एरे बना लेते हैं इंट आधार के नाम से इसका साइज यहां पर रख लेते हैं फ क्योंकि 10 नंबर्स डालना थोड़ा इनकन्वेनिएंट हो जाएगा अब सबसे पहले इस एरे की वैल्यू को इनपुट कराएंगे इनपुट कराने के लिए हमें पॉइंटर की हेल्प से इनपुट कराना है तो एक पॉइंटर बना लेते हैं जो कहां पॉइंट कर रहा है फर्स्ट मेमोरी लोकेशन पर तो फर्स्ट मेमोरी लोकेशन का एड्रेस इसमें डाल देते हैं उसके बाद एक लूप लगाते हैं इंट आ इ 0 से जाएगा 10 तक जाएगा आ प् प्लस हम हर बार प्रिंट कर देते हैं कि कौन से इंडेक्स की हमें वैल्यू चाहिए परसेंटेज डी इंडेक्स आई इंडेक्स की हमें वैल्यू चाहिए और उस वैल्यू को हम कर लेते हैं स्कैन परसेंटेज डी यहां पे एड्रेस दे देंगे पॉइंटर प्लस आ का तो यहां पे फॉर लूप हमने लगाया और ये फॉर लूप 08 इंडेक्स से हमारे नाइंथ इंडेक्स तक जा रहा है तो वैल्यू जीरो से लेकर लेस दन 10 तक रहेगी जीरो से इसलिए शुरू किया है क्योंकि जीरो बेस्ड इंडेक्सिंग होती है एरे के हिसाब से अब यहां पर सबसे पहले प्रिंट कर देंगे कौन से इंडेक्स की हमें वैल्यू चाहिए तो i हमारा इंडेक्स है एक तरीके से और जिसको भी स्कैन करना है उसमें हम लिख देंगे पॉइंटर प् आ यानी पॉइंटर हमने लिख दिया पॉइंटर रो एथ इंडेक्स को पॉइंट कर रहा है पर जैसे ही उसमें प् आ होता रहेगा यानी उसमें + व करेंगे तो वो फर्स्ट पोजीशन पे आ जाएगा + ट करेंगे सेकंड पोजीशन पे + 3 करेंगे थर्ड पोजीशन पे इस तरीके से एक एक डाटा टाइप से वो बढ़ता रहेगा तो यहां पे स्कैनिंग हो जाएगी फिर आउटपुट के लिए एक और लूप लगा लेते हैं आई ले 10 i+ + प्रिंट f d इंडेक्स में है वैल्यू परसेंटेज d अब यहां पे सबसे पहले इंडेक्स प्रिंट कर देंगे उसके बाद वैल्यू प्रिंट कर देंगे वैल्यू प्रिंट करने के लिए हम पीटीआर + आ भी कर सकते हैं तो एक बार ये करके देखते हैं उसके बाद एक और थोड़ा सा हल्का सा चेंज सिंटेक्स देखेंगे तो जरो तो इंडेक्स पे हम डाल रहे हैं 12 13 14 15 एंड 16 यहां पर अगर हमारे आधार का साइज पांच है तो हमें 10 की जगह यहां पे पांच करने की जरूरत है क्योंकि हम 10 साइज का नहीं पांच साइज का इस बार एरे अपना बना रहे हैं एक बार दोबारा से रन कर लेते हैं 12 13 14 15 एंड 16 तो जरत इंडेक्स पे 12 आ गया है फर्स्ट इंडेक्स पे 13 आ गया है सेकंड पे 14 थर्ड पे 15 और फोर्थ पे 16 तो ये सारे के सारी वैल्यूज हमारे एरे के अंदर स्टोर हो गई हैं अब यहां पे स्टार पीटीआर + 1 किया यह तो हो गया पॉइंटर से करने का तरीका यहां पे हम यह भी कर सकते थे आधार ऑफ हमारा इंडेक्स आ तो यह डायरेक्टली इंडेक्स आ पर जो भी वैल्यू है वो आधार के हिसाब से निकाल लेगा तो इसको भी सेव कर लेते हैं और इनपुट लेते टाइम भी हम सेम चीज कर सकते थे यानी आधार ऑफ आ तो ये आ चेंज होता रहेगा और आधार के हिसाब से हम एड्रेस सेंड करते रहेंगे तो यह भी बिल्कुल करेक्ट फॉर्मेट होता चीजों को करने का 12 13 14 15 16 तो इससे भी सेम इनपुट और आउटपुट हम ले पा रहे हैं चाहे हम पॉइंट्स का इस्तेमाल करें चाहे हम नॉर्मली ये चीजों का इस्तेमाल करें मतलब स्क्वायर ब्रैकेट्स का दोनों में आउटपुट इनपुट सेम रहेगा हमें बस जो भी हमें कन्वेनिएंट ज्यादा पड़ता है उसका हम यूज़ कर सकते हैं पर एक चीज हमेशा याद रखनी है कि एरे का फर्स्ट इंडेक्स एरे खुद में एक पॉइंटर होता है वो चीज कभी भूलनी नहीं है नेक्स्ट चीज जिसकी हम बात करेंगे वो है अरेज एज फंक्शन आर्गुमेंट अब जैसे हम नॉर्मल इंटी जर को फ्लोट को कैरेक्टर को फंक्शन में आर्गुमेंट की तरह पास कर सकते हैं वैसे ही फंक्शन कॉल्स के अंदर हम अरेज को भी भेज सकते हैं यानी किसी फंक्शन को हम बना सकते हैं कि प्रिंट करो जी एरे की वैल्यू को तो उसके अंदर कोई भी एरे आप डाल दोगे वो उसकी वैल्यू को प्रिंट कर देगा तो उसके आर्गुमेंट में उसके पैरामीटर में आपको एक एरे डिफाइन करना पड़ेगा का फॉर्मेट क्या रहता है सबसे पहले आती है फंक्शन डिक्लेरेशन ऐसे फंक्शन को आप डिक्लेयर कैसे करेंगे या तो उसके अंदर आप आर्गुमेंट के अंदर नॉर्मल आपने फंक्शन लिखा हुआ है पर पैरामीटर के अंदर आप लिखेंगे इंट एरे और फिर स्क्वायर ब्रैकेट्स इसके अंदर आपको साइज देने की जरूरत नहीं है मतलब ये किसी भी साइज का हो सकता है एरे इसीलिए साइज के लिए हमें अलग से एक इंटी जर n पास करना पड़ेगा जो बताएगा एरे का साइज क्या है या फिर उसको पॉइंटर की तरह भी पास कर सकते हो ये है स्क्वायर ब्रैकेट्स वाला तरीका और यह है हमारा पॉइंट्स वाला तरीका और दोनों सही हैं यहां पे इंट एस्ट रिस्क एरे तो ये पॉइंटर की तरह भी पास कर सकते हैं और फंक्शन कॉल के अंदर बस आपको एरे का नाम लिख देना है तो हमें ऑलरेडी पता है दिस इज इक्वल टू m पर ए आर आर ऑफ ज़ीरो तो ये इस पॉइंटर में जाके वैल्यू स्टोर हो जाएगी तो एरे खुद एक पॉइंटर है जाके पॉइंटर के अंदर स्टोर हो जाएगा तो इसको एक बार करके देखते हैं सबसे पहले तो एक फंक्शन बनाते हैं फंक्शन को डिक्लेयर करेंगे वॉइड प्रिंट नंबर्स प्रिंट नंबर्स के अंदर एक एरे आता है और उसका साइज आता है तो ये एरे हमने डिफाइन किया स्क्वायर ब्रैकेट्स की हेल्प से और साइज को बनाया नॉर्मल इंटी जर अब इसको डिफाइन भी कर लेते हैं वॉइड प्रिंट नंबर्स जिसके अंदर आ रहा है हमारे पास इंट एरे और इंट n अब एरे के साइज के हिसाब से एक लूप चलाएंगे जो जीरो से लेकर n तक चलेगा तो यहां लेस देन n वाली कंडीशन है हर बार कर रहे हैं i+ प् और एरे के एलिमेंट्स को करा देंगे प्रिंट तो प्रिंट f परसेंटेज d बै स् t और यहां पर लिख देंगे ए आर आर ऑफ आई जैसे बै स्ल ए नेक्स्ट लाइन के लिए होता है बैल t हमारा एक टैब का स्पेस दे देता है तो जो भी नंबर्स प्रिंट होंगे ना वो थोड़ी-थोड़ी स्पेस के बाद प्रिंट होंगे तो अच्छा लगेगा देखने में तो इस तरीके से और लास्ट में एक नेक्स्ट लाइन प्रिंट करवा लेते हैं ब n से अब मेन फंक्शन के अंदर एक एरे बनाते हैं जिसके अंदर कुछ नंबर्स हैं 1 2 3 4 5 एंड 6स और प्रिंट नंबर्स को लगाते हैं कॉल प्रिंट नंबर्स के अंदर एरे लिख दिया ए फर्स्ट आर्गुमेंट और नंबर लिख दिया कि सिक्स एलिमेंट्स है इसके अंदर इसको कर लेते हैं सेव एंड रन तो हमारे जो नंबर्स है वो एक के बाद एक के बाद एक लिखे हुए हमारे पास प्रिंट होकर आ गए हैं और यहां चाहते हम तो स्क्वायर ब्रैकेट्स हटाकर इसको एक पॉइंटर भी बना सकते थे स्टार्ट पीटीआर और यहां पे इंट स्टार पीटीआर या इनफैक्ट पीटीआर की जगह अगर इसको ए आर ही रखते हैं हम दोबारा से कोड को रन करते हैं और इस बार सेम आउटपुट हमारे पास आ गया है तो मतलब एरे को आप पॉइंटर की तरह रखें अगर अपने फंक्शन पैरामीटर्स में रखना है या फिर आप स्क्वायर ब्रैकेट्स वाले नोटेशन रखें दोनों नोटेशन में हमारे पास सेम आउटपुट निकल के आएगा नेक्स्ट टॉपिक जिसको डिस्कस करेंगे वो है मल्टी डायमेंशन अरेज मल्टी डायमेंशन अरेज यानी अभी तक हमने जो अरेज पढ़े वो वडी वाले अरेज हैं एक डायमेंशन में काम करते हैं डायमेंशन क्या है लीनियर इस तरीके से हमारा एरे हमारे पास था पर मान लीजिए हमें दो एरे रखने हो तो उनको एक के बाद एक के बाद एक रख सकते हैं उसके बाद तीन एरे रखने हो तो एक के बाद एक के बाद एक एरे रख सकते हैं तो यहां पे हम डायमेंशन के साथ खेलते हैं यानी हमें तीन एरे चाहिए और हर एरे का साइज मुझे चाहिए 10 तो मैं एक 2d एरे बना दूं 2d एरे इस तरीके से हम डिफाइन करते हैं सबसे पहले लिखेंगे उसका टाइप इंट उसके बाद लिखेंगे उसका नाम एरे फिर लिखेंगे दो स्क्वायर ब्रैकेट्स जितने स्क्वायर ब्रैकेट्स मल्टी डायमेंशन एरे के अंदर होंगे वो बताएगा कि उसकी डायमेंशन कितनी है अब अभी तक हम लिख रहे थे इंट ए आ ऑफ 3 तो इसका मतलब था इसमें एक डायमेंशन है दो स्क्वायर ब्रैकेट्स यानी इसमें दो डायमेंशन है और राइट साइड में किस तरीके से डिफाइन करेंगे बाहर वाले स्क्वायर ब्रैकेट्स बताएंगे कि अंदर का टोटल कितना डाटा स्टोर्ड है एक स्क्वायर ब्रैकेट का मतलब एक एरे दूसरे स्क्वायर ब्रैकेट का मतलब दूसरा एरे तो पहले एरे में एलिमेंट है वन और टू दूसरे एरे में है थ्री और फोर तो ये एरे एक्चुअली बनेगा कैसे मेमोरी के अंदर अब इसको विजुलाइज करना है तो दो तरीके हैं पहला तरीका है कि हम कुछ इस तरीके से विजुलाइज करें कि यहां पे स्टोर्ड है हमारा वन यहां पर टू यहां पर थ्री यहां पर फर यह हमारा एरे है इसके अंदर यह वाली जो लोकेशन है इसको 0 0 कहेंगे इसको 01 कहेंगे इसको 10 कहेंगे और इसको वन वन कहेंगे तो ये मैट्रिक्स की तरह हम इमेजिन कर सकते हैं 11वीं 12वीं में एक मैट्रिक्स पड़ी होगी जिसके अंदर कुछ-कुछ पार्ट्स हमारे होते थे तो यहां होता था रो यहां वन यहां टू यहां रो यहां वन यहां टू तो उसी तरीके का यह है कि यहां पे अगर वन लिख दिया यहां पे टू लिख दिया यहां थ्री लिख दिया या फोर लिख दिया तो ये हो गया 0 ये हो गया 0 व ये हो गया 10 ये हो गया व इस तरीके का कुछ सिस्टम रहता है तो यहां पे भी मतलब मेमोरी के अंदर भी ऐसा ही कुछ है कि इसको हम जीरो जीरो कहेंगे इसको 0 व कहेंगे इसको 10 कहेंगे इसको व व कहेंगे पर ये एक्चुअली मेमोरी के अंदर कैसे स्टोर होता है स्टोर होता है इस फॉर्मेट में यानी पहले तो वन आ जाएगा फिर टू आ जाएगा फिर थ्री आ जाएगा फिर फोर आ जाएगा तो ये जीरो जीरो हो जाएगा ये रो वन ये वन ़ और ये 1 1 अब अगर एक्सेस करना है हमें तो एलिमेंट्स को एक्सेस कैसे करेंगे एरे ऑफ 0 0 निकालना हो तो वो होगा ये वैल्यू वन एरे ऑफ़ ़ व निकालना हो तो ये वैल्यू होगी टू एरे ऑफ़ व 0 निकालना हो तो ये वैल्यू होगी थ्री एरे ऑफ 1 1 निकालना हो तो ये वैल्यू होगी फर तो जब भी 2d एरे को विजुलाइज करना है हम उसको मैट्रिक्स की फॉर्म में विजुलाइज कर लेते हैं यहां पर यह वाला हमारा फर्स्ट एरे हो जाएगा यह वाला हमारा सेकंड एरे हो जाएगा अगर थर्ड थड एरे होता तो वो उसके नीचे आ जाता यह वाला हो जाता हमारा थर्ड एरे और हर एरे का साइज जो है वो सेम रहता है इस एरे का साइज भी दो है इस एरे का साइज भी दो है इस एरे का साइज भी दो है पर हम बना कितने भी चाहे n एरे बना लो चाहे n -1 बना लो n -2 जितने मर्जी उतने एरे हम बना सकते हैं पर सबका साइज हमारे पास सेम रहेगा और विजुलाइज कैसे करना है मैट्रिक्स की हेल्प से अब इसका एक सवाल करके देख लेते हैं अब यहां पर तो हम बात कर रहे हैं 2d अरेज की ऐसे ही हमारे पास 3d एरे भी होते हैं 4d अरेज भी होते हैं 5d अरेज भी होते हैं पर ये इतना प्रोग्रामिंग में यूज़ नहीं होते मोस्टली जो सवाल आएंगे आपके पास वो 2d अरेज के आने वाले हैं अब एक 2d एरे बनाते हैं एक एरे को इस तरीके से बनाएंगे कि हम दो बच्चों के तीन सब्जेक्ट्स के मार्क्स स्टोर करा रहे हैं तो ये चीज ध्यान देनी है कि हमें दो बच्चों के तीन सब्जेक्ट्स के मार्क्स को स्टोर कराना है तो एक मार्क्स नाम का 2d एरे बनाते हैं जिसका साइज होगा टू और थ्री यानी दो एरे बन रहे हैं मेमोरी में किस तरीके से होगा सबसे पहले तीन लोकेशन आ जाएंगी उसके बाद तीन और लोकेश आ जाएंगी इसमें पहले स्टूडेंट के तीन सब्जेक्ट के मार्क्स स्टोर्ड होंगे इसमें दूसरे स्टूडेंट के तीन सब्जेक्ट्स के मार्क्स स्टोर होंगे इस तरीके से मेमोरी में एरे हमारा बनेगा अब मार्क्स हम लिख लेते हैं फर्स्ट स्टूडेंट के यानी रोत इंडेक्स यहां पर भी रोए इंडेक्स होता है फर्स्ट स्टूडेंट के फर्स्ट सब्जेक्ट के मार्क्स यहां पर लिख सकते हैं 90 इंटी जर हम नहीं लिखेंगे अब दोबारा से फर्स्ट स्टूडेंट के सेकंड सब्जेक्ट के मार्क्स तो उसके लिए 89 दोबारा से फर्स्ट स्टूडेंट के थर्ड सब्जेक्ट के मार्क्स तो 78 उसी तरीके से हम सेकंड स्टूडेंट के लिए भी मार्क्स लिख सकते हैं तो सेकंड स्टूडेंट के सेकंड सब्जेक्ट के सेकंड स्टूडेंट के फर्स्ट सब्जेक्ट के और सेकंड स्टूडेंट के थर्ड सब्जेक्ट के यहां पे मार्क्स की वैल्यू हम चेंज कर सकते हैं तो इन वैल्यूज को उसी तरीके से हम इनपुट करेंगे उसी तरीके से आउटपुट करेंगे जैसे करते आए थे जैसे फर्स्ट स्टूडेंट के फर्स्ट सब्जेक्ट के मार्क्स अगर प्रिंट करने हैं तो लिखेंगे बस प्रिंट एफ परसेंटेज डी मार्क्स ऑफ 0 जीरो तो ये बता रहा है रो इ स्टूडेंट यानी हमारा पहला स्टूडेंट उसके जीरो एथ सब्जेक्ट के यानी फर्स्ट सब्जेक्ट के मार्क्स देख लेते हैं तो ये 90 हमारे पास प्रिंट होकर आ गया दिस वैल्यू तो इस तरीके से 2d अरेज के साथ भी हम खेल सकते हैं वह यूज़ केस पर डिपेंड करता है कि आपका ऐसा केस है क्या जिसमें आपको 2d एरे बनाने की जरूरत पड़ रही है मोस्टली सी के अंदर हम बेसिक प्रोग्रामिंग सीख रहे होते हैं तो हम वडी अरेज के साथ ही खेलेंगे थोड़े बहुत डी अरेज के क्वेश्चन आ जाएंगे 3d अरेज पर हम इतना नहीं जा रहे होंगे लद वो भी पॉसिबल है कई-कई कॉम्प्लेक्टेड में हमने काफी कुछ सीख लिया है तो हम उसके कुछ सवाल प्रैक्टिस कर लेते हैं सबसे पहला सवाल जिसकी बात करेंगे वह है राइट अ फंक्शन टू काउंट द नं ऑफ ऑड नंबर्स इन एन एरे एक फंक्शन बनाएंगे वो फंक्शन क्या करेगा एक एरे को पैरामीटर की तरह लेगा आर्गुमेंट में पास करेंगे एरे व फंक्शन के अंदर आएगा और उस एरे के अंदर कितने ऑड नंबर्स हैं उनको हम काउंट करेंगे जैसे फॉर एग्जांपल जैसे फॉर एग्जांपल हमारे पास एक एरे है जिसके अंदर कुछ नंबर स्टोर्ड है 1 2 3 4 5 एंड स अब इसके अंदर ऑड नंबर्स है थ एंड 5 तो जो काउंट व फंक्शन रिटर्न करके देगा वो होगा ्र उसके लिए एक फंक्शन लिखते हैं इंट काउंट ऑड इस फंक्शन में पास करेंगे एक एरे ऑफ नंबर्स और उसका साइज तो साइज हमेशा पास करना है जब भी एक एरे को पास कर रहे हैं इसको डिफाइन कर लेते हैं फंक्शन को काउंट ऑड इंट एरे इंट साइज एंड सबसे पहले एक वेरिएबल बना लेते हैं जिसमें स्टोर करवा देंगे काउंट शुरुआत में काउंट है हमारा जीरो उसके बाद एक लूप चला लेते हैं i = 0 से i = n तक जाएगा यह लूप यानी सारे एरे को ट्रैवर्स करके देखेगा ट्रैवर्स यानी ट्रैवल करके देखेगा लूप से हम एक-एक करके एरे के एलिमेंट्स के अंदर जाएंगे हर एलिमेंट के लिए चेक करेंगे इफ एरे ऑफ़ i एरे ऑफ़ i से हमारे पास उस एलिमेंट की वैल्यू आ गई उसे कैसे चेक करके देखेंगे मॉड्यूल 2 इज़ नॉट इक्वल ट ़ यहां से क्या आया सबसे पहले एलिमेंट निकाला एरे ऑफ़ i से उसको देख लिया क्या वह से कंपलीटली मल्टीप्लाई हो रहा है अगर मल्टीप्लाई नहीं हो रहा मतलब रिमाइंडर अगर जीरो नहीं आया तो मतलब वो एक ऑड नंबर है तो ऑड नंबर जैसे ही हमारे पास आया काउंट को कर देंगे प्लस प्लस काउंट शुरुआत में जीरो था यानी शुरुआत में एक भी ऑड नंबर हमारे पास नहीं था हर एलिमेंट के लिए चेक करेंगे ये ऑड है क्या ये ऑड है क्या ये ऑड है क्या जैसे ही ऑड होता है काउंट को इंक्रीज कर दो बाय वन यानी काउंट प्लस प्लस एंड में क्या करेंगे रिटर्न कर देंगे अपने काउंट को मेन फंक्शन के अंदर एक एरे बना लेते हैं इंट एरे इ इक्वल टू 1 2 3 4 5 एंड 6 और प्रिंट करवा लेते हैं काउंट को काउंट डॉट इसमें पास कर देंगे अपना एरे और अपना साइज व्हिच इज स कर लेते हैं सेव एंड रन तो हमारे पास तीन रिटर्न होकर आया है मतलब हमारे एरे के अंदर तीन ऑड नंबर्स प्रेजेंट है इसी तरीके से आप इवन नंबर कैलकुलेट करने का फंक्शन बना सकते हैं इसी तरीके से बना सकते हैं कि आप थ्री के मल्टीपल कैलकुलेट कर लो फाइव के मल्टीपल कैलकुलेट कर लो तो अलग-अलग तरीके के फंक्शन इसी तरीके से लिखे जाएंगे अगर एरे पे फंक्शंस करने हैं तो नेक्स्ट सवाल जिसकी बात करेंगे हमें एक इंटी जर एरे गिवन है उसके अंदर नंबर्स स्टोर्ड है 1 2 3 4 5 सवाल है फॉर द गिवन एरे व्हाट विल बी द फॉलोइंग तो सबसे पहले हमें ये वैल्यू निकालनी है इस एरे के लिए इस एरे को एक बार विजुलाइज कर लेते हैं ऐसा कुछ स्ट्रक्चर मेमोरी के अंदर होगा जिसके अंदर पांच वैल्यूज हमारे पास स्टोर्ड होंगी और एक पॉइंटर होगा ए आरआर जो पॉइंट कर रहा है जीरो एथ इंडेक्स को यहां पे हम सबसे पहले निकाल arr2 तो इसकी वैल्यू हो जाएगी यह है ar01 और यह है ए आ + 2 तो इसकी वैल्यू हो जाएगी हमारे पास थ्र क्योंकि यहां पर हम वैल्यू एट एड्रेस ऑपरेटर यूज़ कर रहे हैं तो ये हमें तीन प्रिंट करके दे देगा उसके बाद नेक्स्ट करते हैं ar5 तो ये है ar3 ये है एआर + 4 ar5 इस एरे में एजिस्ट ही नहीं करेगा क्योंकि ये सिर्फ पांच साइज का एरे तो यहां पे मेमोरी तो होगी कुछ पर वो हमारे एरे का पार्ट नहीं है तो यहां पे हमारे पास आ जाएगा एरर इसको एक बार कोड करके वेरीफाई भी कर लेते हैं एक एरे बना लेते हैं सिर्फ पांच साइज का अब इसके अंदर सबसे पहले प्रिंट करवा के देखेंगे परसेंटेज डी ब n हमारा ए आ + 2 एंड उसके बाद एआर + 5 arr2 में प्रिंट हुआ थ्री क्योंकि इस पोजीशन पे तीन है पर फाइव में रो प्रिंट हुआ मतलब वहां कोई वैलिड वैल्यू नहीं है वो हमारे एरे का पार्ट नहीं है इसलिए रो उसने ट कर दिया जो भी वैल्यू वहां पर पड़ी थी अब नेक्स्ट करेंगे प्रैक्टिस क्वेश्चन 44 प्रैक्टिस क्वेश्चन 44 हमें कहता है राइट फंक्शन टू रिवर्स एन एरे एक एरे हमें दिया होगा मान लो चार साइज का एरे हमें दिया है इसके अंदर वैल्यू है 1 2 3 4 हमें इस एरे की वैल्यूज को करना है रिवर्स यानी एक फाइनल जो आउटपुट एरे हमारे पास आना चाहिए उसके अंदर 4 3 2 और वन होना चाहिए तो एक काफी इंपॉर्टेंट सवाल है इस सवाल को करने के ना बहुत सारे तरीके होते हैं और उनमें से एक क्लासिकल तरीका हम डिस्कस करेंगे क्लासिकल तरीका ये है कि फर्स्ट को और लास्ट को एक्सचेंज कर दो फिर फर्स्ट फिर सेकंड को और सेकंड लास्ट को एक्सचेंज कर दो उसके बीच में भी कुछ है तो थर्ड को और थर्ड लास्ट को एक्सचेंज कर दो एक्सचेंज करते रहेंगे तो हमारा जो एरे होगा वो रिवर्स हो जाएगा पूरा कैसे वन की जगह फोर आ जाए फोर की जगह वन आ जाए तो वन की जगह फोर आ गया फोर की जगह वन आ गया टू की जगह थ्री आ जाए थ्री की जगह टू आ जाए तो टू की जगह थ्री आ गया थ्री की जगह टू आ गया तो हमारा एरे जो है रिवर्स कर गया अब ये सेम जो स्ट्रेटेजी है अभी हम सिर्फ स्ट्रैटेजी की बात कर रहे हैं कोड की बात नहीं कर रहे कोड अभी डिस्कस करेंगे किस तरीके से लिखा जाएगा अगर एक ऑड साइज का हमारे पास एरे होता जैसे 1 2 3 4 एंड फाइव इसमें भी सेम स्ट्रेटेजी यूज़ होती वन और फाइव को एक्सचेंज कर देते तो यहां फाइव आ जाता यहां वन आ जाता फिर टू और फोर को एक्सचेंज कर देते तो यहां फोर आ जाता यहां टू आ जाता और थ्री को थ्री के के साथ एक्सचेंज कर देते तो थ्री ही रहता इससे क्या सीखने को मिला कि फाइनल जो एरे आया दैट वाज 5 4 3 2 एंड 1 तो एरे हमारा कंप्लीट रिवर्स हो गया तो जब भी एक एरे को रिवर्स करना है एक लिस्ट दी है नंबर्स की उनको रिवर्स करना है तो क्या करो फर्स्ट को लास्ट के साथ एक्सचेंज कर दो सेकंड को सेकंड लास्ट के साथ एक्सचेंज कर दो थर्ड को थर्ड लास्ट के साथ एक्सचेंज कर दो फोर्थ को फोर्थ लास्ट के साथ एक्सचेंज कर दो तो आगे वाला पीछे चला जाएगा पीछे वाला आगे आ जाएगा अब इसको कोड में कैसे करेंगे अब हमें पता है कि सबसे पहले तो हमें एक लूप चलाना पड़ेगा ताकि हर एक एलिमेंट तक जा सके तो एक लूप लगाएंगे वो लूप क्या करेगा रो से शुरू होगा हम अपने एरे का दोबारा से एग्जांपल लें तो 1 2 3 4 5 6 इस एरे का एग्जांपल लेते हैं तो रो से लूप शुरू होगा और लूप कहां तक जाएगा लूप हाफ ऑफ द एरे तक जाएगा मतलब यहां तक जाएगा तो अब इस एलिमेंट को एक्सचेंज कर देंगे इसके साथ इसको कर देंगे इसके साथ इसको कर देंगे इसके साथ अब दोबारा से एक्सचेंज नहीं करना दोबारा से हाफ के बाद एक्सचेंज करने लगेंगे तो वापस से ओरिजिनल पोजीशन पे आने वो शुरू हो जाएंगे तो इसलिए लूप हमारा हाफ तक जाएगा लेस देन साइज बाटू तो n जो भी होगा डिवाइडेड बाय 2i + और लूप के अंदर क्या होगा लूप के अंदर अरेज की वैल्यू एक्सचेंज होंगी तो सबसे पहले तो फर्स्ट वैल्यू फर्स्ट वैल्यू क्या होगी फर्स्ट वैल्यू होगी हमारी एरे ऑफ i की वैल्यू यानी आयत इंडेक्स पे जो भी वैल्यू है वो हमारी फर्स्ट वैल्यू है और सेकंड वैल्यू जिसको एक्सचेंज करना है सेकंड वैल्यू कैसे निकालेंगे सेकंड वैल्यू है रो के लिए मतलब जीरो एथ इंडेक्स के लिए सेकंड वैल्यू हो हो जाएगी फाइव फर्स्ट इंडेक्स के लिए सेकंड वैल्यू हो जाएगी फोर सेकंड इंडेक्स के लिए सेकंड वैल्यू हो जाएगी थ्री तो हम देख पा रहे हैं अगर यह वैल्यू i है तो ये वैल्यू हमारी n - i - 1 है आई होप ये चीज समझ में आई होगी इसको एक टेबल बनाक देखते हैं टेबल में क्या करेंगे i की वैल्यू लिखेंगे n - i - 1 की वैल्यू लिखेंगे अब हमें पता है i हमारा रो से शुरू हो रहा है और n की वैल्यू कांस्टेंट है व्हिच इज सिक्स तो i की वैल्यू अगर रो है तो n - i - 1 की वैल्यू होगी हमारे पास 5 i की वैल्यू अगर वन है तो 6 - i - 1 की वैल्यू होगी हमारे पास 4 i अगर 2 है तो 6 - 2 - 1 की वैल्यू होगी हमारे पास 3 तो जोड़ी हमारे पास बन गई रो के लिए इंडेक्स है फाइव वन के लिए इंडेक्स है फर टू के लिए इंडेक्स है थ्री तो ़ के लिए 5 वन के लिए फर एंड टू के लिए ्र तो सेकंड वैल्यू को किस तरीके से निकालना है यह अगर आप खुद से नहीं सोच पाए तो उसमें परेशानी वाली बात नहीं है क्योंकि यह जो चीजें है ना यह प्रैक्टिस के साथ आती हैं ऐसे आपने छह बार किसी एरे को रिवर्स कर लिया होगा ना उसके बाद जाके याद होगा कि n - i - 1 से रिवर्स होता है क्योंकि क्लासिकल तरीका है फिर चाहे c+ में प्रोग्रामिंग कर रहे हो जावा में कर रहे हो c में कर रहे हो हर बार जब भी एरे को रिवर्स करना है n - i - 1 का यूज़ करना पड़ेगा तो यहां पे लिख देंगे सेकंड वैल्यू इज एरे ऑफ n - i - 1 तो फर्स्ट वैल्यू आ गई सेकंड वैल्यू आ गई अब एक्सचेंज का प्रोसेस कर लो एक्सचेंज कैसे करेंगे एरे ऑफ i में डाल देंगे सेकंड वैल्यू और एरे ऑफ n - i - 1 में डाल देंगे फर्स्ट वैल्यू तो यह हो गई हमारी वैल्यूज एक्सचेंज और यहां पे कर देंगे लूप को खत्म तो फाइनली हमारा जो एरे होगा वो उल्टा हो जाएगा एक नया एरे बना के इसको ड्राय रन करके देखते हैं ड्राय रन होता है कोडिंग में कि आप कोड को चलाने से पहले उसका आउटपुट एनालाइज कर लें मान ले पांच साइज का एरिया है अब सबसे पहले क्या करेंगे लूप की शुरुआत करेंगे लूप की शुरुआत कैसे करेंगे हमारी i की वैल्यू शुरुआत में 0 और n - i - 1 की वैल्यू है 4 तो ये हो जाएगी फर्स्ट वैल्यू ये हो जाएगी सेकंड वैल्यू इस पोजीशन में हटा के सेकंड वैल्यू डाल देंगे यानी पांच को डाल देंगे इसको हटा के फर्स्ट वैल्यू यानी वन को डाल देंगे फिर i हो जाएगा प्लस प्लस i आएगा यहां पे ये हो जाएगी फर्स्ट वैल्यू ये हो जाएगी सेकंड वैल्यू इसके बाद इसको हटा के सेकंड वैल्यू को डाल देंगे इसको हटा के फर्स्ट वैल्यू को डाल देंगे उसके बाद हो जाएगा i + प i आ जाएगा हमारा i पहले अगर वन बना था तो इस बार बन जाएगा टू अब हम देखेंगे कि i जो वैल्यू टू है इज इट लेस देन हमारा 5/2 5/2 इंटी जर में होता है 2 तो 2 < 2 जो है वो तो हो जाएगा फॉल्स तो यहां पे लूप खत्म हो जाएगा तीन तक हम पहुंच ही नहीं पाएंगे तो तीन वैसे का वैसा रहेगा और फाइनल अगर एरे देखें तो फाइनल एरे में क्या आएगा सबसे पहले पांच फिर चार फिर तीन फिर दो फिर एक ये हो गया हमारा रिवर्स देरे अब इसको कोड भी लिख लेते हैं कोड में में एक एरे हमने ऑलरेडी बनाया हुआ है ट 3 4 5 अब सिंपली क्या करेंगे एक नया फंक्शन बना लेते हैं इंट रिवर्स जिसके अंदर एक एरे लेंगे और साइज लेंगे इंट रिवर्स इंट एरे और एरे का साइज n अब एक लूप चला लेते हैं इंट आ इ 0 से लूप जाएगा आ लेसन n बाटू तक और आ प् प्स और हर बार क्या करेंगे सबसे पहले फर्स्ट वैल्यू निकाल लेंगे फर्स्ट वैल्यू होती थी एरे ऑफ ़ और हमारी सेकंड वैल्यू होती थी एरे ऑफ n - i - 1 ये जरो नहीं होगा ये होगा एरे ऑफ i अब एरे ऑफ i में डाल दो हमारी सेकंड वैल्यू और एरे ऑफ n - i - 1 में डाल दो हमारी फर्स्ट वैल्यू तो यह दोनों वैल्यूज को हमने एक दूसरे के साथ एक्सचेंज कर दिया है और यह हमारा एरे हो गया है रिवर्स अब क्या करेंगे मेन फंक्शन के अंदर इसको प्रिंट करवाएंगे एरे को सबसे पहले रिवर्स को कॉल लगा लेंगे इसमें पास कर देंगे एरे और अपना साइज n n की वैल्यू है पाच उसके बाद अपने एरे को प्रिंट करवाने के लिए फंक्शन बना लेते हैं एक वॉइड प्रिंट एरे प्रिंट एरे फॉर इंट i = 0 यह कोड हम ऑलरेडी लिख चुके हैं तो मैं उम्मीद करती हूं कि यहां पे आप आप वीडियो को पॉज करेंगे और इस वाले फंक्शन को तो खुद से ही कंप्लीट करना है जिसमें हम एरे की वैल्यूज को प्रिंट करवा रहे हैं ए आर आर ऑफ आ फाइनली एक नेक्स्ट लाइन दे देते हैं इसको कर लेते हैं वॉइड यहां कॉल कर लेते हैं प्रिंट एरे ए आरआर और फ तो सबसे पहले रिवर्स कर दो एरे मेन फंक्शन के अंदर रिवर्स कॉल किया फिर प्रिंट कर दिया एरे इसको सेव करके रन करते हैं इस फंक्शन का रिटर्न टाइप भी वॉइड रख है क्योंकि रिवर्स कुछ रिटर्न नहीं कर रहा होगा तो एरे हमारा रिवर्स होके क्या आ गया 0 4321 यहां पे हमने एक छोटी सी मिस्टेक की जब सेकंड वैल्यू को लिखा ना तो उसको n - i - 1 नहीं लिखा n - i - i लिख दिया तो इसको n - i - 1 लिख देते हैं ये मिस्टेक्स जो है वो नहीं करनी होती तो कोई नहीं दोबारा इसको रन कर लेते हैं इस बार प्रिंट हुआ है एरे हमारा रिवर्स 5 4 3 2 1 तो हमारा एरे जो है वो रिवर्स हो गया हमने क्रिएट क्या किया था 1 2 3 4 5 प्रिंट हुआ है 54321 और रिवर्स कैसे किया आधे एरे में लूप चला दिया फर्स्ट वैल्यू को सेकंड वैल्यू के साथ इंटरचेंज कर दिया फर्स्ट को लास्ट के साथ सेकंड को सेकंड लास्ट के साथ अब एक चीज इसमें हम नोटिस करेंगे कि ये कॉल बाय वैल्यू हुआ या कॉल बाय रेफरेंस हुआ ये फंक्शन जो कॉल लगाई हमने रिवर्स वाली कॉल बाय रेफरेंस की कॉल है क्यों एक तो एरे जो है ना एरे हमारा पॉइंटर होता है तो पॉइंटर से ही कॉल बाय रेफरेंस हो जाती है दूसरा हमने देखा कि रिवर्स को जब हमने कॉल लगाई तो रिवर्स ने तो हमारे एरे को रिवर्स कर दिया पर मेन फंक्शन के अंदर भी एरे रिवर्स हो गया तो यह दिखाता है कि अरेज को जब भी फंक्शन के अंदर पास करते हैं ना तो हमेशा कॉल बाय रेफरेंस होता है तो एरे को आप किसी और फंक्शन को दे देंगे और फिर वो फंक्शन अगर उसमें कुछ चेंजेज कर देगा तो वो चेंजेज आपके पास भी होंगे रिफ्लेक्ट होकर आएंगे इसीलिए अरेज की वैल्यूज को किसी भी फंक्शन के अंदर बहुत ध्यान से चेंज करना होता है क्योंकि वो कॉलिंग फंक्शन के अंदर भी रिफ्लेक्ट करेंगे अब नेक्स्ट सवाल जिसकी बात करेंगे ये है राइट अ प्रोग्राम टू स्टोर द फर्स्ट एंड फबो नंबर्स फबो नंबर्स के बारे में ऑलरेडी बात कर चुके फि बनाची सीक्वेंस कुछ ऐसा होता है 0 1 1 2 3 5 8 13 हमारा 21 एंड सो ऑन अब फिना नंबर की खास बात यह है कि अगर एथ नंबर आपको निकालना है तो n - 1 प् n - 2 एथ नंबर को ऐड कर लो तो सबसे पहले हमें बनाना है फोना नंबर जिसमें हम n फिना स्टोर कर सके तो इसको बनाने के लिए एक एरे की हेल्प लेंगे इस पूरे कोड को हम कर देते हैं कमेंट आउट इसको भी कमेंट आउट सबसे पहले बनाते एक इंटी जर ए ये इंटी जर ए बताएगा कितने ए फिना नंबर चाहिए तो यूजर से पूछ लेते हैं प्रिंट ए एंटर ए स्कैन कर लेते ए की वैल्यू को परसेंटेज डी एंड ए ए को हमने स्टोर करा लिया अब क्या करेंगे अब एक एरे बना लेंगे इस एरे को नाम लेते हैं फिना और इसका साइज हम देंगे n के बराबर यानी n नंबर्स इस फिना के अंदर स्टोर्ड होंगे अब हमें पता है फिना ऑफ रो रो होता है और फिना ऑफ वन हमेशा वन होता है इस n को जब भी एंटर कराएंगे तो इस n की वैल्यू को ध्यान रखेंगे n की वैल्यू ग्रेटर दन वन हो या ग्रेटर दन टू हो तो फिना रो जीरो होता है फिना और वन वन होता है ये हमेशा ट्रू होता है इसको हमेशा लिख लेना है तो इनको हमने लिख लिया है अब हमें आगे की फिना कैलकुलेट करने है तो उसके लिए एक लूप लगा लेते हैं लास्ट टाइम हमने क्या किया था रिकर्ट से फिना कैलकुलेट किया था इस बार लूप से कर रहे हैं और लूप से करना और भी आसान होता है कैसे लूप चलाएंगे दो से और इसको लेकर जाएंगे n तक तो रो और वन के लिए तो हो गया अब टू के लिए फिना कैलकुलेट करना शुरू करेंगे और कहां तक कैलकुलेट करेंगे n-1 तक तो हर बार फिना ऑफ आ क्या हो जाएगा फिना ऑफ आ - 1 प्स फिना ऑफ आ - 2 आई होप यह वाली जो लाइन है ये समझ में आई होगी यह बहुत ही इंपोर्टेंट लाइन है जोब फिनाज वाले टॉपिक की बात करते हैं n वाला क्या होता था n-1 प् n-2 तो आ वाला क्या होगा i -1 प् आ -2 बस सिंपल सा कांसेप्ट है और फिर इसी को करा देंगे हम प्रिंट परसेंटेज डी ब t फिना ऑफ i को करा दिया प्रिंट तो सबसे पहले जब i की वैल्यू दो हो जाएगी यहां पे कैलकुलेट होगा ़ + 1 तो फोनची ऑफ़ 2 हमारे पास निकल कर आ जाएगा व उसके बाद फोनची ऑफ़ थ के लिए कैलकुलेट करेंगे तो वह हो जाएगा ी तो वह हो जाएगा 1 + 1 तो वह आ जाएगा हमारे पास दो उसके बाद फिना ऑफ़ 4 के लिए कैलकुलेट करेंगे तो वह हो जाएगा हमारे पास 2 + 1 तो यह आ जाएगी वैल्यू 3 अब फिना ऑफ़ फाइव के लिए कैलकुलेट करेंगे तो वह हो जाएगा थ्री यानी यह वाला थ्री और टू तो उसकी वैल्यू आ जाएगी हमारे पास फाइव एंड सो ऑन अब इसको रन करके देखते हैं हमें एंटर करवाने हैं 10 फिना नंबर्स तो ये 10 फिना नंबर्स हमारे पास आ गए इसमें पहले वाले दो प्रिंट नहीं हुए यानी रो और वन को अभी हमने प्रिंट नहीं कराया उसके लिए अलग से यहां पे प्रिंट स्टेटमेंट हम लगा सकते हैं रो और वन के अलावा बाकी के आठ फिना नंबर्स हैं पहले वन आ गया फिर टू आ गया फिर थ्री आ गया फिर फाइव आ गया फिर एट आ गया ये हो गए हमारे पांच फिर फिर सिक्स्थ आ गया 13 सेवंथ आ गया 21 और एथ आ गया हमारे पास 34 तो इस तरीके से हम डिफरेंट डिफरेंट जो n की वैल्यू है उनके लिए एक्स्ट्रा नंबर ऑफ फबो ची नंबर्स को प्रिंट करवा सकते हैं और आई होप कि रिकर्स से हमने कैसे कराया था और आइट से यानी लूप से हमने कैसे कराया उन दोनों का डिफरेंस हमें समझ में आया होगा नेक्स्ट सवाल जिसकी बात करेंगे वो है क्रिएट अ 2d एरे स्टोरिंग द टेबल्स ऑफ टू एंड थ्री मतलब दो और तीन की हमें टेबल स्टोर करानी है तो इसके लिए 2d एरे बनाना है वो एरे हमारा कुछ ऐसा दिखेगा जिसके अंदर यहां पर तो हम टू की टेबल स्टोर कराएंगे और यहां पे तीन की टेबल स्टोर कराएंगे 0 1 2 3 4 5 6 7 8 9 तो इस तरीके से टेबल्स को स्टोर कराने के लिए तो इसका साइज अगर हम देखना चाहे क्या होगा तो हमें दो एरे चाहिए और दोनों का साइज 10 चाहिए 10 तक मल्टीप्लिकेशन टेबल स्टोर करानी है तो हमें बनाना पड़ेगा एक एरे इसको टेबल्स नाम दे देते हैं एक इंटी जर 2d एरे जिसका नाम टेबल्स और इसका साइज होगा 2 बा 10 जिसमें दो एरे बनेंगे और हर एरे का साइज 10 होगा तो यह पहला एरे जिसका साइज 10 हैय दूसरा एरे जिसका साइज है 10 इसके अंदर इस तरीके से हम वैल्यूज को स्टोर करवा रहे होंगे इसके लिए कोड लिख लेते हैं सबसे पहले टेबल्स नाम का एरे क्रिएट कर लेते हैं ूमा 10 अब एक फंक्शन बना लेते हैं टेबल्स को स्टोर कराने के लिए फंक्शन है वॉइड स्टोर टेबल इसके अंदर पास करेंगे डी एरे और उसका साइज सबसे पहले ए और फिर ए तो यहां दो लूप लगे दो लूप लगाने वाले सबसे पहला फॉर इंट आ इ 0 आ लेस ए आ प्लस प्लस और अंदर लगेगा फॉर इंट ज इ 0 ज ले ए ज प् प् और एरे ऑफ आई ज के अंदर हम स्टोर करा रहे होंगे वैल्यू तो लूप चलाएंगे फॉर इंट आ इ 0 आ ले ए आ प्स प्स यहां पर ए लिख लेते हैं क्योंकि ए हमारा रोज है ए हमारा कॉलम है जिस भी कॉलम की हम बात कर रहे हैं तो एरे ऑफ n ए इ इक्वल टू वो नंबर जिसकी हमें टेबल स्टोर करानी है इंट नंबर य आ जाएगा नंबर मल्टीप्ला बाय आ प्व यहां पर डिक्लेरेशन में ऐड कर लेते हैं इंट नंबर अब मेन फंक्शन के अंदर कॉल लगाएंगे स्टोर टेबल्स को जिसके अंदर पास कर देंगे सबसे पहले अपना एरे 2d एरे उसके बाद नंबर ऑफ रोज पास करेंगे कौन सी रो के लिए हम प्रिंट करवाना चाहते हैं सबसे पहले जीरो तो रो के लिए और उसमें कॉलम है 10 और नंबर कौन सी टेबल प्रिंट करवानी है टू इसी को कॉपी कर लेते हैं और दोबारा से अब फर्स्ट रो में क्या करवाना है टेबल प्रिंट करवानी है थ्री की यहां पर एरे की जगह हम पास करेंगे अपना टे टेबल्स वाला 2d एरे तो सबसे पहले हमने क्या किया एक टेबल्स नाम का 2d एरे बनाया जिसका साइज है 2/10 यानी दो अरेज हैं इसके अंदर और हर एरे का साइज 10 है फिर एक फंक्शन बनाया स्टोर टेबल के नाम से जो किसी एक नंबर की टेबल स्टोर कराता है ये डी एरे लेगा कौन से एरे की हम बात कर रहे हैं यानी हमारी रो और कौन से कॉलम पर हमें मतलब कौन से क्या सेकंड नंबर वाली टेबल प्रिंट करवा रहे हैं थर्ड नंबर वाले नंबर पर है या फोर्थ नंबर वाले पर और किस नंबर की टेबल कि टू की टेबल पर करवानी है प्रिंट थ्री की करवानी है फाइव की करवानी है एक लूप हमने चलाया है जो रो से लेकर m तक जाएगा यहां m की वैल्यू जो हम पास कर रहे हैं वो 10 तो ये जो लूप है ये रो से लेकर 10 तक जाएगा और सारी मल्टीप्लिकेशंस करके टेबल स्टोर करवा देगा कौन से नंबर की यहां पर नंबर हमने पास किया सबसे पहले टू उसके बाद थ्री तो सबसे पहले टू जो है मल्टीप्लाई होगा i + 1 के साथ क्योंकि हमने जीरो बेस इंडेक्सिंग की है तो i की वैल्यू जीरो है तो सबसे पहले ये वैल्यू देगा हमें दो फिर चार फिर छह फिर आठ फिर 10 एंड सो ऑन तो ये सारी जो वैल्यूज हैं एक-एक करके हमारे एरे के अंदर टेबल्स वाले एरे के अंदर स्टोर हो जाएंगी जिसमें हमारा जो रो है वो कांस्टेंट रहेगा क्योंकि n हमने कांस्टेंट पास किया है रो पर कॉलम चेंज होता रहेगा तो सबसे पहले जो वैल्यू होगी वो होगी एरे ऑफ 00 फिर होगी एरे ऑफ 01 फिर होगी एरे ऑफ 02 फिर होगी एरे ऑफ 03 एंड सो ऑन तो इस तरीके से वैल्यू हमारी चेंज होती रहेगी जिसमें हमारा यह जीरो जो है वो कांस्टेंट रहेगा जब हम जीरो पास करेंगे n को और n को वन पास किया तो हर जगह हमारे पास वन आ जाएगा आई होप ये वाला पार्ट हमारे पास क्लियर है कि हमारा n कांस्टेंट है और m की वैल्यू जीरो से लेकर 10 तक जाएगी नंबर भी कांस्टेंट है नंबर हमें बताया हुआ है क्या है कि टू की टेबल प्रिंट करवानी है या थ्री की प्रिंट करवानी है तो अब अपनी टेबल्स को हम एक्चुअली मेन फंक्शन के अंदर लिख भी सकते हैं यही सेम लूप एक बार कॉपी कर लेते हैं यहां पर लिख देंगे जीरो प्रिंट ए परसेंटेज डी ब टेबल्स ऑफ 0 टू ए तो ये टू की टेबल प्रिंट कर देगा एंड यह वाला जो लूप है यह थ्र की टेबल प्रिंट कर देगा यहां पर m की जगह हम रिप्लेस कर देंगे इसको 10 के साथ और इसको कर लेते हैं सेव और करते हैं फिर रन यहां पर m की जगह हर बार आ आने वाला है क्योंकि m हमारा कांस्टेंट नहीं है वो चेंज होता रहेगा जीरो से लेकर 10 तक वैल्यू आएगी तो यहां पर हर बार आएगा आ अब यहां पर जब भी हम इस कोड को देख रहे हैं ना हमें कांस्टेंटली एक रेड लाइन नजर आ रही है एरे के नीचे ये इसलिए हो रही है क्योंकि जब भी हम 2d अरेज को पास करते हैं ना फर्स्ट जो डायमेंशन होती है हमारी वो तो एक पॉइंटर की तरह ट्रीट होती है पर सेकंड डायमेंशन एक एक्चुअल एरे की तरह ट्रीट होती है जिसमें हमें साइज देने की जरूरत है तो जैसे सेकंड एरे है ना इसके अंदर हमें साइज अपना डिफाइन करना पड़ेगा 10 नहीं तो ये रेड लाइन कभी जाएगी नहीं यहां से अगर हम साइज नहीं बताते तो फिर हमें एरर देता है कि कंपैटिबल टाइप्स नहीं है अब इस कोड को करते हैं रन तो हमारे पास जो आउटपुट निकल के आया वो कुछ ऐसा है जिसमें सबसे पहले टेबल टू की प्रिंट हो रही है 2 4 6 8 12 ये 20 तक एंड उसके बाद तीन की टेबल प्रिंट हो रही है लद ये हमें नेक्स्ट लाइन में प्रिंट करवानी चाहिए थी तो यहां पर एक स्टेटमेंट दे देते हैं प्रिंट f ब ए तो सबसे पहले टू की टेबल प्रिंट हुई है फिर थ्री की टेबल प्रिंट हुई है और टेबल्स को हमने प्रिंट कैसे किया एक 2d एरे यानी टेबल्स के अंदर स्टोर करवा के के हमने अपना स्टोर टेबल फंक्शन कॉल किया उसके अंदर टेबल्स कैलकुलेट करके स्टोर करवाई एंड अपने फंक्शन के अंदर प्रिंट किया और क्या सीखने को मिला कि जब भी 2d एरे को फंक्शन के अंदर पास करने है सेकंड डायमेंशन हमेशा बताना है तो यह हमने काफी सारी चीजें पढ़ ली है अरेज के अंदर 2d अरेज के अंदर कुछ सवाल आपको दिए होंगे नोट्स आपको दिए होंगे उनको आप जाकर देख सकते हैं एंड आई होप कि एरस के अंदर हमारी एक स्ट्रांग ग्रिप जो है वो आ रही होगी नेक्स्ट बढ़ते हैं हमारे नेक्स्ट चैप्टर की तरफ जिसका नाम है स्ट्रक्चर्स एंड स्ट्रिंग्स तो अब हम शुरुआत करने वाले हैं अपने चप र ए के साथ जिसका नाम है स्ट्रिंग्स स्ट्रिंग्स की अगर बात करें तो स्ट्रिंग का मतलब होता है अ कैरेक्टर एरे टर्मिनेटेड बाय अ नल कैरेक्टर यह जो बै स्ल 0 हमने दिखाया हुआ है ये एक नल कैरेक्टर है जैसे हम बै स्ल ए लिखते हैं उसका मतलब होता है नेक्स्ट लाइन अगर हम बैक स्लटी लिखते हैं उसका मतलब होता है टैब स्पेस तो बैक स्ल जीरो का मतलब होता है नल कैरेक्टर नल कैरेक्टर का काम होता है किसी भी स्ट्रिंग को टर्मिनेट करना यानी खत्म कर देना अभी तक हमने क्या बात की है अभी तक हमने बात की है कि हमारे पास कैरेक्टर्स होते हैं सी के अंदर और कैरेक्टर क्या करता है एक सिंगल लेटर स्टोर कर लेता है या एक सिंगल सिंबल स्टोर कर लेता है पर मान लीजिए हमें एक वर्ड स्टोर कराना है तो वर्ड को किस तरीके से स्टोर कराएं या किसी सेंटेंस को किस तरीके से स्टोर कराए वहां पे हमारी पिक्चर में आ जाती है स्ट्रिंग्स स्ट्रिंग्स क्या करती हैं इंग्लिश में जो वर्ड्स होते हैं या जो सेंटेंसेस होते हैं जो पैराग्राफ होते हैं हम उनको स्ट्रिंग डाटा टाइप में स्टोर करा सकते हैं अब एक नॉर्मल जो कैरेक्टर एरे होगा मान लीजिए हमने कैरेक्टर एरे नेम बनाया उसके अंदर हम कुछ-कुछ चीजें डिफाइन करेंगे ए बी सी ये तीन कैरेक्टर्स उसके अंदर लिखे हुए हैं इसको तो हम कहेंगे कैरेक्टर एरे पर एक ऐसा कैरेक्टर एरे जिसमें लास्ट में हम एक नल कैरेक्टर भी जोड़ दें तो वो दिखाएगा कि ये ए बी सी अलग-अलग नहीं है ये साथ में जुड़कर एक वर्ड बना रहे हैं तो ये मतलब होता है नल कैरेक्टर को लास्ट में ऐड करने का तो स्ट्रिंग क्या दिखलाती है स्ट्रिंग दिखाती है हमें कि वो एक वर्ड को रिप्रेजेंट कर रहा है कैरेक्टर एरे अब इसके कुछ एग्जांपल्स देखें तो हमारे पास एक कैरेक्टर एरे है जिसका नाम है नेम अब नेम के अंदर हमने काफी सारे कैरेक्टर्स जो है स्टोर करा रखे हैं पर एंड में हमने बै स्ल 0 से नल को भी स्टोर करा है तो यह एक तरीके से रिप्रेजेंट करता है कि नेम अलग-अलग कैरेक्टर्स का कॉमिनेशन नहीं है नेम एक पूरा का पूरा वर्ड बनाता है और नेम एक्चुअली इस वैल्यू की तरफ पॉइंट करता है उसके बाद अगर क्लास को देखें तो क्लास अलग नहीं है क्लास पूरा का पूरा वर्ड बनाती है इन सारे कैरेक्टर्स को जोड़ के और वह वर्ड कुछ ऐसा दिखता है जब भी हम स्ट्रिंग्स को लिखते हैं तो हम एक तरीके से इस नल कैरेक्टर को इग्नोर कर देते हैं पर डिक्लेयर करते टाइम इस नल कैरेक्टर को दिखाना जरूरी है क्योंकि कंपाइलर को पता होना चाहिए कि वो एक नॉर्मल कैरेक्टर एरे बना रहा है या फिर एक स्ट्रिंग ऑफ वर्ड्स बना रहा है तो एक बार स्ट्रिंग को हम डिक्लेयर करके देखते हैं अपने मेन फंक्शन के अंदर कैरेक्टर नेम और इसके के अंदर हम अपने डिफरेंट कैरेक्टर्स जो हैं उनको लिख सकते हैं एच आर ए डी एच एंड ए और लास्ट में ये जो नल कैरेक्टर है इसको डालना नहीं भूलना क्योंकि अगर इसको हम नहीं डालेंगे तो फिर ये नॉर्मल कैरेक्टर एरे की तरह लेगा अब नॉर्मल कैरेक्टर एरे की तरह लेने में क्या डिफरेंस है जब भी हम स्ट्रिंग्स की बात करते हैं तो स्ट्रिंग्स के साथ कुछ-कुछ ना स्पेशल प्रॉपर्टीज एसोसिएटेड होते हैं और हमें ऑटोमेटिक कुछ-कुछ अच्छे फंक्शंस भी मिल जाते हैं स्ट्रिंग्स के ऊपर रन करने के लिए पर वो नॉर्मल कैरेक्टर एरे के ऊपर नहीं हो वो सिर्फ स्ट्रिंग्स के ऊपर ही होते हैं तो वो स्पेशल कैरेक्टरिस्टिक वो स्पेशल प्रॉपर्टीज वो स्पेशल फंक्शंस को एक्सेस करने के लिए हमें नल कैरेक्टर का लगाना जरूरी होता है तो यहां हमने नेम नाम की एक स्ट्रिंग को इनिश इइ कर दिया है और उसके अंदर स्टोर करवा दिया है अपना पूरा नाम विद अ नल कैरेक्टर पर स्ट्रिंग को इनिश इज करने का एक सिंगल तरीका नहीं होता दो तरीके होते हैं सबसे पहला तरीका हमने ऑलरेडी देख लिया जिसमें हम क्या कर रहे हैं अलग-अलग कैरेक्टर्स को जोड़कर उसके एंड में एक नल कैरेक्टर डाल देते हैं पर हम स्ट्रिंग को पूरे वर्ड की तरह भी इनिशियलिज्म को दोबारा से इनिशियलिज्म कोट्स लगाए हैं और अंदर पूरा का पूरा अपना नाम हमने लिख दिया है अब यहां पे आप पूछ सकते हैं दीदी इसमें तो बै स्ल 0 यानी नल कैरेक्टर आया ही नहीं तो उसमें मैं बोलूंगी कि अगर ऐसे हम अपने स्ट्रिंग को इनिशियलिज्म नल कैरेक्टर सी कंपाइलर ऑटोमेटिक डाल देता है यानी आप इतना लिखेंगे और सी क्या करेगा ऑटोमेटिक पीछे बैक स्लैश जीरो को डाल देगा अब एक और चीज यहां पे नोटिस करने वाली ये है कि जब भी कैरेक्टर को लिखते हैं ना तो सिंगल कोड्स के साथ लिखते हैं पर स्ट्रिंग को लिखने के लिए हम डबल कोड्स को यूज करते हैं तो ये डिस्टिंक्शन हमेशा याद रखनी है अगर यहां सिंगल कोट्स लिखेंगे तो फिर हमारे पास एरर आ रहा होगा क्योंकि ये तरीका गलत है अब इस तरीके से भी अपनी स्ट्रिंग को इनिशियलिज्म वेरिएबल को हमें बनाना हो इसी सेम स्ट्रिंग को बनाना हो तो इसको बनाएंगे कुछ ऐसे तो ये हमारे पास एक स्ट्रिंग आ गई जिसका नाम है नेम और जिसके अंदर स्टोर्ड है हमारी एक्चुअल वैल्यू और इसके अंदर बै स्ल 0 जो है वो हम डालने की जरूरत नहीं है वो हमारा कंपाइलर ऑटोमेटिक हमारे लिए डाल देगा इसका एक और एग्जांपल देखें तो जैसे हमने एक क्लास वेरिएबल बनाया है एक क्लास स्ट्रिंग बनाई है उसके अंदर हम अलग-अलग डाल सकते हैं अपने कैरेक्टर्स को या फिर सेम वर्ड्स की फॉर्म में डाल सकते हैं जैसे कैरेक्टर क्लास इ इक्वल टू अपना कॉलेज तो यहां प स्पेस भी हमारे पास ऑटोमेटिक आ जाएगी यानी हमने बीच में स्पेस दिया है तो ये स्पेस ऑटोमेटिक हमारी स्ट्रिंग के अंदर आ रही है और बै स्ल 0 जो है जो हमारा नल कैरेक्टर है वो हमारा कंपाइलर ऐड करेगा नेक्स्ट हम बात करेंगे कि जब भी हम एक स्ट्रिंग को डिफाइन करते हैं तो मेमोरी के अंदर क्या होता है मतलब हमने एक नॉर्मल कैरेक्टर एरे डिफाइन किया और एक स्ट्रिंग को डिफाइन किया इन दोनों में डिफरेंसेस क्या आते हैं मेमोरी की फॉर्म में तो मान लीजिए हमने अपनी कोई स्ट्रिंग डिफाइन की है इस फॉर्मेट में तो क्या होगा मेमोरी के अंदर जितने भी हमने कैरेक्टर्स लिए हैं उतने ब्लॉक्स जो हैं वो सेव हो जाएंगे हम इन ब्लॉक्स को नाम दे देंगे नेम जो भी हमारे वेरिएबल का नाम है अब हर एक ब्लॉक के अंदर एक सिंगल कैरेक्टर सेव होगा क्योंकि हर एक ब्लॉक का साइज है एक बाइट जिसके अंदर सिंगल कैरेक्टर हमारा सेव हो सकता है हर एक ब्लॉक का अपना कुछ एड्रेस होगा और ये सारे के सारे एड्रेस जो है वो कांटीगुअस हो गे क्यों क्योंकि स्ट्रिंग मेमोरी के अंदर जाकर एक कैरेक्टर एरे ही तो है तो कैरेक्टर एरे की मेमोरी जो है वो कंटीन्यूअस होती है यानी लगातार होती है तो स्ट्रिंग की जो मेमोरी है वो भी लगातार होगी और हर एक मेमोरी ब्लॉक के अंदर हम एक इंडिविजुअल कैरेक्टर को स्टोर कराते हैं पर एक स्पेशल चीज इसमें यह होती है कि एंड में एक नल कैरेक्टर को भी स्टोर कराया जाता है यानी 2006 अगर मेमोरी लोकेशन पे लास्ट लेटर आ गया तो 2007 भी हमारी स्ट्रिंग का पार्ट होगा जिसके अंदर हम बै स् 0 को स्टोर करा रहे होंगे व्हिच इज आवर नल कैरेक्टर तो कुछ इस तरीके से हमारी स्ट्रिंग जो है मेमोरी के अंदर स्टोर होती है अब एक प्रैक्टिस क्वेश्चन करके देख लेते हैं क्वेश्चन हमारा यह कहता है कि क्र कट अ स्ट्रिंग फर्स्ट नेम एंड लास्ट नेम यानी दो स्ट्रिंग्स यहां पे बनानी है एक का नाम लेना है फर्स्ट नेम एक का नाम लेना है लास्ट नेम टू स्टोर द डिटेल्स ऑफ यूजर एंड प्रिंट ऑल द कैरेक्टर्स यूजिंग अ लूप यानी हमें एक स्ट्रिंग बनानी है फर्स्ट नेम नाम से जिसके अंदर हम कोई भी वैल्यू स्टोर करा सकते हैं जैसे मान लीजिए हमने स्टोर कराया श्रद्धा फिर एक दूसरी स्ट्रिंग बनाएंगे लास्ट नेम नाम से लास्ट नेम के अंदर भी कोई हम वैल्यू स्टोर करा सकते हैं मान लीजिए हमने स्टोर कराया खाप और अब हम इन दोनों वैल्यूज को प्रिंट करवाएंगे लूप की फॉर्म में लूप की फॉर्म में कैसे प्रिंट करवाएंगे एक-एक कैरेक्टर को प्रिंट करवाते रहेंगे तो लूप हमारा कब से कब तक चलेगा लूप के अंदर कंडीशन ये आएगी कि जब तक हमारा कैरेक्टर इज नॉट इक्वल टू नल कैरेक्टर एक स्ट्रिंग पर हम बार-बार बार-बार ट्रव्स कब तक कर सकते हैं सबसे पहले जब तक हमारा नल कैरेक्टर नहीं आता जैसे हमने अगर अपनी स्ट्रिंग ली है एस एच आर ए डी एच ए तो ऑटोमेटिक इसमें लास्ट में एक बैक स्लैश होगा तो सबसे पहले हम इस कैरेक्टर पे आएंगे इसको प्रिंट करवा देंगे फिर इस कैरेक्टर पे आएंगे इसको भी प्रिंट करवा देंगे और इसी तरीके से एक-एक कैरेक्टर हम आगे बढ़ते रहेंगे और अपनी स्ट्रिंग के कैरेक्टर्स को करवाते रहेंगे प्रिंट और यह काम जब तक करेंगे जब तक हमारा कैरेक्टर जो है वो नल कैरेक्टर नहीं हो जाता यानी एक सी पॉइंटर बना लेंगे या एक आई बना लेंगे और ये आई आइट मेटर या स आइट मेटर क्या करेगा ट्रव्स करेगा लूप लगा के और जैसे ही स की वैल्यू बैक स् यानी नल कैरेक्टर हो जाती है वैसे ही लूप हो जाएगा खत्म और नल कैरेक्टर को हम प्रिंट नहीं करवाएंगे और एंड में हमारी जो पूरी की पूरी स्ट्रिंग होगी उसको हम प्रिंट करवा चुके होंगे इसको एक बार कोड की हेल्प से विजुलाइज करके देखते हैं कि होगा कैसे सबसे पहले दो वेरिएबल बनाते हैं पहले हमारा फर्स्ट नेम इसमें स्टोर करा लेंगे अपनी वैल्यू फिर बनाएंगे अपना लास्ट नेम इसमें भी स्टोर करा लेंगे अपनी वैल्यू अब क्या करेंगे एक अलग से फंक्शन बना लेते हैं अपनी स्ट्रिंग्स को प्रिंट करवाने के लिए वॉइड प्रिंट स्ट्रिंग अब ये ये जो स्ट्रिंग है इसको फंक्शन को कैसे पास करें एक नॉर्मल कैरेक्टर एरे की तरह पास कर दो यहां लिख देते हैं कैरेक्टर एरे और यहां पे हमें साइज भेजने की जरूरत नहीं है रेखा क्योंकि स्ट्रिंग की एक स्पेशल बात ये है कि स्ट्रिंग वहां पे खत्म हो जाती है जहां नल कैरेक्टर आ जाए नॉर्मल एरे के अंदर हमें पता ही नहीं होता कि एरे के अंदर एलिमेंट्स कितने हैं कहां तक वो चलता रहेगा पर स्ट्रिंग के अंदर पता होता है कि जैसे ही नल कैरेक्टर आ गया यानी हमारा स्ट्रिंग खत्म हो चुका है तो यहां साइज पास नहीं कराएंगे इस फंक्शन को लिख लेते हैं वॉइड प्रिंट स्ट्रिंग जिसके अंदर आएगा हमारे पास हमारा स्ट्रिंग अब अपने फंक्शन के अंदर हम एक लूप बनाएंगे लूप की शुरुआत करते हैं एक इंटी जर आ के साथ जो जीरो से शुरू हो रहा है और हर बार आ जो है वो हमारा प्लस प्लस होता रहेगा अभी इस वाली कंडीशन को थोड़ी देर के लिए टाल देते हैं और अंदर क्या करेंगे हर बार हम प्रिंट एफ करके प्रिंट करवाने वाले हैं अपने कैरेक्टर्स को कैसे कराएंगे प्रिंट कैरेक्टर्स को एरे ऑफ आ की हेल्प से अब हमें पता है कि एरे में किसी भी स्पेसिफिक इंडेक्स पे जाके वैल्यू को कैसे निकालते हैं एरे ऑफ आ कर देते हैं यानी स्क्वायर ब्रैकेट्स लगाते हैं ये हमारी एरे नोटेशन है इसको पॉइंट्स की हेल्प से भी कर सकते हैं पर मुझे जो अरेज वाली नोटेशन होती है अरेज वाली चीजें होती हैं वो ज्यादा सिंपल लगती है एज कंपेयर टू पॉइंट्स तो अरेज की हेल्प से करवाएंगे अब यहां पे कंडीशन क्या रखनी है कंडीशन ये रखनी है कि जब भी एरे के इंडेक्स पर नल पॉइंटर आ जाए वैसे ही आप रोक दें वहां पे एग्जीक्यूशन तो ये लूप तब तक चलेगा जब तक एरे के इंडेक्स पर नल कैरेक्टर नहीं आता तो उसके लिए कंडीशन लिख लेते हैं जब तक हमारा एरे ऑफ आ इज नॉट इक्वल टू हमारा नल कैरेक्टर तो ये जो कंडीशन है यह सबसे इंपॉर्टेंट है कि कब तक हमारा लूप चलेगा अगर हम सारे के सारे कैरेक्टर्स प्रिंट करवाने हैं तो जब तक हमारे इंडेक्स पर नल कैरेक्टर नहीं आ जाता जैसे ही नल कैरेक्टर आ गया मतलब हमारी स्ट्रिंग जो है वो खत्म हो चुकी है एंड में क्या करेंगे एंड में प्रिंट करवा देंगे एक नेक्स्ट लाइन क्योंकि यहां तो कैरेक्टर्स जो है एक के बाद एक के बाद एक के बाद प्रिंट होंगे सेम लाइन में उसके बाद एक नेक्स्ट लाइन प्रिंट करवा रहे हैं अब मेन फंक्शन से इस फंक्शन को कॉल लगाते हैं सबसे पहले कॉल लगाएंगे फर्स्ट नेम के लिए प्रिंट स्ट्रिंग में पास कर देंगे अपना फर्स्ट नेम उसके बाद कॉल लगा देंगे अपने लास्ट नेम के लिए तो प्रिंट स्ट्रिंग में पास कर देंगे अपना लास्ट नेम एक चीज हमने ध्यान दी होगी कि यहां पे सिर्फ कैरेक्टर एरे यानी अपनी स्ट्रिंग पास की है स्ट्रिंग का साइज हमने पास नहीं किया क्योंकि साइज की जरूरत नहीं ही नहीं है हमें पता है हमारी स्ट्रिंग वहां खम होगी जहां नल कैरेक्टर आ जाएगा यह नॉर्मल अरेज में हमें नहीं पता होता तो इसको कर लेते हैं सेव और इसको करवा देते हैं रन तो सबसे पहले हमारी स्ट्रिंग फर्स्ट नेम प्रिंट हो गई उसके बाद हमारी स्ट्रिंग लास्ट नेम प्रिंट हो गई तो कुछ इस तरीके से हम अपनी स्ट्रिंग को कैरेक्टर बाय कैरेक्टर प्रिंट करवा सकते हैं लूप लगाना है एक और उसमें लूप में स्पेशल चीज जो याद रखनी है वो ये है कि जब तक नल कैरेक्टर नहीं आता नेक्स्ट चीज जिसकी बात करेंगे वो है हमारा स्ट्रिंग फॉर्मेट स्पेसिफीज करवाया स्ट्रिंग को हमने प्रिंट करवाया परसेंटेज सी यानी कैरेक्टर बाय कैरेक्टर और अगर इनपुट भी लेनी हो स्ट्रिंग तो कैसे इनपुट लेंगे कैरेक्टर बाय कैरेक्टर ही इनपुट लेनी पड़ेगी तो और कुछ तो पता ही नहीं है हमें कैरेक्टर्स में पर एक स्पेशल फॉर्मेट स्पेसिफीज होता है परसेंटेज s ये फॉर्मेट स्पेसिफिसिटी स्ट्रिंग बनाई हुई है जिसमें कोई वैल्यू स्टोर्ड है अब इसको हमें प्रिंट करवाना है ना तो कैरेक्टर बाय कैरेक्टर प्रिंट करवाने की जगह एक बहुत ही आसान तरीका है वो है कि परसेंटेज s लिख लो मतलब यह वाला फॉर्मेट स्पेसिफाई तो ये सब तो हमारा प्रिंट एफ के लिए हो गया पर अगर स्कैन एफ करना हो तो वो भी ऑटोमेटिक हम कर सकते हैं परसेंटेज एस से जैसे मान लीजिए हमने कोई स्ट्रिंग डिफाइन की कैरेक्टर नेम के नाम से स्ट्रिंग का मैक्सिमम साइज हमने 40 दे दिया है अब इसको अगर हमें स्कैन करना है तो स्कैन एफ परसेंटेज s और यहां लिख देंगे नेम यहां नेम क्यों लिखा एड्रेस ऑफ नेम क्यों नहीं लिखा क्योंकि नेम अल्टीमेटली स्ट्रिंग क्या है कैरेक्टर एरे कैरेक्टर एरे क्या होता है एरे हमेशा एक पॉइंटर होता है तो स्ट्रिंग का जो नाम है वो खुद में एक पॉइंटर है यानी नेम एक पॉइंटर है तो यहां एंड नेम लिखने की जरूरत नहीं है सिर्फ नेम काफी है तो इस तरीके से हम परसेंटेज s से स्कैन एफ भी कर सकते हैं और प्रिंट एफ भी कर सकते हैं दोनों का एग्जांपल देख लेते हैं अपने मेन फंक्शन के अंदर हम क्या करेंगे एक स्ट्रिंग बना लेंगे कैरेक्टर नेम और इस स्ट्रिंग का कुछ मैक्सिमम साइज देंगे मान लीजिए 50 अब सबसे पहले तो स्कैनफ से इस नाम को इनपुट लेंगे फिर प्रिंट एफ से इस नाम को आउटपुट दे देंगे स्कैन एफ परसेंटेज ए और फिर नाम और उसके बाद कर देंगे प्रिंट एफ परसेंटेज ए योर नेम इज और यहां लिख देंगे नेम बस अब ये पूरा का पूरा जो प्रिंट स्ट्रिंग फंक्शन है ना ये एक सिंगल लाइन में आ गया प्रिंट एफ की हेल्प से जब हमने उसमें परसेंटेज s वाला फॉर्मेट स्पेसिफाई लगाया इसको कर लेते हैं सेव और उसको दोबारा से करते हैं रन तो अब सबसे पहले तो हमें अपना नाम एंटर करना है तो नाम हमने एंटर कर दिया और अब हमारे लिए पूरी की पूरी स्ट्रिंग जो आ गई है योर नेम इज अपेंड हो गया है और हमारी स्ट्रिंग ये रही हमारे आउटपुट के अंदर तो परसेंटेज s हमेशा यूज करना है जब भी स्ट्रिंग को स्कैन एफ और प्रिंट एफ की हेल्प से इनपुट और आउटपुट हमें कराना है अब इसमें एक स्पेशल चीज आप पूछ सकते हैं कि द जब हमने श्रद्धा नाम एंटर किया यहां पे जब स्कैनफ ने एक नाम लिया तो उसमें बै स्ल 0 तो हमने डाला ही नहीं तो कैसे बैक स्ल 0 उसने स्ट्रिंग ले लिया इसको अब यहां पे हम एक चीज पूछ सकते हैं कि दीदी जब हमने अपना नाम एंटर किया तो बै स् 0 तो डाला ही नहीं तो फिर सी को कैसे पता चला ये एक स्ट्रिंग है तो सी क्या करती है ऑटोमेटिक जब भी आप परसेंटेज s लगा देते हैं जो भी आप चीज एंटर करेंगे उसके बाद बैक स् 0 यानी नल कैरेक्टर को खुद से लगा देगी ऑटोमेटिक लग जाएगा तो उसकी हमें टेंशन लेने की जरूरत नहीं है सिर्फ अपने कैरेक्टर्स हमें इनपुट करने हैं नेक्स्ट चीज करेंगे एक प्रैक्टिस क्वेश्चन को सॉल्व इसमें दो पार्ट्स हैं दूसरे पार्ट से हमें कुछ कुछ नई चीजें रिलाइज होगी तो सबसे पहले पहले पार्ट से शुरुआत करते हैं आस्क द यूजर टू एंटर देयर फर्स्ट नेम एंड प्रिंट इट बैक टू देम ये तो बहुत आसान है ये तो हमने ऑलरेडी कर भी दिया है आई थिंक अब यहां पे बस वेरिएबल को थोड़ा सा चेंज कर देते हैं इसको नाम दे देते हैं फर्स्ट नेम इसको कर लेते हैं कॉपी तो यह भी हो जाएगा हमारा फर्स्ट नेम और यह भी हो जाएगा हमारा फर्स्ट नेम इसको सेव करके एक बार दोबारा से रन कर लेते हैं मान लीजिए इस बार फर्स्ट नेम हमने एंटर किया है अमन तो यहां पे प्रिंट होके आ गया योर नेम इज अमन अब सेकंड पार्ट इसका ज्यादा इंटरेस्टिंग है सेकंड पार्ट में लिखा है ट्राई दिस विद योर फुल नेम अभी तक तो फर्स्ट नेम एंटर कराया था अब फुल नेम एंटर कराओ यानी फर्स्ट नेम भी और लास्ट नेम भी तो वो भी करा के देख लेते हैं इस पार्ट को कर देते हैं कमेंट आउट और नई स्ट्रिंग बनाते हैं कैरेक्टर फुल नेम ऑफ 100 कैरेक्टर्स सबसे पहले स्कैन एफ करेंगे फुल नेम को परसेंटेज ए फुल नेम उसके बाद प्रिंट कर देंगे योर फुल नेम इज़ परसेंटेज s फुल नेम अब इसको कर लेते हैं सेव और इसको करते हैं रन सबसे पहले तो हमें अपना फुल नेम एंटर करना है एंटर पर यहां पे एक चीज़ नोटिस करेंगे कि योर फुल नेम इज़ में सिर्फ फर्स्ट नेम एंटर हुआ मतलब यह स्पेस के बाद वाली जो भी चीज़ है ना इसने इनपुट ही नहीं की तो यहां पे हम एक स्पेशल प्रॉपर्टी सीखते हैं कि जो स्कैन एफ होता है ना वह नहीं इनपुट कर सकता मल्टी वर्ड स्ट्रिंग्स यानी अगर एक स्ट्रिंग के अंदर आप एक से ज्यादा वर्ड डाल देंगे जैसे आप डालेंगे दिस इज अ सेंटेंस तो वो सिर्फ इस दिस को इनपुट कर पाएगा जैसे ही एक स्पेस आ जाएगी और उसके बाद वाली चीज यह वाला पार्ट हमारी स्ट्रिंग के अंदर एंटर नहीं होगा तो स्कैन एफ का ये ड्रॉबैक होता है इसकी कमजोरी होती है कि मल्टी वर्ड स्ट्रिंग्स जो होती है ना जिनमें मल्टीपल वर्ड्स होते हैं उनको एंटर ही नहीं कर पाता क्योंकि स्पेसेस को नहीं ट्रैक कर पाएगा तो यहां पे हम दो स्पेशल फंक्शंस का इस्तेमाल करेंगे जिनमें से सबसे पहले है गेट एस और फिर है पुट एस तो ये हमारी पिक्चर में आते हैं अब गेट एस जो है थोड़ा सा डेप्रिसिएशन हो गया तो इसकी जगह हम यूज़ करेंगे यहां पे f गेटस इन तीनों को डिटेल में पढ़ते हैं तो स्ट्रिंग के हमारे पास तीन फंक्शंस आते हैं जब भी हम स्ट्रिंग को इनपुट और आउटपुट कराना चाहते हैं परसेंटेज s तो है ही वो हमारा फॉर्मेट स्पेसिफाई स्कैनफ में कमजोरी आ जाती है कि वो मल्टी वर्ड्स को एक्सेस नहीं कर पाता मान लो हमारी स्ट्रिंग तो जी पूरा सेंटेंस है या फिर पूरा पैराग्राफ है वो तो फिर आ ही नहीं पाएगा कभी एंटर ही नहीं हो पाएगा यूजर से तो वहां पे हम यूज़ करते हैं एक फंक्शन व्हिच इज कॉल्ड गेटस गेटस क्या करता है एक स्ट्रिंग को इनपुट ले लेता है मतलब हम एक स्ट्रिंग डिफाइन कर देंगे कैरेक्टर एसटी जिसका हम मैक्सिमम कोई साइज दे देंगे 100 अब उस स्ट्रिंग को यहां पे लिख देंगे तो गेटस हमारी स्ट्रिंग को इनपुट कर लेगा और पुट एस क्या करेगा पुट एस हमारी स्ट्रिंग को आउटपुट कर देगा यानी सिंपली हमें लिखना है पुट s एसआर इससे हमारी स्ट्रिंग आउटपुट हो जाएगी और अगर इससे से पहले हम करें गेट एस एटीआर इससे हमारी स्ट्रिंग इनपुट हो जाएगी पर यहां पे जो गेट एस फंक्शन होता है ना ये डेंजरस फंक्शन है और आउटडेटेड फंक्शन है इसकी वजह से काफी सारे जो सॉफ्टवेयर्स हैं वो हैक हो जाते हैं क्योंकि गेट एस ये ट्रैक नहीं करता कि एटीआर का मैक्सिमम साइज क्या है तो इसकी वजह से गेटस को आजकल यूज नहीं किया जाता इवन सी के जो 11थ वर्जन है उसमें गेटस को कंपलीटली हटा दिया है कोई यूसेज नहीं है उसका तो मेरे सिस्टम पे मैंने जो है लेटेस्ट सी इंस्टॉल किया था अब एक बार करके भी देख लेते हैं कि कैसे हमारे गेटस और पुट्स काम करेंगे हमने एक नेम बनाया 100 का अब हम क्या करेंगे इसको इनपुट लेंगे सबसे पहले तो सिर्फ लिख देंगे गेट एस और एटीआर फिर लिख देंगे पुट एस और एटीआर इसको कर लेंगे सेव इस नेम को चेंज कर लेते हैं टू एटीआर अब इसको एक बार रन करते हैं रन करते ही यहां वार्निंग आ गई कि दिस प्रोग्राम यूसेज गेटस व्हिच इज अनसेफ तो गेट एस को यूज नहीं करना चाहिए परट स्टिल हम अपने स्ट्रिंग में कुछ डाल देते हैं हेलो वर्ल्ड हमने डाला और हमारे पास हेलो वर्ल्ड वापस से एकको होकर आ गया तो क्या किया गेटस ने पूरा का पूरा हेलो वर्ल्ड जो है वो ले लिया मतलब स्पेस के बाद वाली चीज भी ली अब यहां पे हम क्या करेंगे अपना फुल नेम एंटर करवा के देखेंगे फुल नेम को कैसे एंटर करें सबसे पहले अपना फर्स्ट नेम लिखेंगे फिर अपना लास्ट नेम लिखेंगे इज अ गुड स्टूडेंट इनफैक्ट पूरी लाइन लिख देते हैं तो अब पटेस्ट ने क्या किया वो पूरी की पूरी लाइन जो है हमारे पास प्रिंट करवा दी इस तरीके से जब भी हमें मल्टी वर्ड सेंटेंसेस लेने होते हैं ना या मल्टी वड स्ट्रिंग्स लेनी होती है तो हम गेट एस और पुट एस का यूज करेंगे अब गेट एस क्योंकि डेंजरस है थोड़ा सा आउटडेटेड है तो उसकी जगह एक और दूसरा फंक्शन होता है जिसका नाम है एफ गेटस एफ गेट एस का ऐसा कुछ फॉर्मेट होता है ये एक्स्ट्रा चीज है जो काफी सारे स्टूडेंट्स को शायद कॉलेज के अंदर ना पढ़ाई जाए या अ जनरली आपको ना दिखे पर मुझे लगा कि ये वाली चीज मैं सिखाऊं तो उसके साथ मुझे ये वाली चीज भी सिखानी चाहिए तो एफ गेट एस में सबसे पहले हम डालते हैं अपनी स्ट्रिंग जो भी स्ट्रिंग हमें एंटर करनी है फिर साइज डाल देते हैं स्ट्रिंग का कि मैक्सिमम कितने कैरेक्टर्स हम इनपुट कर सकते हैं एंड उसके बाद डाल देते हैं अपनी फाइल का नाम अब इस फाइल के नाम क्या है यहां पे क्या डालना चाहिए इसको अभी के लिए भूल जाते हैं और इस फाइल के नाम की जगह हम डाल देंगे एसटीडी आई ए बस इतनी सी लाइन लिखनी है इसको कहते हैं स्टैंडर्ड इनपुट तो ये क्या है क्यों हम इसको लिख रहे हैं इस पे अभी ध्यान नहीं देना बस एसडीडी आई ए डाल दो जब भी एफ गेट एस यूज़ करना है तो एफ गेट एस क्या करता है इट स्टॉप्स व्हेन n -1 कैरेक्टर्स इनपुट और न्यू लाइन इज एडिटेड यानी आप पूरा अपने वर्ड जो है लिखते रहेंगे डिफरेंट डिफरेंट वर्ड्स लिखते रहेंगे जैसे ही आप एंटर प्रेस कर देंगे या जैसे ही आपके n -1 यहां पे जो साइज दिया है उससे एक कम अगर आप लेटर्स एंटर करेंगे तो वहीं पे आपका जो सेंटेंस है आपका जो स्ट्रिंग है वो खत्म हो जाएगा इसका भी एक बार एग्जांपल देख लेते हैं यहां पे गेटस की जगह ना एफ गेटस कर देते हैं एटीआर लिख देते हैं फिर एटीआर में लिख देंगे 100 एंड उसके बाद लिखेंगे हम एसटीडी आ इसको कर लेते हैं सेव और रन इस बार दोबारा से अपना पूरा वर्ड एंटर करते हैं वो वापस से आ गया अब ये जो पुट एस क्या करता है पुस ऑटोमेटिक एक नेक्स्ट लाइन दे देता है प्रिंट करने के बाद तो आपने प्रिंट कर दिया जो भी आपको प्रिंट करना था अब आपका कर्सर नेक्स्ट लाइन पे आ गया और सिंस फिर रिटर्न जरो हो गया तो यहां पे प्रोग्रामिंग हमारी खत्म हो गई तो जब भी पुट एस्ट डाल रहे हैं तो हमें बैक स्लैश एंड करने की जरूरत नहीं है क्योंकि नेक्स्ट लाइन ऑटोमेटिक आ जाएगा तो कुछ इस तरीके से हमारे गेट एस पुट एस और एफ गेटस काम करते हैं नेक्स्ट चीज जिसको सीखेंगे वो काफी सीखी सिखाई चीज है जैसे हमारे एरे पॉइंट्स होते थे वैसे ही हमारी स्ट्रिंग्स भी पॉइंट्स होती हैं क्योंकि इसके पीछे बहुत लॉजिकल आंसर है एरे अगर पॉइंटर है तो स्ट्रिंग भी क्या है स्ट्रिंग भी तो एक कैरेक्टर एरे है तो अल्टीमेटली वो भी एक पॉइंटर है बहुत इजी चीज जैसे हम अपने ए अरेज के लिए क्या करते थे हमने एक इंट नाम का एरे बनाया इसको हम ऐसे भी बना सकते हैं इसमें साइज लिख देंगे या इसको हम ऐसे भी बना सकते हैं वैसे ही हम अपनी स्ट्रिंग को एरे नोटेशन से भी बना सकते हैं और पॉइंटर नोटेशन से भी बना सकते हैं अगर स्ट्रिंग को हमें पॉइंटर नोटेशन से बनाना है तो उसके लिए क्या करेंगे इसके लिए सिंपली लिखेंगे कैरेक्टर पॉइंटर और फिर लिखेंगे एटीआर या जो भी हम अपने स्ट्रिंग का नाम रखना चाहते हैं एंड उसके बाद हमारी पूरी की पूरी स्ट्रिंग तो इट स्टोर्स स्ट्रिंग इन द मेमोरी एंड द असाइन एड्रेस इज स्टोर्ड इन द कैरेक्टर पॉइंटर एसडीआर तो ये हेलो वर्ल्ड जो है हमारी मेमोरी के अंदर पूरा का पूरा हमारा हेलो वर्ल्ड स्टोर हो जाएगा जिसके एंड में हमारे पास बै स्ल 0 आ जाएगा और फिर इसका जो एड्रेस है यानी फर्स्ट इंडेक्स का एड्रेस इस इंडेक्स का एड्रेस ये पॉइंट करवा रहा होगा एसडीआर इस एड्रेस की तरफ तो हमारी जो स्ट्रिंग है वो अल्टीमेटली एक पॉइंटर है क्योंकि वो खुद में कैरेक्टर एरे है अब कैरेक्टर एरे और पॉइंटर के बीच में एक फंडामेंटल डिफरेंस आता है वो डिफरेंस क्या कहता है वो डिफरेंस कहता है अगर आप पॉइंटर की हेल्प से एक स्ट्रिंग को डिफाइन करते हैं ना तो स्ट्रिंग को री इनिश इज कर सकते हो मतलब उस स्ट्रिंग की वैल्यू चेंज कर सकते हो जैसे आज अगर हमने स्ट्रिंग के अंदर हेलो वर्ल्ड स्टोर कराया तो कल को हम स्ट्रिंग के अंदर सिर्फ हेलो भी स्टोर करा सकते हैं और उसके बाद उसकी वैल्यू चेंज करके सिर्फ वर्ल्ड भी स्टोर करा सकते हैं पर अगर हमने एरे नोटेशन यूज करी तो उसके अंदर हमेशा हेलो वर्ल्ड ही रहेगा उसको हम री इनिशियलिज्म डिफाइन करें सबसे पहली स्ट्रिंग बनाते हैं तो इसको हम बनाएंगे एक कैरेक्टर पॉइंटर के हिसाब से कैन चेंज इसमें हम डाल देंगे हेलो वर्ल्ड अब इसको प्रिंट करवा लेते हैं पुस से यहां पे लिख देते हैं कैन चेंज एंड उसके बाद इस स्ट्रिंग को चेंज भी कर देते हैं तो स्ट्रिंग को जैसे ही चें च करेंगे इसको मान लीजिए हमने हेलो बना दिया उसके बाद दोबारा से इसको पुस कर देते हैं कैन चेंज इसको सेव करके करा लेते हैं रन तो सबसे पहले हमारी स्ट्रिंग थी हेलो वर्ल्ड इस लाइन ने क्या किया पुस ने हेलो वर्ल्ड प्रिंट कर दिया फिर हमने चेंज करके उसको हेलो कर दिया तो इसने क्या किया फिर हेलो प्रिंट कर दिया क्योंकि पॉइंट्स की वैल्यू चेंज हो सकती है अब हम एक दूसरी स्ट्रिंग बनाएं अगर कैरेक्टर कैन नॉट चेंज तो कैन नॉट चेंज को इस तरीके से हम डिफाइन कर सकते हैं इसमें भी हेलो वर्ल्ड डाल देंगे हेलो वर्ल्ड डाल के इसको तो पटेस्ट करा सकते हैं हम कैन नॉट चेंज पर अगर हम कैन नॉट चेंज की वैल्यू कल को करना चाहे हेलो तो अब यह सी का कंपाइलर हमें करने नहीं देगा और रेड लाइन दिखा देगा क्यों क्योंकि एक्सप्रेशन मस्ट बी अ मॉडिफाई बल वैल्यू हमारा जो कैरेक्टर एरे होता है जब एरे नोटेशन आ जाती है तो उसको मॉडिफाई नहीं कर सकते हम वो वैल्यू वैसी की वैसी रहेगी पर अगर मॉडिफाई करना था चेंज करना था तो आपको कैरेक्टर पॉइंटर यूज करना चाहिए था तोय हल्का सा डिफरेंस आ जाता है जब भी आप स्ट्रिंग को एक कैरेक्टर पॉइंटर या फिर एरे नोटेशन से डिक्लेयर करते हैं नेक्स्ट चीज इसकी बात करेंगे इसमें हमें क्वेश्चन नंबर 49 सॉल्व करना है मेक अ प्रोग्राम दैट इनपुट यूजर्स नेम यूजर का नेम इनपुट करता है और उसकी लेंथ प्रिंट कराता है एक स्ट्रिंग लेनी है यूजर से जिसका नाम होगा यूजर का नाम और फिर उसकी लेंथ हम इनपुट करा देंगे जैसे फॉर एग्जांपल हम एक स्ट्रिंग बनाते हैं कैरेक्टर नेम मान लीजिए स्ट्रिंग जो है 100 साइज की हो सकती है तो सबसे पहले तो एफ गेटस से स्ट्रिंग को इनपुट ले लेंगे लिखेंगे नेम 100 एंड उसके बाद एसटीडी इन या सिंपलीसिटी के लिए इसमें ना हम सिर्फ फर्स्ट नेम डालेंगे लास्ट नेम नहीं डालेंगे क्योंकि फिर बीच में एक स्पेस भी आ जाता है तो स्पेस वाला झंझट नहीं रखेंगे सिर्फ फर्स्ट नेम डालेंगे अब हमें इसकी लेंथ प्रिंट करवानी है तो मान लीजिए यूजर ने इनपुट किया हमारे पास एस एच आर एडी ए और कंपाइलर ने ऑटोमेटिक इसके पीछे बैक स्लैश 0 लगा दिया तो हमें प्रिंट क्या करवाना है प्रिंट करवाना है हमें 1 2 3 4 5 6 7 इस बैक्स लास्ट जीरो को काउंट नहीं करेंगे तो लेंथ जो आनी चाहिए प्रिंट होके वो आनी चाहिए हमारे पास सेन अगर यूजर ने एंटर किया अमन इसमें भी बैक स्लश जीरो आएगा लेंथ हमारे पास क्या आनी चाहिए लेंथ आनी चाहिए हमारे पास फोर तो नल कैरेक्टर को काउंट नहीं करना है बाकी सारे कैरेक्टर्स को मिला के कितने लेंथ की हमारे यूजर का नाम है वो हमें प्रिंट करवाना है तो एक प्रोग्राम बनाते हैं सबसे पहले तो नेम नाम का एक स्ट्रिंग बना लेते हैं उसके बाद इसको कर लेते हैं एफ गेटस नेम 100 एसटीडी इन अब ऊपर एक फंक्शन बना लेते हैं जो लेंथ को काउंट करेगा काउंट लेंथ इसमें पास कर रहे होंगे हम अपना कैरेक्टर नेम या कैरेक्टर एरे कह देते हैं जरूरी नहीं है कल को हो सकता है कि हमें अगर कोई सेंटेंस है उसकी लेंथ निकालनी हो तो उसके लिए भी इस फंक्शन को यूज कर सकते हैं तो जरूरी नहीं है ये सिर्फ नेम की लेंथ कैलकुलेट करें या किसी भी स्ट्रिंग की लेंथ या किसी भी कैरेक्टर की लेंथ को कैलकुलेट कर सकता है तो इस फंक्शन को कर लेते हैं डिफाइन वॉइड इनफैक्ट यहां से हमारी जो लेंथ है वो रिटर्न हो जाएगी तो इंट लिख देते हैं इंट काउंट लेंथ कैरेक्टर एरे अब हमें तब तक कैरेक्टर्स को काउंट करते रहना है लेंथ के लिए जब तक हमारा नल कैरेक्टर नहीं आ जाता तो इस तरीके का लूप तो हमने ऑलरेडी बनाया हुआ है जब स्ट्रिंग को प्रिंट करवाया था कैरेक्टर बाय कैरेक्टर तो क्या किया था एक तरीके से हर कैरेक्टर पे गए थे जब तक नल नहीं आ जाता तो यहां भी हर कैरेक्टर प जाएंगे जब तक नल नहीं आ जाता तो एक वेरिएबल बना लेते हैं काउंट जो जीरो से शुरू होगा और फिर एक लूप लिखते हैं फॉर इंट आ = 0 जब तक हमारे एरे ऑफ आ इज नॉट इक्वल टू हमारा नल कैरेक्टर तब तक हम आई को करते रहेंगे प्लस प्लस तो आई होप ये अंडरस्टूड होगा कि आई की शुरुआत हम करेंगे जीरो के साथ तब तक बढ़ते जाएंगे जब तक नल कैरेक्टर नहीं आता आ को करते रहेंगे प्लस प्लस अब हर बार हम क्या करेंगे काउंट को भी प्लस प्लस कर देंगे तो काउंट को भी हमने हर बार प्लस प्लस किया क्यों क्योंकि जब तक नल कैरेक्टर आएगा तब तक काउंट भी तो प्लस प्लस होते रहेगा क्योंकि हम सारे कैरेक्टर्स को काउंट कर रहे हैं और एंड में अपने काउंट को कर देंगे रिटर्न अपने मेन फंक्शन से इसको कॉल लगाते हैं प्रिंट एफ के साथ परसेंटेज डी लेंथ इज काउंट लेंथ जिसमें पास कर देंगे अपना नेम इसको कर लेते हैं सेव एंड रन सबसे पहले तो हमें अपनी स्ट्रिंग एंटर करनी है स्ट्रिंग एंटर की तो लेंथ हमारे पास आ गई एक इसने क्या किया लेंथ में अभी नल कैरेक्टर को भी काउंट कर लिया है कैसे काउंट किया नल कैरेक्टर को क्योंकि काउंट जो है पहले ही प्लस प्लस हो रहा है मतलब जब भी इस फंक्शन के अंदर हम काउंट को भेज रहे हैं ना तो काउंट की वैल्यू वैसे ही बढ़ रही है जैसे i की वैल्यू बढ़ रही है अब i एंड में जो है प्लस प्लस होके नल कैरेक्टर को तो काउंट कर ही लेता है इसीलिए लास्ट में हमें काउंट - 1 रिटर्न करने की जरूरत है तो काउंट -1 हम रिटर्न करेंगे तभी सही काउंट हमारे पास आएगा अब नाम भेजते हैं तो अब प्रिंट हुई लेंथ सेवन दोबारा से इसको रन करें अब अलग नाम भेजेंगे तो लेंथ फोर प्रिंट हुई है तो इस तरीके से हमारे पास कोई भी स्ट्रिंग हो उसकी हम लेंथ कैलकुलेट कर सकते हैं खुद से अपना एक फंक्शन बना सकते हैं कैरेक्टर बाय कैरेक्टर जाना है और चीजें चेक कर लेनी है अगर मान लीजिए इस स्ट्रिंग के अंदर हमें चेक करना होता कि जो भी नाम एंटर कर रहा है यूजर उसके अंदर आई कितनी बार आता है या h कितनी बार आता है उसको भी हम कैरेक्टर बाय कैरेक्टर लूप लगाते हैं और चेक करते हैं कि कौन सा कैरेक्टर h के बराबर है और उस काउंट को फिर प्लस कर लेते हैं तो इस तरीके से काफी सारे केसेस बन सकते हैं काफी सारे सवाल बन सकते हैं जो आपके इंटरव्यूअर आपको अलग तरीके से दे सकते हैं या फिर कॉलेज वाले अलग तरीके से दे सकते हैं पर तरीका क्या है कैरेक्टर बाय कैरेक्टर जाओ लूप में एंड में क्या कंडीशन लगानी है जब तक नल कैरेक्टर के इक्वल नहीं होता सारे के सारे ऑलमोस्ट 80 पर सवाल स्ट्रिंग में ऐसे ही सॉल्व होते हैं जिसमें हमें स्ट्रिंग के अंदर कोई पर्टिकुलर चीज चेक करनी होती है नेक्स्ट बात करते हैं स्टैंडर्ड लाइब्रेरी फंक्शंस के बारे में अब ऑलरेडी हमने मैथड ए नाम की एक क्लास के बारे में पढ़ा था जिसमें हमने पाव नाम का एक फंक्शन पढ़ा था पावर जो क्या करता था n की पावर m हमें रिटर्न करके देता था तो उसमें ये मैथड ए हमारी एक स्टैंडर्ड लाइब्रेरी थी जिसके अंदर मैथ के फंक्शन थे वैसे ही सी के अंदर एक स्टैंडर्ड लाइब्रेरी होती है जिसमें स्ट्रिंग के फंक्शन होते हैं इसको हम नाम देते हैं स्ट्रिड ए और इसके फंक्शन यूज़ करने हैं तो इसको ऊपर इंक्लूड करना पड़ता है सबसे पहला फंक्शन जिसकी हम बात करेंगे वह है स्ट्रिंग लेंथ अभी जो हमने बड़ा सा फंक्शन लिखा ना जिसमें हम एक-एक एक-एक करके कैक्ट पे गए और लेंथ कैलकुलेट करी यह ऑलरेडी बना हुआ फंक्शन है इसको हमें दोबारा बनाने की जरूरत नहीं है तो स्ट्रिंग डॉट लेंथ एक फंक्शन है जिसमें हम अपनी स्ट्रिंग को लिख देते हैं और ये हमें काउंट करके दे देता है टोटल नंबर ऑफ कैरेक्टर्स अब ये काउंट नंबर ऑफ कैरेक्टर्स करता है पर एक्सक्लूड कर देता है नल कैरेक्टर को तो जैसे हमने अभी नल कैरेक्टर को नहीं गिना वैसे ही ये भी नल कैरेक्टर को नहीं गिनता तो ये इंपॉर्टेंट चीज है जो हमें याद रखनी है कि हमारा स्ट्रिंग लेंथ नल कैरेक्टर को नहीं गिनता हमें टोटल नंबर ऑफ कैरेक्टर रिटर्न करके देता है एक बार देख लेते हैं अपनी लेंथ को काउंट करके इस बार नेम को यहीं पे ही डिफाइन कर लेते हैं नेम में हमने डाला श्रद्धा और इस बार हम काउंट लेंथ की जगह कॉल लगाएंगे एटीआर ए स्ट्रिंग लेंथ को ऊपर इंक्लूड कर लेते हैं अपनी हेडर फाइल इंक्लूड स्ट्रिंग ड ए कर लेते हैं सेव यहां पे हमने स्ट्रिंग लेंथ को कॉल लगाई है जिसमें अपना नेम हमने पास किया है अब रन कर लेते हैं कोड को अब एक्चुअली ये जो एसटीआरएल है ना स्ट्रिंग लेंथ ये हमें रिटर्न करता है अनसाइंड लॉन्ग मतलब ये इंटी जर वैल्यू रिटर्न नहीं करता है लेंथ की अनसाइंड लॉन्ग रिटर्न करता है पर इसको हम टाइप कास्ट भी कर सकते हैं यानी एक वेरिएबल बना लेंगे लेंथ और इस लेंथ में स्टोर करा लेंगे स्ट्रिंग लेंथ का आउटपुट तो वो इंटी जर टाइप का बन जाएगा और फिर इस लेंथ नाम के वेरिएबल को करा लेते हैं प्रिंट दोबारा से कंपाइल एंड रन तो लेंथ इ सेवन हमारे पास आउटपुट होकर आ गया है अब अगर हम अपनी स्ट्रिंग चेंज कर दें मान लीजिए दूसरा नाम हम यहां पे लिख देते हैं तो दोबारा से क्या होगा हमारी लेंथ जो है वो कैरेक्टर्स का जो नंबर है वो सारा का सारा ऐड हो ग आ जाएगा यानी लेंथ अब फोर हो जाएगी अब नेक्स्ट लाइब्रेरी फंक्शन जिसकी बात करेंगे वो है हमारा स्ट्रिंग कॉपी स्ट्रिंग कॉपी क्या करता है इसको एटीआर सीपीवाई लिखते हैं इसमें दो आर्गुमेंट पास होते हैं पहला आर्गुमेंट है हमारी नई स्ट्रिंग दूसरा आर्गुमेंट है हमारी ओल्ड स्ट्रिंग तो इट कॉपीज द वैल्यू ऑफ ओल्ड स्ट्रिंग टू द न्यू स्ट्रिंग मान लीजिए हमने दो स्ट्रिंग बनाई है पहली है हमारी कैरेक्टर एसआर 1 इसके अंदर हमने लिखा हु है हेलो और दूसरी है हमारी कैरेक्टर एसआर 2 इसके अंदर हमने लिखा है वर्ल्ड अब यह हमारी नई स्ट्रिंग यह है हमारी ओल्ड स्ट्रिंग अगर हम एसआर सीपीवाई कॉल करें जिसमें सबसे पहले पास करें अपना एटीआर वन और फिर पास करें अपना एटीआर 2 तो हमारे एसआर व की वैल्यू चेंज होकर हेलो से बन जाएगी वर्ल्ड यानी पुराने वाली वैल्यू इसके अंदर कॉपी हो जाएगी सेकंड वाली जो स्ट्रिंग है उसकी वैल्यू फर्स्ट के अंदर कॉपी हो जाएगी देखते हैं किस तरीके से रन करता है कोड के अंदर दो स्ट्रिंग्स हम बनाएंगे सबसे पहली होगी हमारी ओल्ड स्ट्रिंग उसमें स्टोर करा देंगे ओल्ड स्ट्रिंग फिर बनाते हैं अपना नई स्ट्रिंग इसमें स्टोर करा देते हैं न्यू स्ट्रिंग अब कॉल करते हैं एसटीटीआर सीपीवाई जिसमें सबसे पहले पास करेंगे हमारी नई स्ट्रिंग एंड देन ओल्ड स्ट्रिंग और अब प्रिंट कराएंगे वैल्यू ऑफ न्यू स्ट्रिंग इसको कर लेते हैं सेव एंड रन तो जैसे ही हमने न्यू स्ट्रिंग को प्रिंट करवाया हमारे पास ओल्ड स्ट्रिंग प्रिंट हुआ न्यू स्ट्रिंग प्रिंट नहीं हुआ क्योंकि स्ट्रिंग कॉपी ने क्या किया ओल्ड स्ट्रिंग की वैल्यू ली और नई स्ट्रिंग में कॉपी कर दी तो नई स्ट्रिंग की वैल्यू अल्टीमेटली चेंज हो गई और अब हमारे पास वो चेंज्ड वैल्यू प्रिंट होकर आ गई है तो इस तरीके से हमारा स्ट्रिंग कॉपी काम करता है नेक्स्ट लाइब्रेरी फंक्शन जिसकी बात करेंगे वो है स्ट्रिंग कॉन्कैटिनेट यहां पे वैसे हम सारे इंपॉर्टेंट लाइब्रेरी फंक्शंस की बात कर रहे हैं तो सिर्फ चार ही डिस्कस करेंगे वैसे स्ट्रिंग ड ए के अंदर बहुत सारे लाइब्रेरी फंक्शंस होते हैं तो आपके लिए होमवर्क ये रहेगा कि जाकर खुद से बाकी के सारे लाइब्रेरी फंक्शंस को एक्सप्लोर करना है google-translate नो स्पेस हां अगर हेलो के बाद आपने स्पेस छोड़ा हुआ है तो फिर बीच में स्पेस आएगा पर खुद से कोई स्पेस ऐड नहीं होता दोनों वर्ड बिल्कुल चिपक जाते हैं आके और एक नई स्ट्रिंग बना लेते हैं इसको हम कहते हैं कॉन कैटिनेशन ये शब्द आपको बार-बार बार-बार सुनने को मिलेगा अगर आप प्रोग्रामर हैं कोडर हैं नई लैंग्वेजेस आप सीखने जाएंगे सी के बाद तो तो शब्द को भूलना नहीं है तो स्ट्रिंग कॉन्कैटिनेट एक फंक्शन है जिसके अंदर हम पहली स्ट्रिंग पास करेंगे और सेकंड स्ट्रिंग पास करेंगे और ये कंकट कर देता है फर्स्ट स्ट्रिंग विद सेकंड स्ट्रिंग जैसे अगर हमने फर्स्ट स्ट्रिंग मान लीजिए बनाई है हेलो और सेकंड स्ट्रिंग हमने बनाई है वर्ल्ड तो अगर हम यह फंक्शन कॉल करेंगे तो उसके बाद फर्स्ट स्ट्रिंग की वैल्यू चेंज होकर हो जाएगी हेलो वर्ल्ड के इक्वल तो एक तरीके से क्या हुआ स्ट्रिंग कॉन्कैटिनेट ने सेकंड स्ट्रिंग को लिया और उसको फर्स्ट स्ट्रिंग के बाद जोड़ दिया तो फर्स्ट ट्रिंग की वैल्यू इसके बराबर होगी अब एक स्पेशल चीज़ हमें यहां पे ध्यान रखने की जरूरत है कि फर्स्ट स्ट्रिंग की कैपेसिटी होनी चाहिए दोनों स्ट्रिंग को स्टोर कराने की यानी फर्स्ट स्ट्रिंग का अगर साइज फर्स्ट स्ट्रिंग की लेंथ लेंथ वन प्लस लेंथ टू के बराबर है या इससे बड़ा है तभी हम वो वैल्यू जो है उसके अंदर स्टोर करा पाएंगे नहीं तो एरर आ जाएगा तो इस स्ट्रिंग को फर्स्ट स्ट्रिंग को जब भी डिक्लेयर करेंगे इसका साइज कुछ हमें बड़ा देना पड़ेगा एक बार इसको एक्चुअली कोड में लिखकर देखते हैं इसको कर लेते हैं कॉमेंट आउट सबसे पहले बनाते हैं एक कैरेक्टर स्ट्रिंग फर्स्ट स्ट्रिंग जिसका साइज हम 100 दे देते हैं इसके अंदर स्टोर करा रहे हैं हेलो विद अ स्पेस फिर बनाते हैं एक और स्ट्रिंग सेकंड स्ट्रिंग इसमें हमें साइज देने की जरूरत नहीं है इसमें हम स्टोर कराते हैं वर्ल्ड और अब क्या करेंगे एटीआर सीपीवाई जिसमें पास करेंगे पहले फर्स्ट स्ट्रिंग फिर पास करेंगे सेकंड स्ट्रिंग और फिर प्रिंट कर देंगे अपनी फर्स्ट स्ट्रिंग को यूजर के पास इसको कर लेते हैं सेव एंड रन तो रन करके आउटपुट में हमारे पास अभी सिर्फ वर्ल्ड आया क्योंकि हमने एसटीटीआर सीपीवाई कॉल किया है जबकि हमें कंकट नेट करना था तो एटीआर सीटी कंकट के लिए कॉल लगाते हैं अब हमारे पास पूरा का पूरा हेलो वर्ल्ड प्रिंट होके आया है हेलो वर्ल्ड कैसे आया ये वाला हेलो तो फर्स्ट स्ट्रिंग में था ही अब हमने वर्ल्ड को फर्स्ट स्ट्रिंग के बाद कॉन्कैटिनेट कर दिया अपेंड कर दिया पर अगर मान लीजिए यहां पे हम ये 100 नहीं लिखते सिर्फ इतना लिखते तो क्या होता तो एक बार प्रोग्राम को रन करके देखते हैं तो हमारे पास एरर आ जाता और प्रोग्राम कभी एग्जीक्यूट ही नहीं करता क्यों क्योंकि जब हमने फर्स्ट स्ट्रिंग को बिना साइज के डिक्लेयर किया तो उसने साइज इसके बराबर लिया जिसमें 1 2 3 4 5 6 तो फर्स्ट ट्रिंग का साइज अभी सिक्स है सिक्स के अंदर हम वर्ल्ड को फिट इन ही नहीं कर सकते पर जब हमने फर्स्ट स्ट्रिंग का साइज 100 दे दिया तो अब मतलब हेलो तो उसके अंदर है ही उसके बाद और खाली जगह भी पड़ी हुई है तो उसके अंदर हम वर्ल्ड को लाके जोड़ सकते हैं तो जब भी कंकट ट करना है ये इंश्योर करना है कि पहली स्ट्रिंग के अंदर हमारे पास कुछ स्पेस खाली हो जिसके अंदर दूसरी स्ट्रिंग आकर जुड़ सके नेक्स्ट लाइब्रेरी फंक्शन जिसकी बात करेंगे वो है एटीआर सीएमपी यहां पे गलती से जो है है सीपीएम लिख गया है दिस इज सीएम ये होता है फॉर स्ट्रिंग कंपैरिजन तो स्ट्रिंग को हम कंपेयर भी कर सकते हैं कि एक स्ट्रिंग क्या दूसरी स्ट्रिंग के बराबर है या बराबर नहीं है इनफैक्ट एक स्ट्रिंग दूसरी स्ट्रिंग से छोटी है या बड़ी है ये भी कंपेयर कर सकते हैं कैसे कंपेयर करेंगे हम एटीआर सीएमपी के अंदर दो स्ट्रिंग्स पास करते हैं एक फर्स्ट स्ट्रिंग और एक सेकंड स्ट्रिंग अब ये जो फंक्शन है ये एक इंटी जर रिटर्न करता है अगर इसने रिटर्न किया जीरो मतलब दोनों स्ट्रिंग्स हमारी इक्वल है तो जैसे अगर हमने हेलो पास किया और दूसरे में भी हेलो पास किया तो मतलब मब ये हमारा फंक्शन रिटर्न करेगा हमारे पास जीरो अब अगर इसने कोई पॉजिटिव वैल्यू रिटर्न करी इसका मतलब है फर्स्ट स्ट्रिंग इज ग्रेटर दन सेकंड स्ट्रिंग और ये एका वैल्यूज पे डिपेंड करेगा इसका एग्जांपल है फर्स्ट स्ट्रिंग के अंदर हमने पास किया बनाना दूसरी स्ट्रिंग में हमने पास किया एपल तो ये एक पॉजिटिव वैल्यू रिटर्न करेगा अब बनाना और एपल जब भी हम एस्का वैल्यूज देखते हैं तो a सबसे पहले आता है फिर बी आता है फिर सीडी इस तरीके से एस काई वैल्यूज बढ़ती रहती है तो बनाना की जो एस काई वैल्यू है ना इसमें सबसे पहले b की वैल्यू a के साथ कंपेयर होगी अगर ये दोनों एच एच होते तो दोनों की वैल्यू सेम होती तो फिर अगले वाला कैरेक्टर हमारे कंपेयर हो रहे होते पर वैसा केस नहीं है यहां पे पहला ही कैरेक्टर अलग है तो b की वैल्यू कुछ होगी नंबर्स में a की वैल्यू कुछ होगी नंबर्स में इन दोनों का हम डिफरेंस निकालेंगे तो b का जो एस्का कैरेक्टर होता है वो बड़ा होता है ए का हमारा छोटा होता है तो एस्का कैरेक्टर्स माइनस हो जाएंगे जैसे अगर हम b का एका कैरेक्टर देखें कैरेक्टर b = b तो b का एस का कैरेक्टर होता है 66 तो यहां पे 66 आएगा तो a का होना चाहिए 65 तो इंटरनली क्या हो रहा है 66 - 65 होगा जिसका डिफरेंस आएगा + 1 तो इसीलिए एक पॉजिटिव वैल्यू प्रिंट होगी मतलब फर्स्ट जो स्ट्रिंग है उसके एस्का में से सेकंड स्ट्रिंग के एस्का को माइनस कर देंगे जब भी डिफरेंट हमारे लेटर्स आ जाते हैं तो इसीलिए जब भी फर्स्ट स्ट्रिंग बड़ी होगी सेकंड स्ट्रिंग छोटी होगी तो पॉजिटिव वैल्यू प्रिंट होगी एंड वाइस वर्सा होगा यानी फर्स्ट स्ट्रिंग अगर छोटी है सेकंड स्ट्रिंग अगर अगर बड़ी है तो हमारे पास एक नेगेटिव वैल्यू प्रिंट होके आ जाएगी इसका भी एक एग्जांपल देख लेते हैं जैसे पहली स्ट्रिंग है हमारे पास एल और दूसरी स्ट्रिंग है हमारे पास बनाना तो फर्स्ट में a का एस्काय हो जाएगा हमारे पास 65 b का एस्काय हो जाएगा 66 तो 65 - 66 हमें नेगेटिव 1 दे देगा तो सिंस ये एक नेगेटिव वैल्यू है तो हमें पता चल जाएगा स्ट्रिंग कंपैरिजन से कि हमारी फर्स्ट स्ट्रिंग जो है छोटी है हमारी सेकंड स्ट्रिंग से इन सब को एक बार कोड केल से वेरीफाई जरूर करके देख लेना तो कोई भी कांसेप्ट हम सीखते हैं ना प्रोग्रामिंग में उसको हमेशा वेरीफाई करना ऐसा नहीं हो कि हमने सिर्फ थ्योरी थ्योरी पढ़ ली और उसका कोड हमने करके नहीं देखा तो सबसे पहले कैरेक्टर स्ट्रिंग बनाते हैं फर्स्ट स्ट्रिंग जिसके अंदर स्टोर कराते हैं एल फिर सेकंड स्ट्रिंग जिसके अंदर स्टोर कराएंगे बनाना और अब प्रिंट कर लेते हैं परसेंटेज डी क्योंकि इंटी जर प्रिंट होगा कंपैरिजन के लिए हम प्रिंट करेंगे एसटी आर सी एम प जिसमें पास करेंगे पहले फर्स्ट स्ट्रिंग फिर पास करेंगे सेकंड स्ट्रिंग कर लेते हैं सेव एंड रन तो प्रिंट होकर आया है -1 जो कि एक्सपेक्टेड था क्योंकि a का जो एका 65 है बी का एकाय 66 है तो 65 - 66 एक नेगेटिव वैल्यू आएगी जो दिखाएगी कि फर्स्ट वाली स्ट्रिंग हमारी सेकंड वाली स्ट्रिंग से छोटी है अब अगर हम इन्हीं वैल्यूज को चेंज कर द यानी पहले पास कर दें अपनी सेकंड स्ट्रिंग फिर पास कर दें अपनी फर्स्ट स्ट्रिंग तो उस केस में आउटपुट क्या आएगा उस केस में आउटपुट एक पॉजिटिव वैल्यू आएगा यानी + 1 + 1 इसलिए आया क्योंकि b - a अब यहां पे हुआ है और एक और छोटी सी चीज करके देखते हैं इस बार ना स्ट्रिंग को कर देते हैं h ए ए ए और यहां पे स्ट्रिंग को कर देते हैं h एच ए बी यहां पे दोबारा से हम फर्स्ट स्ट्रिंग पास करते हैं और यहां पे पास करते हैं अपनी सेकंड स्ट्रिंग सेव एंड रन अब रन करने से पहले खुद से अगर डिस्कस करना हो क्या आउटपुट आएगा तो फर्स्ट स्ट्रिंग के अंदर है एच एच एच ए सेकंड स्ट्रिंग में है एच एचएच b दोनों के अंदर डिफरेंट कैरेक्टर सबसे पहला कौन सा है वो है a और b तो दोबारा से a का एस्का b के एस्का से माइनस होगा तो a का एस्का है 65 - b का एस्काय 66 तो ये भी एक नेगेटिव वैल्यू हमें रिटर्न करके देगा उसको वेरीफाई कर लेते हैं प्रिंट होके आएगा -1 और यहां पर अगर हम इसको हटा दें a और b को और अब दोनों को कंपेयर करें तो अब हमारे पास आने वाला है जीरो क्योंकि दोनों स्ट्रिंग्स हैं सेम तो स्ट्रिंग्स को अगर कंपेयर करना हो तो उसको हम कर सकते हैं ऐसा जो स्ट्रिंग कंपैरिजन वाला फंक्शन है रियल लाइफ के केसेस देखें तो कहां यूज़ हो सकता है ये यूज़ हो सकता है अगर हम एक ऐसा फंक्शन बनाए जो हमारी डिक्शनरी फॉर्म कर रहा है डिक्शनरी के अंदर क्या होता है जो लेटर्स पहले आते हैं ना अल्फाबेट में तो मतलब उनकी एका वैल्यूज भी कम होगी तो वो हमारे डिक्शनरी के अंदर पहले आ जाते हैं और बाकी सारे हमारे बाद में आ जाते हैं तो नेगेटिव वैल्यू के हिसाब से हम सॉर्ट कर सकते हैं जिनकी सबसे कम नेगेटिव वैल्यू है मतलब जितना ज्यादा नेगेटिव है उतना जल्दी डिक्शनरी के अंदर आएगा जितना ज्यादा पॉजिटिव है उतना डिक्शनरी के अंदर बाद में आएगा तो इस तरीके से जब भी कैरेक्टर्स को कंपेयर करना हो कौन सा कैरेक्टर छोटा है उसको डिक्शनरी के शुरुआत में जो बड़ा है उसको डिक्शनरी के एंड में नेक्स्ट बात करेंगे सवाल की सवाल हमारा ये है कि टेक अ स्ट्रिंग इनपुट फ्रॉम द यूजर यूजिंग कैरेक्टर्स मतलब अभी तक स्ट्रिंग को कैसे इनपुट ले रहे थे या तो परसेंटेज s की फॉर्म में इनपुट ले रहे थे या फिर एफ गेट एस कर रहे थे या गेट एस कर रहे थे अब हमें क्या करना है परसेंटेज सी यानी कैरेक्टर बाय कैरेक्टर उसको इनपुट लेना है इसके लिए एक फंक्शन बनाते हैं फंक्शन को नाम दे देते हैं इनपुट स्ट्रिंग या इन फैक्ट फंक्शन बनाने की जगह ना पूरा प्रोग्राम ही बना लेते हैं अपने मेन फंक्शन के अंदर सबसे पहले एक स्ट्रिंग डिफाइन करते हैं एटीआर जिसमें 100 कैरेक्टर्स आ सकते हैं फिर डिफाइन करेंगे कैरेक्टर और यह वो कैरेक्टर है जो बार-बार हमें यूजर से इनपुट करना है इस कैरेक्टर सीच को इनपुट करेंगे और स्ट्रिंग के अंदर ऐड करते रहेंगे एक-एक करके तो एक लूप चला लेते हैं वाइल जब तक हमारा कैरेक्टर इज नॉट इक्वल टू बै स् n जब भी हम अपने कंसोल वाली विंडो से किसी भी स्ट्रिंग को इनपुट करते हैं तो क्या होता है हम एक कैरेक्टर डालते हैं दूसरा कैरेक्टर डालते हैं तीसरा डालते हैं चौथा डालते हैं पांचवा डालते हैं लास्ट में एंटर मार देते हैं कैरेक्टर्स को तब तक इनपुट लेते रहना है अपने कोड के अंदर अपने लूप के अंदर जब तक हम नेक्स्ट लाइन वाला कैरेक्टर नहीं डाल देते इसीलिए उसी को कंडीशन बना देते हैं जब तक हमारा कैरेक्टर इज नॉट इक्वल टू बै स्ल ए यानी नेक्स्ट लाइन जब तक एंटर हमने प्रेस नहीं किया तो तब तक क्या करेंगे स्कैन एफ कर लेंगे स्कैन एफ करेंगे परसेंटेज सी हमारा सी एक और वेरिएबल ले लेते हैं i जो ट्रैक करेगा हमारे इंडेक्स को तो i को इनिश इज कर देंगे रो के साथ यहां पे हम एक-एक करके कैरेक्टर लेंगे और उसको एक-एक करके अपनी स्ट्रिंग के अंदर स्टोर करा देंगे तो एटी ऑफ i = स फिर कर देंगे i + अब इस लूप को थोड़ा सा और गहराई से समझते हैं सबसे पहले हमने एक स्ट्रिंग बना दी उसके बाद हमने कैरेक्टर बना दिया हमारा गोल है एक-एक करके यूजर से कैरेक्टर लेना है उसको स्ट्रिंग के अंदर ऐड करना है और स्ट्रिंग का इंडेक्स कैसे ट्रैक करेंगे अपने वेरिएबल की हेल्प से अब हम एक लूप बनाएंगे वाइल लूप बना रहे हैं इसके अंदर कंडीशन यह है कि जब तक हमारा यूजर एंटर नहीं दबाता तब तक उसमें जो भी कैरेक्टर्स हमारे पास दिए हैं वो सारे के सारे स्ट्रिंग में डाल दो तो एक-एक करके कैरेक्टर्स को स्कैनर से इनपुट लेते रहेंगे उसके बाद क्या करेंगे उनको ऐड कर देंगे स्ट्रिंग के अंदर और स्ट्रिंग के इंडेक्स को बढ़ा देंगे बाय वन इसको कर लेते हैं सेव और अब इसको फाइनली क्या करेंगे एटीआर ऑफ आ के अंदर हमें नल कैरेक्टर खुद से डालना पड़ेगा क्योंकि नल कैरेक्टर अब ऑटोमेटिक कंपाइल नहीं डालेगा क्योंकि परसेंटेज सी में नल कैरेक्टर ऑटोमेटिक नहीं डालता परसेंटेज s में डालता है तो नल कैरेक्टर अलग से हमें डालना पड़ेगा यह दिखाने के लिए कि एक स्ट्रिंग है उसके बाद अपनी पूरी स्ट्रिंग को प्रिंट करा देंगे पुट एस से एटीआर इसको कर लेते हैं सेव एंड नाउ रन ये वार्निंग हमें दे रहा है क्योंकि यहां पे हमें एड्रेस ऑफ सीए डालना था अब हम कोई भी स्ट्रिंग अपनी डाल सकते हैं मान लीजिए हमने डाला हेलो वर्ल्ड तो हमारे लिए हेलो वर्ल्ड जो है एकको होके प्रिंट होके वापस आ गया तो इसमें इसने स्पेसेस भी काउंट कर ली तो ये जो फंक्शन है जो हमने खुद से बनाया है ये वाला पार्ट ये वाला पार्ट हमारे गेटस की तरह एक्ट करता है या हमारे एफ गेटस की तरह एक्ट करता है पूरा सेंटेंस ले लेगा जब तक हमारा साइज 100 से कम हम डाल रहे हैं उसमें चाहे आप स्पेस डालो स्पेशल कैरेक्टर डालो अपर केस में लेटर डालो स्मॉलर केस में डालो नंबर्स डालो सब कुछ इनपुट ले लेगा पर जैसे ही आप एंटर दबाए वैसे ही इनपुट लेना बंद कर देगा और हमारी स्ट्रिंग में नल कैरेक्टर को ये अपेंड कर देगा नेक्स्ट सवाल जिसकी बात करेंगे वो है एक स्पेशल यह सवाल है जो मैंने खुद बनाए हैं साल्टिंग नाम का एक कांसेप्ट होता है जब भी हैकिंग करते हैं ना तो पासवर्ड हमारे सिक्योर किए जाते हैं कंपनीज के अंदर तो पासवर्ड किस तरीके से सिक्योर होते हैं जिस तरीके से सिक्योर होते हैं उस टेक्निक को सॉल्टिस पहले सॉल्टिस हैं मान लीजिए आपने एक पासवर्ड सेट किया पासवर्ड आपका है टेस्ट 1 2 3 ये आपका पासवर्ड है और कंपनी के पास एक स्ट्रिंग है स्ट्रिंग है कंपनी की ए बी सी तो सॉल्टिस है कि कंपनी आपका पासवर्ड लेगी और उसके अंदर अपना सॉल्ट ऐड कर दगी जैसे सब्जी के अंदर हम नमक छिड़क देते हैं वैसे ही कंपनी जब भी पासवर्ड को सेव करती है ना तो उसके अंदर अपना सॉल्ट छिड़क देती है तो अपना सॉल्ट छिड़क देगी कहीं भी बीच में रैंडम कहीं भी डाल सकती है और फिर 1 2 3 तो आपका जब पासवर्ड सेव होगा ना इस फॉर्मेट में वो सेव हो रहा होगा जिसमें बीच में एक सॉल्ट आ गया है तो अब हैकर हैक भी कर लेगा तो उसको तो पता नहीं है कि कंपनी का सॉल्ट क्या था उसको लगेगा यह पूरा का पूरा पासवर्ड आपका ही है तो वह आपके अकाउंट के अंदर कभी एंटर नहीं कर पाएगा अगर कंपनी का सिस्टम हैक भी हो गया तो सॉल्ट क्या होता है सॉल्ट हमारी एक ऐसी स्ट्रिंग होती है जिसको हम नॉर्मल पासवर्ड के अंदर डाल देते हैं और कहीं रैंडम ली डाल देते हैं वो कंपनी डिसाइड करती है जैसे instagram2 पे डालना है कल को google3 जिसको मुझे पासवर्ड के अंदर अपने इंडेक्स जीरो और इंडेक्स फाइ दो इंडेक्स पे डालना है तो कंपनी का सॉल्ट कुछ भी हो सकता है आपके पासवर्ड के अंदर वो जिस पोजीशन पे डालेगा वो भी कुछ भी हो सकता है सॉल्टिस हमारा ये रहता है अब सवाल हमारा सॉल्टिस है सवाल ये कहता है कि यूजर से एक पासवर्ड को एंटर करा लो यूजर ने अपना पासवर्ड एंटर कर दिया और उसके अंदर अपना सॉल्ट है हमारा 12थ उसको ऐड कर दो एट दी एंड यानी यूजर से पासवर्ड एंटर करेंगे और उसके एंड में हम सॉल्ट टूथ ऐड कर देंगे और उसके बाद नया पासवर्ड यूजर को वापस प्रिंट करवा कर देना है तो कैसे करवाएंगे मान लीजिए यूजर ने पासवर्ड एंटर किया अपना टेस्ट और सॉल्ट है हमारा ट 3 तो जो अब हमें नया पासवर्ड देना है ना न्यू पासवर्ड उसकी वैल्यू होनी चाहिए टेस्ट और सॉल्ट को हम एंड में ऐड कर देंगे यानी टूथ तो यह हमारा नया पासवर्ड हो जाएगा जिस इसको हमें यूजर को वापस देना है तो इसके लिए प्रोग्राम लिखेंगे हम एक फंक्शन बनाने वाले हैं यह फंक्शन क्या करेगा हमारी स्ट्रिंग ले लेगा और फिर एक नई स्ट्रिंग बनाएगा नया पासवर्ड जिसमें पुरानी स्ट्रिंग को तो कॉपी कर लेगा प्लस पीछे हमारा टूथ ऐड कर देगा तो मेन फंक्शन के अंदर सबसे पहले कैरेक्टर स्ट्रिंग बनाते हैं पासवर्ड 100 कैरेक्टर्स का य हो सकता है मैक्सिमम यूजर से इस पासवर्ड को इनपुट ले लेंगे यानी स्कैन एफ परसेंटेज एस हमारा पासवर्ड अब इसके अंदर पासवर्ड के अंदर हम जा रहे हैं कि स्पेसेस ना हो इसलिए परसेंटेज एस यूज कर सकते हैं और फिर एक फंक्शन कॉल कर देंगे सॉल्टिस तो फंक्शन को बना भी लेते हैं ये फंक्शन रिटर्न करेगा कुछ भी नहीं रिटर्न करेगा बस नया पासवर्ड आपको प्रिंट करवा के दे देगा तो वॉइड इसका रिटर्न टाइप है सॉल्ट इसके अंदर हमारे पास आएगा कैरेक्टर पासवर्ड इस फंक्शन को क्रिएट करते हैं वॉइड सर्टिंग कैरेक्टर पासवर्ड सबसे पहले अपनी स्ट्रिंग डिफाइन कर लेते हैं जो हमें ऐड करनी है तो हमारा कैरेक्टर सॉल्ट है टू 3 अब एक नया कैरेक्टर बनाते हैं न्यू पासवर्ड और इसका साइज दे देते हैं डबल तो हमें नए पासवर्ड के अंदर अपने सबसे पहले अपने पासवर्ड को कॉपी करना है फिर अपने सॉल्ट को कॉपी करना है तो सबसे पहले तो स्ट्रिंग कॉपी फंक्शन यूज कर लेते हैं एसटीटीआर सीपीवाई स्ट्रिंग कॉपी में फर्स्ट स्ट्रिंग क्या पास करेंगे फर्स्ट स्ट्रिंग हम पास करेंगे अपना नया पासवर्ड और सेकंड स्ट्रिंग अपना पासवर्ड तो एटीआर सीपीवाई क्या करेगा हमारे पासवर्ड की वैल्यू को न्यू पासवर्ड के अंदर डाल के कॉपी कर देगा एंड उसके बाद कॉल करेंगे एसटीटीआर सीटी अब करेंगे कंकट यानी न्यू पासवर्ड के अंदर हम अपने सॉल्ट को कंकट ट करना चाह रहे हैं इसने क्या किया नए पासवर्ड के अंदर हमने पुराने पासवर्ड को डाल दिया टेस्ट को और कॉन्कैटिनेट ने क्या किया नए पासवर्ड की वैल्यू को बना दिया टेस्ट प्लस 123 तो ये टेस्ट 123 बन जाएगा हमारा नया पासवर्ड अब इसी को हम प्रिंट करवा देंगे पटस न्यू पासवर्ड तो एक छोटा सा फंक्शन सॉल्टिनी के लिए और ये काफी कॉम्प्लेक्शन का फंक्शन आप खुद से लिख पा रहे हैं ना तो मतलब आपको अच्छे खासे लेवल की लॉजिकल चीजें आ रही है और प्रोग्रामिंग आ रही है तो इस फंक्शन के अंदर हमने दो लाइब्रेरी फंक्शंस को यूज़ कर लिया एक स्ट्रिंग को कॉपी करवाने वाला काम और एक स्ट्रिंग को कंकट करवाने वाला काम इतना सारा काम हमारा आसान हो गया और दो लाइंस के अंदर हमने सिंपली इसको कर लिया तो ये पावर होती है हमारे लाइब्रेरी फंक्शंस की तो फाइनली अपने नए पासवर्ड को प्रिंट करवा देंगे मेन फंक्शन के अंदर क्या करेंगे इस फंक्शन को कॉल कर लेते हैं सर्टिंग जिसमें पास कर देंगे अपना पासवर्ड इसको कर लेते हैं सेव और इसको करते हैं रन अपना पासवर्ड डालते हैं टेस्ट तो नया पासवर्ड हमारे पास टेस्ट टूथ प्रिंट हो गया दोबारा एक बार रन करें तो इस बार मान लीजिए हमने पासवर्ड डाला है अपना कॉलेज तो इस बार प्रिंट हो गया अपना कॉलेज टूथ तो इस तरीके से बहुत सारे लाइब्रेरी फंक्शन को यूज़ करके हम काफी सारे इंटरेस्टिंग फंक्शंस जो है उनको बना सकते हैं काफी सारी इंटरेस्टिंग चीजें कर सकते हैं और बहुत आसान हो जाएगा कोड क्योंकि सिंगल लाइन में आपको पूरा का पूरा फंक्शन जो है वो मिल रहा है तो सवाल हमारा कुछ ऐसा है कि राइट अ फंक्शन नेम स्लाइस व्हिच टेक्स अ स्ट्रिंग एंड रिटर्न्स अ स्लाइस स्ट्रिंग फ्रॉम इंडेक्स n टू n इसको एक एग्जांपल से समझते हैं एक फंक्शन है स्लाइस इसका काम है कि एक स्ट्रिंग लेगा मान लीजिए हमने स्ट्रिंग ली हेलो वर्ल्ड और इसके अंदर हमें दो इंडेक्स दिए जाएंगे एक एक इंडेक्स होगा n एक होगा m हमारे जो n की वैल्यू है वह हमें दी हुई है 3 m की वैल्यू दी हुई है 6 तो हमें एक स्ट्रिंग वापस रिटर्न करनी होगी जो n = 3 से शुरू होगी m = 6 तक खत्म होगी यानी इस स्ट्रिंग की बात करें तो इसमें इंडेक्स है 1 2 3 4 5 6 7 8 एंड ना तो हमारा जो स्लाइस फंक्शन होगा वो स्ट्रिंग को इनपुट लेगा और आउटपुट में हमें देगा थ्री से लेकर सिक्स तक यानी ए से लेकर ओ तक एल ओ डब् ओ तो हेलो वर्ल्ड जो स्ट्रिंग थी एच इ एल एल आर एल डी इसके अंदर से ये एओड वाला पार्ट हमें रिटर्न होके आ जाएगा क्योंकि n = 3 इंडेक्स से शुरू होता है और m = 6 इंडेक्स पर खत्म होता है तो स्लाइस का काम है यहां पे इस स्ट्रिंग को यहां से स्लाइस कर देना पहली जो स्लाइस आएगी स्लाइस यानी काट देना पहला कट लगेगा n = 3 पे दूसरा कट लगेगा m = 6 पे और बीच वाला जो पार्ट होगा ये हमें हो जाएगा रिटर्न तो इसके लिए भी एक फंक्शन बना लेते हैं फंक्शन का नाम रखते हैं ये फंक्शन क्या करेगा हमें रिटर्न करेगा अपना स्लाइस पार्ट तो इसका नाम रखते हैं वॉइड स्लाइस इसके अंदर हम पास करेंगे अपना कैरेक्टर इस फंक्शन को भी डिफाइन कर लेते हैं वॉइड स्लाइस इसमें पास करेंगे कैरेक्टर एसआर साथ के साथ एक इंडेक्स n भी आएगा और एक इंडेक्स m भी आएगा तो इनको भी लिख लेते हैं इंट n इंट m अब स्लाइस फंक्शन के अंदर एक नई स्ट्रिंग बना लेते हैं कैर न्यू ए इस स्ट्रिंग का साइज वैसे तो हमें पता ही है m - n + 1 पर इसका साइज हम बाय डिफॉल्ट अभी 100 रख लेते हैं अब एक लूप चला लेते हैं लूप कहां से शुरू होगा लूप शुरू होगा इं i = n से और लूप हमारा जाएगा जब तक हमारा i m के इक्वल नहीं हो जाता और यहां पे अज्यू कर रहे हैं कि कोई बदमाशी नहीं करेगा स्लाइस को कॉल करते हुए यानी n और m जो है n एंड m आर वैलिड वैल्यूज ऐसा नहीं है ए तो जी नल कैरेक्टर के बाद वाली वैल्यू दे दी n को नेगेटिव फ दे दिया ऐसा नहीं है सिर्फ वैलिड वैल्यूज देनी है जो स्ट्रिंग के बीच में कहीं पर लाई करती तो n से लेके m तक हमारा लूप जाएगा और नई स्ट्रिंग के अंदर हम क्या करेंगे न्यू स्ट्रिंग के लिए भी एक अपना बना लेते हैं j = 0 से शुरू होगा और ज हमारा बार बार प्लस होगा ये ज जो है हमारे नए स्ट्रिंग का इंडेक्स है न्यू स्ट्रिंग ऑफ ज इ इक्वल टू एटी ऑफ आ आई होप ये वाली चीज क्लियर होगी कि नई स्ट्रिंग के अंदर j इंडेक्स है और स्ट्रिंग के अंदर i इंडेक्स है इसको एग्जांपल की फॉर्म में देखते हैं कि हम करना क्या चाह रहे हैं यहां पे हमने एक स्ट्रिंग एटीआर पास की है जिसके अंदर मान लीजिए हमने दिया है हेलो वर्ल्ड और अब हमने बनाई है एक न्यू एसडीआर न्यू एसडीआर अभी खाली है मतलब उसमें काफी सारी जगह जो है वो खाली होंगी यहां पे हम हमने पास किया n = 3 और m = 6 तो ये जो लूप है 0 1 2 3 इस l से हमारा लूप शुरू हो रहा होगा और न्यू एस के लिए j = 0 से शुरू हो रहा होगा यहां पे i = 3 से शुरू हो रहा होगा तो इस l को सबसे पहले हम यहां पे कॉपी कर देंगे यानी इसको यहां लाके कॉपी कर देंगे इसको यहां लाके इसको यहां लाके और इसको यहां लाके इस तरीके से लूप हमारा चलेगा तो सबसे पहले i = 3 के लिए कॉपी करके यहां l ले आएंगे फिर j बन जाएगा व i बन जाएगा 4 तो फिर o को भी कॉपी कर देंगे फिर j बन जाएगा टू तो w को कॉपी कर देंगे फिर j बन जाएगा 3 i भी हमारा सिक्स बन चुका होगा तब तक तो इस o को कॉपी कर देंगे यहां पे तो जैसे ही i6 हुआ वैसे ही हमारा स्लाइस खत्म हो गया और फाइनल जो हम स्ट्रिंग रिटर्न करेंगे उसमें होगा एओड हमारे न्यू स्ट्रिंग के अंदर तो एक-एक करके j की वैल्यू तो रो से बढ़ती जा रही है और i की वैल्यू n से बढ़ती जा रही है और m तक होकर जाएगी तो ये हम चीज अचीव करने की कोशिश करें इस लाइन से और और लास्ट में क्या करेंगे न्यू एटीआर में हम अपेंड करा देंगे जे लिख लेते हैं यहां पे हम अपेंड करा देंगे यहां पे बै स् 0 अब ये ज हमें यहां पे चाहिए तो j को बाहर ही डिक्लेयर कर लेते हैं इंट ज = 0 तो यहां पे इनिश इज नहीं करना पड़ेगा इसको कर लेते हैं सेव अब लास्ट में पुट एस करके अपने न्यू स्ट्रिंग को प्रिंट भी करवा देंगे मेन फंक्शन के अंदर अपना कैरेक्टर एसडीआर बनाते हैं जिसके अंदर लिख देते हैं हेलो वर्ल्ड अब कॉल लगा लेंगे स्लाइस को स्ला इसमें पास करेंगे अपनी स्ट्रिंग साथ के साथ n = 3 m = 6 इसको कर लेते हैं सेव एंड रन तो यहां पे एक स्पेस आ गया क्योंकि हेलो वर्ल्ड में हमने स्पेस दे दिया बिना स्पेस का हेलो वर्ल्ड के साथ दोबारा से ट्राई करते हैं तो इस बार एओड तीन से लेकर छह इंडेक्स तक जो हमारी स्ट्रिंग थी वो कट लग के यानी स्लाइस होके हमारे पास वापस आ गई उसको हमने प्रिंट करवा दिया है तो ये हमने स्लाइस फंक्शन बनाया है और ये जो जितने भी हम क्वेश्चंस प्रैक्टिस कर रहे हैं ना इनसे बहुत ज्यादा हमारी लॉजिकल थिंकिंग जो है वो बिल्ड अप हो रही है मतलब सी प्रोग्रामिंग प्रोग्रामिंग इज नॉट अबाउट सिंटेक्स कि हमने सीख लिया जी स्ट्रिंग को ऐसे डिक्लेयर करते हैं या हमने सीख लिया इंटी जर को ऐसे डिक्लेयर करते हैं ऐसे इसको प्रिंट कराते हैं प्रोग्रामिंग इज अबाउट द लॉजिक आप कोई भी लैंग्वेज यूज़ करें लॉजिक सेम का सेम रहता है ये स्लाइस फंक्शन अब आप c+ प के अंदर भी लिख सकते हैं आप जावा के अंदर भी लिख सकते हैं आप जावास्क्रिप्ट के अंदर भी लिख सकते हैं आप सी शप के अंदर गो के अंदर पाइथन के अंदर जिस लैंग्वेज के अंदर लिख सकते हैं लॉजिक य यही रहेगा आपको फॉर लूप लगाना पड़ेगा उसके अंदर आपको चीजें ऐसे कॉपी करनी पड़ेंगी और फिर आप प्रिंट करवा सकते हैं या रिटर्न करवा सकते हैं लॉजिक सेम रहेगा प्रोग्रामिंग लैंग्वेज हमारी चेंज हो सकती है नेक्स्ट सवाल जिसकी बात करेंगे यह है राइट अ फंक्शन टू काउंट द अरेंस ऑफ वोवेल्स इन अ स्ट्रिंग यानी कितनी बार वोवेल्स अकर कर रहे हैं एक स्ट्रिंग में वो हमें काउंट करना है जैसे हमें एक स्ट्रिंग दी हुई है हेलो वर्ल्ड हेलो वर्ल्ड के अंदर वोवेल्स कितनी बार आते हैं एक दो तीन अब जिन स्टूडेंट्स को नहीं पता वोवेल्स क्या होते हैं वोवेल्स होते हैं हमारे लेटर्स ए ई आई ओ एंड यू पांच वोवेल्स होते हैं इंग्लिश लैंग्वेज के अंदर इन पांचों में से कोई भी अगर आता है तो काउंट को कर देंगे प्लस प्लस हमने ऑलरेडी डिस्कस कर लिया कैसे करना है इसको फॉर लूप लगाना है और कब तक लगाना है जब तक नल कैरेक्टर नहीं आ जाता और एक-एक करके कैरेक्टर्स को एनालाइज करेंगे कैरेक्टर अगर वर्बल आ जाता है तो प्लस प्लस कर दो नहीं आता तो उसको छोड़ के आगे बढ़ जाओ सिंपल तरीका होने वाला है इसके लिए भी एक फंक्शन बना लेते हैं काफी सारे फंक्शन हम बना चुके हैं इस कोड के अंदर तो कंफ्यूज नहीं होना है जो लेटेस्ट फंक्शन जिसको डिस्कस कर रहे हैं उसकी बात हो रही है इनफैक्ट मैं क्या करती हूं बाकी सार जो कोड है ना उसको कॉमेंट आउट कर देती हूं फॉर सिंपलीसिटी ताकि हमें पता रहेगा हम बात किस चीज की कर रहे हैं इसको भी कर देती हूं कमेंट आउट इंट काउंट वॉबल्स इसके अंदर पास कर रहे होंगे अपनी एक स्ट्रिंग इंट काउंट वल्स कैरेक्टर एसआर इसके अंदर हमारे पास स्ट्रिंग आएगी एक वेरिएबल ले लेते हैं काउंट जो रो से शुरू होगा अब एक लूप चला लेते हैं जिसमें इंटी जर आ को इनिश इज करेंगे i के साथ जब तक हमारा स्ट्रिंग ऑफ i इज नॉट इक्वल टू नल कैरेक्टर और अब कर लेते हैं i + प् तो हर बार कंपेयर करेंगे यानी कंडीशन लिख देंगे इफ एटी ऑफ i इक्व टू इक्वल टू एक और और या स्ट्रिंग ऑफ i हमारा e के इक्वल हो जाए उसके बाद लिखेंगे स्ट्रिंग ऑफ i इक्वल टू इक्वल टू आ और और स्ट्रिंग ऑफ आ इक्व टू इक्वल टू o और और स्ट्रिंग ऑफ आ इक्वल टू इक्वल टू य तो चेक कर लिया क्या हमारी आयत इंडेक्स प जो स्ट्रिंग है हमारे जो कैरेक्टर है स्ट्रिंग के अंदर वो ए है या ई है या आई है या ओ है या यू है मतलब वोवेल्स में से कुछ है तो उस टाइम पे कर देंगे काउंट प्लस प्लस और एंड में क्या करना है फंक्शन के रिटर्न कर देंगे काउंट तो मेन फंक्शन के अंदर अप अपनी इस स्ट्रिंग के लिए कॉल लगाते हैं काउंट वोवेल्स को काउंट वोवेल्स में पास कर देंगे अपनी स्ट्रिंग और जो भी रिटर्न होके आएगा उसको हम करवा देते हैं प्रिंट परसेंटेज डी वोवेल्स आर तो हमने लाइन लिख दिया वोवेल्स प्रिंट कराने के लिए इसको कर लेते हैं सेव एंड रन तो तीन वोवेल्स है हेलो वर्ल्ड के अंदर पहला है ई दूसरा है ओ और तीसरा है ये दूसरा हो इसके अलावा दूसरा अगर कोई वर्ड यहां पर लिखे मान लीजिए श्रद्धा हम लिख लेते हैं तो इसको भी कर लेते हैं सेव एंड रन तो इसके अंदर दो वोवेल्स हैं मतलब दो एज आते हैं तो इस तरीके से डिफरेंट डिफरेंट आपके जो वर्ड्स हैं उसके अंदर आप वोवेल्स काउंट कर सकते हैं इसी नंबर को अगर हम माइनस कर दें टोटल लेंथ के साथ मतलब जितने वोवेल्स हमारे आ गए टोटल लेंथ निकालें एसटी आर एल एन से और काउंट वोवेल्स का काउंट माइनस कर दें तो हम टोटल कॉन्सोनेंट काउंट कर सकते हैं यानी ववलू कौन से लेटर्स नहीं है उनका काउंट निकाल सकते हैं या फिर हमें निकालना हो कितनी बार इस वर्ड के साथ कितनी बार इस वर्ड में आता है तो h दो बार आता है तो यहां पे बस कंडीशन चेंज हो जाएगी इफ वाली कंडीशन चेंज हो जाएगी h से कंपेयर कर लेंगे उनका काउंट कर लेंगे या डी कितनी बार आता है या ए कितनी बार आता है तो अलग-अलग तरीके के हम फंक्शन बना सकते हैं अलग-अलग कंडीशन के हिसाब से नेक्स्ट जो सवाल जिसकी बात करेंगे वो है चेक इफ अ गिवन कैरेक्टर इज प्रेजेंट इन अ स्ट्रिंग र नॉट जैसे हमें स्ट्रिंग दी है हेलो वर्ल्ड अब हमें एक कैरेक्टर दिया है साथ में कैरेक्टर सी जो है डब् हमें चेक करना है ये कैरेक्टर इस स्ट्रिंग के अंदर प्रेजेंट है या नहीं है यस और नो तो ड इसके अंदर प्रेजेंट है तो प्रिंट होगा यस अगर कैरेक्टर स हमारा मान लीजिए ए होता कैपिटल ए तो कैपिटल ए तो प्रेजेंट नहीं है स्मल एल प्रेजेंट है तो उस केस में हम प्रिंट करते हैं नो या फिर कैरेक्टर स हमारा होता x तो x तो प्रेजेंट है नहीं हेलो वर्ल्ड में तो इस केस में भी प्रिंट करते हैं नो तो हमें चेक करना है हमारा पर्टिकुलर कैरेक्टर स्ट्रिंग के अंदर प्रेजेंट है या नहीं है क्या लॉजिक रहेगा एक-एक करके हर एक कैरेक्टर पे जाएंगे स्ट्रिंग के और चेक कर लेंगे अगर आयत कैरेक्टर है क्या इक्वल अगले वाला i+ 1 है क्या इक्वल सीच के जैसे ही इक्वल हो जाता है वैसे एस प्रिंट कर दो नहीं तो एंड में नो प्रिंट कर दो सिंपल लॉजिक के साथ काम करेंगे तो एक फंक्शन बना लेते हैं इसको भी कर देते हैं कॉमेंट आउट एक फंक्शन बनाते हैं इंट चेक इनफैक्ट इसको कर लेते हैं वॉइड चेक कैरेक्टर इसमें पास करेंगे सबसे पहले तो अपनी स्ट्रिंग और साथ के साथ एक कैरेक्टर सीच वॉइड चेक कैरेक्टर जिसमें पास करेंगे स्ट्रिंग और हमारा कैरेक्टर सी अब कैरेक्टर कैसे चेक करेंगे एक लूप लगा लेंगे फॉर इंट आ इक्व 0 आ जब तक या एटीआर ऑफ आ जब तक नॉट इक्वल टू हमारा नल कैरेक्टर आ होता रहेगा प्लस प्लस अगर हमारा जो एटीआर ऑफ आ है वो सीच के इक्वल हो जाता है तो उस केस में प्रिंट करवा देना है कैरेक्टर इज प्रेजेंट और प्रिंट करवा के यहीं से रिटर्न करवा दो मतलब फंक्शन को हीं पे ही खत्म कर दो कैरेक्टर जैसे ही हमें मिल गया वैसे ही फंक्शन खत्म हो जाएगा तो कोई झंझट ही नहीं रहेगा कैरेक्टर मिल गया वैसे ही रिटर्न करवा दो और उसके बाद क्या होगा पूरा का पूरा आगे के जो चेक होने हैं ना वो नहीं होंगे क्योंकि कैरेक्टर तो यहां पे मिल गया और अगर नहीं मिलता तो कुछ नहीं करना सारा का सारा चेक करना है और लूप अगर खत्म हो गया और अभी तक रिटर्न नहीं हुआ तो फिर एंड में हमें प्रिंट करवाना होगा कि कैरेक्टर इज नॉट प्रेजेंट तो यहां प्रिंट करवा देंगे कैरेक्टर इज नॉट प्रेजेंट फिर यहां से रिटर्न कर रहे होंगे हम तो एकएक करके कैरेक्टर को हम चेक कर रहे हैं कि सीच के इक्वल है या नहीं स्ट्रिंग का कोई भी कैरेक्टर उसके बाद अगर कहीं भी मिल जाता है तो प्रिंट करवा देंगे प्रेजेंट है और वहां से करवा देंगे रिटर्न अगर नहीं मिलता है तो एंड में लिखवाना है कि कैरेक्टर प्रेजेंट नहीं है इसको कर लेते हैं सेव एंड रन अब मेन फंक्शन के अंदर भी अपना कैरेक्टर का कोई स्ट्रिंग बना लेते हैं मान लीजिए हमने स्ट्रिंग बनाई है अपना कॉलेज कैरेक्टर सीच जो हम भेजना चाह रहे हैं वो शुरुआत में है ई और कॉल करेंगे चेक कैरेक्टर फ आर एंड ई यहां पे सी अब इसको सेव करके रन करते हैं तो कैरेक्टर इज प्रेजेंट लिखा हुआ आ गया लेकिन यहां पर ई की जगह अगर हम x कर देते तो क्या होता तो लिखा हुआ था कैरेक्टर इज नॉट प्रेजेंट तो इस तरीके से देख सकते हैं कैरेक्टर हमारा प्रेजेंट है स्ट्रिंग के अंदर या नहीं है लॉजिक क्या रहना है लॉजिक यही रहना है स्ट्रिंग को एक-एक करके ट्रैवर्स करेंगे कैरेक्टर्स को निकालते रहेंगे और अपनी कंडीशंस को चेक करते रहेंगे तो आई होप कि स्ट्रिंग के बारे में हमें काफी कुछ सीखने को मिला क्लास के अंदर कुछ एडिशनल क्वेश्चंस हैं वो हम सॉल्व कर सकते हैं नेक्स्ट जिस चैप्टर की हम बात करेंगे वोह होने वाला है हमारा स्ट्रक्चर्स व्हिच इज़ अ रियली इंपॉर्टेंट चैप्टर जब भी हम बात करते हैं सी प्रोग्रामिंग की क्योंकि स्ट्रक्चर्स जो है ना बेसिस फॉर्म करते हैं c+ प् का स्ट्रक्चर्स पढ़ने के बाद हमें समझ में आने लग जाएंगी कुछ-कुछ चीजें जो c+ प के अंदर एजिस्ट करती हैं तो अब हम शुरुआत करने वाले हैं अपने चैप्टर नाइन की जिसका नाम है स्ट्रक्चर्स अब इससे पहले हमने काफी सारे कलेक्शन डटा टाइप्स देखे हैं जैसे हमने इंटी जर्स का कलेक्शन देखा एक इंटी जर एरे कैरेक्टर्स का कलेक्शन देखा एक स्ट्रिंग उसी तरीके से अगर हम एक ऐसा कलेक्शन बनाना हो जिसमें बहुत सारे डिफरेंट टाइप्स के डाटा स्टोर्ड हो जैसे मान लीजिए हमें एक इंट भी स्टोर करना है एक कैरेक्टर भी स्टोर करना है एक फ्लोट भी स्टोर करना है और एक स्ट्रिंग भी स्टोर करनी है अब इन चारों को मिलाकर हम एक एरे को फॉर्म नहीं कर सकते क्योंकि एरे क्या होता है एरे एक कलेक्शन ऑफ डाटा होता है जिनका डेटा टाइप सेम होता है पर यहां पर हमें ऐसा कलेक्शन बनाना है जिसमें डेटा टाइप हमारे अलग-अलग हो ऐसे कलेक्शंस को फॉर्म करने के लिए हम इस्तेमाल करते हैं स्ट्रक्चर्स का तो स्ट्रक्चर्स की डेफिनेशन देखें तो स्ट्रक्चर इज अ कलेक्शन ऑफ वैल्यूज ऑफ डिफरेंट डटा टाइप्स यानी अलग-अलग आप डाटा टाइप्स ले लेंगे और फिर उनको सेम एक स्ट्रक्चर के अंदर एक कलेक्शन के अंदर आप रखना चाहते हैं तो उसको हम स्ट्रक्चर कहेंगे स्ट्रक्चर का एग्जांपल क्या हो सकता है कि जैसे एक स्टूडेंट की हमें इंफॉर्मेशन स्टोर करानी है तो उस इंफॉर्मेशन को स्टोर कराने के लिए सबसे पहले हमें उसका नाम स्टोर करवाना पड़ेगा जो एक स्ट्रिंग टाइप का होगा उसका रोल नंबर स्टोर करा ना पड़ेगा जो एक इंटी जर टाइप का होगा और उसका सीजीपीए स्टोर कराना पड़ेगा जिसको हम फ्लोटिंग वैल्यू ले सकते हैं तो जब इस तरीके की हमें कोई इंफॉर्मेशन स्टोर करानी होती है तो उसको हम कराते हैं स्ट्रक्चर्स की हेल्प से अब सिंटेक्स क्या होगा एक स्ट्रक्चर को क्रिएट करने का सिंटेक्स में सबसे पहले हम स्ट्रक्ट कीवर्ड लिखते हैं स्ट्रक्ट कीवर्ड हमें बताता है कि हम एक स्ट्रक्चर क्रिएट करने वाले हैं उसके बाद लिखते हैं स्ट्रक्चर का नाम जैसे अगर हम स्टूडेंट की इंफॉर्मेशन स्टोर कराना चाहते हैं तो उसमें हम डिफरेंट डिफरेंट वैल्यू स्टोर करा रहे होंगे तो स्ट्रक्चर को हमने नाम दे दिया स्टूडेंट मान लीजिए आप एक एंप्लॉई की इंफॉर्मेशन स्टोर करा रहे होते तो इसको हम नाम देते थे एंप्लॉई अगर हम एक बैंक अकाउंट होल्डर की इंफॉर्मेशन स्टोर करा देते तो इसको हम नाम दे देते बैंक अकाउंट जिसमें हम अकाउंट नंबर आईएफएससी कोड बैंक का नाम बैंक का एड्रेस ये सारी चीजें जो है स्टोर करा रहे होते तो यहां पे हमने अपने स्ट्रक्चर को नाम दिया है स्टूडेंट और इसके अंदर हमने तीन वैल्यू स्टोर कराई हैं इनमें से सबसे पहला है कैरेक्टर एरे यानी हमारी स्ट्रिंग नेम उसके बाद हमारे पास है एक इंटी जर वेरिएबल जिसका नाम है रोल नंबर फिर एक फ्लोट वेरिएबल जिसको हमने नाम दिया सीजीपीए और इस पूरे स्ट्रक्चर को हम पैरेंस के अंदर लिखते हैं मतलब स्ट्रक्चर के अंदर जो जो एलिमेंट्स आने वाले हैं उसको हम पैरेंस के अंदर लिखते हैं और एंड में हम लगा देते हैं एक स्टेटमेंट टर्मिनेटर यूजुअली बच्चे लगाना भूल जाते हैं जिसकी वजह से एरर आता है तो स्टेटमेंट टर्मिनेटर को हमें नहीं भूलना है अब एक बार डिस्कस करते हैं कि डेटा टाइप्स ना दो तरीके के होते हैं एक होते हैं हमारे इनबिल्ट डेटा टाइप्स जो पहले से ही हमारी प्रोग्रामिंग लैंग्वेज के अंदर एजिस्ट करते हैं जैसे हमारा इंटी जर हो गया हमारा फ्लोट हो गया या फिर हमारा कैरेक्टर हो गया या इनफैक्ट अरेज भी इसी कैटेगरी के अंदर आ जाते हैं अब वहीं पर दूसरी तरफ हमारे आते हैं यूजर डिफाइंड डेटा टाइप्स यूजर डिफाइंड डेटा टाइप्स को यूजर बनाते हैं अभी तक अगर हम एक इंटी जर चाहिए होता था तो वो ऑलरेडी मेमोरी में एजिस्ट करता था कि इंटी जर का मतलब होता है कि मेमोरी के अंदर आपके लिए चार बाइट सेव हो गई हैं अगर कैरेक्टर चाहिए होता था तो वो भी पहले से एजिस्ट करता था सी प्रोग्रामिंग बताती है कि कैरेक्टर पहले से एजिस्ट करता है तो आपको एक बाइट चाहिए अगर जिसमें आप कोई भी कैरेक्टर कोई भी लेटर स्पेशल कैरेक्टर स्टोर कराना चाहते हैं तो ऑलरेडी सी प्रोग्रामिंग में एजिस्ट करता है पर मान लो अगर हमें ऐसा डेटा टाइप चाहिए जिसके अंदर फ्लोट के लिए हमें चार बाइट्स चाहिए इंटी जर के लिए चार बाइट्स चाहिए और उसमें हमें कैरेक्टर भी स्टोर कराना चाहते हैं तो एक ऐसा कस्टम डेटा टाइप यूजर को खुद बनाना पड़ेगा वो ऑलरेडी सी में एजिस्ट नहीं करता अब ऐसे जो डेटा टाइप्स होते हैं इनको यूजर डिफाइन कहते हैं और स्ट्रक्चर हमारा एक यूजर डिफाइन डाटा टाइप की कैटेगरी में आता है यानी इसको यूजर खुद डिफाइन कर सकता है तो जैसे हमारे पास एक इंटी जर एरे होता है इंटी जर एरे में क्या होता है मान लीजिए हमने एक इंटी जर एरे बनाया ए आरआर जिसका साइज़ हमने दिया तीन अब इसमें क्या होगा एक तीन इंटी जर्स जितनी मेमोरी हमारे लिए सेव हो जाएगी कंप्यूटर की मेमोरी में वैसे ही जब भी हम स्टूडेंट क्रिएट करते हैं ना तो स्टूडेंट के क्रिएट होते ही हमारे पास एक स्ट्रिंग के बराबर मेमोरी एक इंटी जर के बराबर मेमोरी और एक फ्लोट के बराबर मेमोरी रिजर्व हो जाती है तो अब हमारे पास एक नया डटा टाइप आ गया जिसमें हम तीन अलग-अलग वैल्यूज एक साथ स्टोर करवा सकते हैं और इसको क्रिएट कैसे करना है ये तो हमने डिफाइन कर लिया अपने डाटा टाइप को ये चीज एक बार लिखनी है कि हमारा डाटा टाइप कुछ ऐसा दिखेगा उसके बाद अगर डटा टाइप को यूज करना है तो जैसे हम इंटी जर को कैसे यूज करते थे इंट n = 5 उसी तरीके से यहां पर हमें लिखना है स्ट्रक्ट स्टूडेंट यह है हमारा डेटा टाइप स्टूडेंट स्ट्रक्चर उसके बाद n की जगह हमारे पास s1 आ गया है और अब अगर हमें s1 के लिए यानी स्टूडेंट के लिए डिफरेंट डिफरेंट पैरामीटर्स को एक्सेस करना है जैसे नेम के लिए हम लिखेंगे s1 नेम रोल नंबर के लिए लिखेंगे s1 रोल नंबर और सीजीपीए के लिए लिखेंगे s1 cp7 5 तो कुछ इस तरीके से हम इसको डिक्लेयर कर रहे होंगे इसको यूज़ कर रहे होंगे और फिर इसके अंदर वाले पैरामीटर्स को भी एक्सेस कर रहे होंगे अब एक्चुअली कोड के अंदर एक स्ट्रक्चर बनाकर देख लेते हैं कि इसको लिखा कैसे जाता है सबसे पहले हम लिखेंगे स्ट्रक्ट कीवर्ड स्ट्रक्ट उसके बाद लिखेंगे स्टूडेंट हमारे स्ट्रक्चर का नाम अब इसके अंदर हम तीन चीजें डिफाइन करने वाले हैं रोल नंबर सीजीपीए और नाम तो सबसे पहले लिखते हैं इंट रोल उसके बाद फ्लोट सीजीपीए एंड उसके बाद कैरेक्टर नेम ऑफ 100 कैरेक्टर्स और एंड में लगा देंगे स्टेटमेंट टर्मिनेटर तो यह हमने अपना डेटा टाइप डिफाइन कर दिया है स्ट्रक्चर हमारा यूजर डिफाइन डाटा टाइप है अब मेन फशन के अंदर अब स्ट्रक्चर टाइप का एक वेरिएबल बनाएंगे स्ट्रक्ट स्टूडेंट हमारा टाइप एंड उसके बाद वेरिएबल का नाम है s1 जिसको हमने अभी बस इनिश इइ नहीं किया सिर्फ डिक्लेयर किया है इनिशियलिज्म और ये है इसकी प्रॉपर्टीज अब s1 के रोल प्रॉपर्टी रोल नंबर प्रॉपर्टी को एक्सेस करना है तो बीच में लगा देंगे डॉट ऑपरेटर यानी s1 ड रोल नंबर इसको इक्वल टू कर देंगे हमारी वैल्यू के फिर लिखेंगे s1 सज इसमें भी कोई वैल्यू हम ऐड कर देते हैं फिर अब हम लिखना है s1 . n अगर हम इसको नॉर्मली लिखने लगे जैसे हमने सिंपली लिखा s1 . n = श्रद्धा तो ये वाला जो सिंटेक्स है ना अपनी स्ट्रिंग को डिक्लेयर करने का उसको पास ऑन करने का s1 . ने में ये गलत है क्यों गलत है क्योंकि स्ट्रिंग्स के अंदर हमने ऑलरेडी पढ़ा था कि जो स्ट्रिंग्स एरे नोटेशन से डिफाइन होती है उसकी वैल्यूज आप चेंज नहीं कर सकते उसमें वैल्यूज कॉपी कर सकते हैं उस स्ट्रिंग को कंपेयर कर सकते हैं इनबिल्ट स्ट्रिंग के फंक्शन यूज कर सकते हैं पर उसकी वैल्यू को डायरेक्टली आप इज इक्वल टू से चेंज नहीं कर सकते हां अगर यह कैरेक्टर पॉइंटर होता तो फिर वो चीज पॉसिबल थी पर यहां पर ये एरे नोटेशन से डिफाइन हुआ है इसीलिए यहां पर हमें यूज करना पड़ेगा अपना एक स्ट्रिंग फंक्शन स्ट्रिंग कॉपी तो उसके लिए ऊपर लाइब्रेरी इंक्लूड कर लेते हैं स्ट्रिंग ड ए और नीचे क्या करते हैं इसको करते हैं कॉमन डाउट और लिखते हैं स पवा हम किसको किस में कॉपी करना चाहते हैं हम अपने नाम को s1 . नेम में कॉपी करना चाहते हैं तो पहली लिखेंगे s1 नेम दूसरी स्ट्रिंग होगी हमारी हमारा नाउ तो ये सेकंड स्ट्रिंग हमारी फर्स्ट स्ट्रिंग के अंदर कॉपी हो जाएगी एंड इसके बाद क्या करेंगे तीनों प्रॉपर्टीज को हम डिस्प्ले कराने वाले हैं सबसे पहले लिख देते हैं स्टूडेंट नेम इज इक्वल टू परसेंटेज s s1 . n अब जब वैल्यू असाइन करनी थी तब भी s1 . नेम करना है और जब वैल्यू प्रिंट करनी है तब भी s1 ड नेम करना है अगर हम डायरेक्टली सोचे कि s1 को हम यहां पर सिंपली लिख देंगे और डॉट नहीं यूज करेंगे यानी इसी के साथ हम सिर्फ s1 की वैल्यू प्रिंट करवाए उसके बाद हम प्रिंट करने वाले हैं अपने स्टूडेंट का रोल नंबर परसेंटेज डी से s1 डॉट रोल एंड उसके बाद प्रिंट करेंगे अपने स्टूडेंट का सीजीपीए परसेंटेज f s1 सज प और सबके एंड में लगा देंगे बैक स्ल n इसको कर लेते हैं सेव और इसको रन करके देखते हैं तो सबसे पहले तो हमारे पास स्टूडेंट का नाम आ गया है उसके बाद रोल नंबर आ गया है एंड उसके पास हमारे पास आ गई है स्टूडेंट का सीजीपीए तो कुछ इस तरीके से हमारा स्ट्रक्चर जो होता है उसको हम डिक्लेयर करते हैं सबसे पहले उसके बाद उसका एक वेरिएबल बनाते हैं फिर वेरिएबल में पैरामीटर्स को वैल्यू असाइन करते हैं फिर उस वैल्यू को हम यूज कर सकते हैं कहीं भी मतलब उसको प्रिंट करवा सकते हैं उस वैल्यू को चेंज भी कर सकते हैं और उस वैल्यू को किसी और दू दूसरी वैल्यू को भी असाइन कर सकते हैं नेक्स्ट चीज इसके अंदर जो हम पढ़ेंगे कि स्ट्रक्चर को जब हम डिक्लेयर करते हैं तो मेमोरी के अंदर एक्चुअली क्या होता है हमने पढ़ा था कि इंटी जर एरे को डिक्लेयर करते हैं तो मेमोरी के अंदर तीन कंटीन्यूअस लोकेशंस जो है ना वो स्टोर हो जाती हैं जैसे इंटी जर टाइप का हमने एरे बनाया तो उसमें 1 2 3 ये तीन हमारी मेमोरी की लोकेशंस सेव हो गई हैं वैसे ही जब हम स्ट्रक्चर बनाते हैं तो उसके अंदर जो भी डेटा टाइप्स हम डिफाइन करते हैं उन डेटा टाइप्स के हिसाब से हमारे मेमोरी के अंदर कुछ-कुछ एरिया है जो स्टोर हो जाता है वो भी कंटस फैशन में यानी लगातार जैसे एरे के अंदर एक के बाद एक के बाद एक ब्लॉक्स होते हैं वैसे ही यहां पर भी कंटस मेमोरी लोकेशंस होती हैं जैसे अगर हमने एक स्टूडेंट स्ट्रक्चर बनाया जिसमें सबसे पहले हमने कैरेक्टर एरे रखा स्ट्रिंग के लिए तो सबसे पहले एक स्ट्रिंग के बराबर मेमोरी लोकेशन हमारे पास स्टोर हो जाएगी जिसको हम नाम दे देंगे नेम और नेम के अंदर अब हम जितने भी कैरेक्टर्स अपने नेम स्ट्रिंग के अंदर स्टोर कराना चाहते हैं वो सारे के सारे स्टोर हो जाएंगे अब यहां पर हमने साइज जो दिया है नेम को वो 100 कैरेक्टर के बराबर है तो नेक्स्ट इंटी जर जो होगा ना वो 100 कैरेक्टर्स बाद एलोकेट होगा तो 21 आ गया उसके बाद 2110 आएगा तब जाके रोल नंबर को स्पेस मिलेगी रोल नंबर इंटी जर टाइप का है तो इसको स्पेस मिलेगी चार बाइट्स की अब चार बाइट्स के बाद 2114 आएगा जहां पे आएगा सीजीपीए सीजीपीए हमारा फ्लोट टाइप का है तो इसको भी उसी के बराबर मेमोरी मिल रही होगी तो इस तरीके से कंटस फैशन में यानी लगातार वाले फैशन में एक के बाद एक हमारे पास मेमोरी लोकेशन स्टोर होती है जब भी हम एक स्ट्रक्चर को क्रिएट करते हैं ऑब् वियस कुछ-कुछ कंपाइलर्स के हिसाब से कुछ-कुछ मशीनस के हिसाब से ये जो फॉर्मेट है हल्का सा चेंज हो सकता है पर अगर कोई पूछे तो बाय डिफॉल्ट हम यही अज्यू म करते हैं यही बताते हैं नेक्स्ट एक प्रैक्टिस क्वेश्चन कर लेते हैं प्रैक्टिस क्वेश्चन कहता है राइट अ प्रोग्राम टू स्टोर द डाटा ऑफ थ्री स्टूडेंट्स एक प्रोग्राम लिखना है उसमें तीन स्टूडेंट्स का हमें डाटा स्टोर कराना है तो उसके लिए ऑलरेडी हमने एक स्ट्रक्चर जो है वो तो क्रिएट ही कर लिया था यानी हमने अपना स्टूडेंट स्ट्रक्चर बना लिया था हमने एक स्टूडेंट की इंफॉर्मेशन भी बना ली है अब क्या करेंगे एक दूसरे स्टूडेंट स्टूडेंट को क्रिएट करेंगे तो उसको क्रिएट करने के लिए सारी की सारी इंफॉर्मेशन हम कॉपी कर सकते हैं सबसे पहले लिख देंगे यहां पे s2 अब s2 का रोल नंबर लिखेंगे 1660 88.7 यहां पे नाम को हम चेंज कर लेते हैं और हर जगह कर देते हैं s2 अब सिमिलरली कॉपी करके एक और स्टूडेंट बनाते हैं इसको हम नाम देंगे s3 s3 के अंदर भी हम वैल्यूज को चेंज कर रहे होंगे ऊपर यहां भी चेंज कर देते हैं s2 यहां भी चेंज कर देते हैं s2 य यहां पर हो गया हमारा s3 एंड s3 तो शुरुआती जो क्वेश्चंस होते हैं ना उसमें मैं चाहती हूं कि आप ये कॉपी करने की बजाय ना इस सिंटेक्स को अगर खुद से फर्स्ट टाइम लिख रहे हैं तो टाइप करके लिखना है कॉपी नहीं करना तीनों स्टूडेंट्स के लिए शुरुआत में कोई नई चीज सीखते हैं ना तो उसको बिल्कुल बेसिक तरीके से करते हैं इंस्टेड ऑफ कॉपी पेस्टिंग तो वो ज्यादा टाइम तक याद रहेगी तो इस तरीके से तीन बार अगर आप तीन स्टूडेंट्स बना लेंगे ना तो हमारे स्ट्रक्चर को यूज कैसे करना है उसकी वैल्यूज को एक्सेस कैसे करना है डिक्लेयर कैसे करना है वो हमें याद हो जाएगा तो अगर आप फर्स्ट टाइम खुद से स्ट्रक्चर सीख रहे और खुद से को सवाल कर रहे हैं तो इसको बेसिक से लिखना है मतलब कॉपी नहीं करनी तीनों स्टूडेंट्स की वैल्यूज को अब इसमें तीनों में s3 हो गया यहां पे चेंज कर देते हैं रोल नंबर्स और हमारा सीजीपीए इसको कर लेते हैं सेव एंड रन तो सबसे पहले फर्स्ट स्टूडेंट की वैल्यूज हमारे पास आ गई उसके बाद सेकंड स्टूडेंट की वैल्यूज आ गई एंड उसके बाद थर्ड स्टूडेंट की वैल्यूज आ गई अब इसकी फॉर्मेटिंग हम चेंज कर सकते हैं जिस भी हिसाब से डिस्प्ले करना हो अब यहां पे ना स्ट्रक्चर्स को यूज़ करके काफी सारे इंटरेस्टिंग प्रॉब्लम सॉल्व हो सकते हैं जैसे मान लीजिए आप अपने स्कूल के लिए कोई सिस्टम बना रहे हैं या कॉलेज के लिए कोई सिस्टम बना रहे हैं जो स्टूडेंट्स की सारी इंफॉर्मेशन को स्टोर करता है या फिर आप एक पूरा का पूरा परसेंटेज कैलकुलेट करना चाहते हैं जिसमें हर सब्जेक्ट के सेमेस्टर वाइज मार्क्स स्टोर हो अब ऐसा डाटा स्टोर कराने के लिए मार्क्स तो खैर सेम टाइप का हो गया पर स्टूडेंट के पास बहुत सारे अलग-अलग डिफरेंट टाइप्स का डाटा होता है उसको स्टोर कराने के लिए अगर आपको एक सिस्टम बनाना है तो सी में आपको स्ट्रक्चर्स का इस्तेमाल करना पड़ेगा जिसमें आप काफी सारी अलग-अलग टाइप की इंफॉर्मेशन स्टोर करा सकते हैं और अपना खुद का एक प्रोजेक्ट बना सकते हैं जो आपके कॉलेज के स्टूडेंट्स के डाटा को हैंडल करता हो नेक्स्ट टॉपिक की बात करें तो नेक्स्ट टॉपिक है बेनिफिट्स ऑफ स्ट्रक्चर यानी स्ट्रक्चर हमने देख लिया कि हां ठीक है अलग-अलग टाइप का डाटा हम स्टोर करा लेते हैं पर एक्चुअली कोई थोरेट्स होते हैं आपके पेपर में सवाल आ जाए या इंटरव्यू और पूछ ले स्ट्रक्चर्स के बेनिफिट्स क्या होते हैं जैसे एरे का बेनिफिट हमने समझा था एरे का बेनिफिट क्या था कि सेम टाइप का डटा स्टोर कराने के लिए सबसे पहले तो आपको अलग-अलग वेरिएबल नहीं बनाने पड़ते मान लीजिए आपको 100 इंटी जर स्टोर कराने तो आपको 100 डिफरेंट वेरिएबल याद रखने की जरूरत नहीं है सिंगल एरे बनाना है और एक एक वेरिएबल इंटी जर को हमें याद रखना है बाकी सारे हम उससे एक्सेस कर लेंगे एंड इवन सॉर्ट ंग जैसी जो एक्टिविटीज होती हैं वो सारी उस पर जैसे इंक्रीजिंग ऑर्डर में सॉर्ट कर देना डिक्रीजिंग ऑर्डर में सॉर्ट कर देना एंड जब हम डिफरेंट डिफरेंट कॉम्प्लेक्शन एल्गोरिथम्स करेंगे वो बहुत सारे अरेज को यूज़ करके सॉल्व होते हैं तो वहां पर अरेज का बेनिफिट आ जाता है वैसे हमसे स्ट्रक्चर्स का कोई बेनिफिट पूछ सकता है स्ट्रक्चर का सबसे पहला बेनिफिट होता है सेव्स अस फ्रॉम क्रिएटिंग टू मेनी वेरिएबल जैसे अरेज होते हैं अब यहां पे अगर हम स्टूडेंट के लिए स्ट्रक्चर नहीं बनाते तो सबसे पहले इसको लिखते s2 रोल नंबर इसको लिखते s2 सीजी पे इसको s3 रोल नंबर s3 सीजी पे तो कितने सारे अलग-अलग वेरिएबल हो जाते जिनको हमें डिक्लेयर करना पड़ता तो हमें ज्यादा वेरिएबल डिक्लेयर नहीं करने पड़ते क्योंकि स्ट्रक्चर्स पिक्चर में आ गए हैं दूसरा बेनिफिट ये होता है गुड डेटा मैनेजमेंट एंड ऑर्गेनाइजेशन अब हमें पता है हर स्टूडेंट के लिए नाम स्टोर होना है सीजीपीए स्टोर होना है रोल नंबर स्टोर होना है हो सकता है कि कहीं पर सीजीपीए की जगह परसेंटेज स्टोर हो हर स्टूडेंट के लिए पेरेंट्स का नाम स्टोर हो सकता है हर स्टूडेंट के लिए उनका आधार आईडी स्टोर हो सकता है मतलब सारी इंफॉर्मेशन कॉमन रहेगी तो बार-बार सेम तरीके के वेरिएबल बनाने से अच्छा है कि अच्छी मैनेजमेंट करें डेटा मैनेजमेंट भी एक बहुत इंपॉर्टेंट कोर कांसेप्ट होता है जब हम प्रोग्रामिंग करते हैं तो अच्छे तरीके से डाटा को कैसे मैनेज करना है सेम तरीके की इंफॉर्मेशन है तो उसके लिए सेम डेटा टाइप बना दो जो हम स्ट्रक्चर की हेल्प से बनाते हैं इसीलिए सारा जो डाटा होता है ना वो स्ट्रक्चर्ड फॉर्मेट में हमारे पास आ जाता है नेक्स्ट अगर बात करें तो नेक्स्ट पढ़ेंगे हम एरे ऑफ स्ट्रक्चर्स अब हमने पढ़ा था कि हम इंटी जर्स का एरे बना सकते हैं जैसे स्टूडेंट्स के हमें रोल नंबर स्टोर करने हैं तो 100 स्टूडेंट्स के लिए हमने एक एरे बना लिया स्टूडेंट्स रोल नंबर वैसे ही हम फ्लोट में अगर प्राइस स्टोर करना चाहते हैं तो आगे लिख देंगे फ्लोट फिर प्राइस फिर 100 आइटम्स का प्राइस तो यहां पे पहले हम डेटा टाइप लिखते हैं फिर वेरिएबल का नाम और फिर क्वांटिटी पहले डेटा टाइप फिर वेरिएबल का नाम फिर क्वांटिटी वैसा ही स्ट्रक्चर्स में होता है स्ट्रक्चर्स के भी हम ऐसे ही अरेज बना सकते हैं पहले डेटा टाइप यानी हमारा स्ट्रक्चर स्टूडेंट फिर वेरिएबल का नाम और फिर उसके बाद क्वांटिटी पहले डटा टाइप फिर वेरिएबल का नाम फिर क्वांटिटी तो यहां पे हमने जो एरे ऑफ स्ट्रक्चर्स डिक्लेयर किया है उसको अगर समझने निकले तो सबसे पहले तो हमने डेटा टाइप बता दिया कि स्ट्रक्चर स्टूडेंट है तीनों अरेज का डेटा टाइप फिर हमने लिया है ईसी तो यहां पे इलेक्ट्रॉनिक्स के 100 बच्चों की इंफॉर्मेशन स्टोर कराएंगे स्ट्रक्चर के अंदर तो हमने नंबर दे दिया है 100 फिर सीओई के 100 बच्चों की इंफॉर्मेशन स्टोर कराएंगे फिर आईटी के 100 बच्चों की इंफॉर्मेशन स्टोर कराएंगे तो ये तीन अलग-अलग एरे हो गए अब स्टूडेंट तो एजिस्ट करते थे ही स्टूडेंट स्ट्रक्चर हमने ऑलरेडी बना लिया अब यहां पे हम चाहते हैं कि ईसी के जो 100 बच्चे हैं सीओई कंप्यूटर साइंस के जो 100 बच्चे हैं और आईटी के जो 100 बच्चे हैं इनके लिए अलग-अलग इंफॉर्मेशन स्टोर हो तो आप इनके लिए अब अलग-अलग एरिज बना लेंगे और एक्सेस कैसे करेंगे एक्सेस इस फॉर्मेट में करेंगे कि पहले एरे का नाम लिखना है फिर इंडेक्स लिखना है फिर डॉट रोल नंबर तो इससे क्या होगा कि हमने मेमोरी के अंदर अपने 100 स्ट्रक्चर्स बना लिए इसमें यह है हमारा ईईसीई का रोए स्टूडेंट ये ईसी का फर्स्ट स्टूडेंट ये ईसी का सेकंड स्टूडेंट एंड सो ऑन इस स्टूडेंट के अंदर अपने पास अपना एक नाम एक रोल नंबर और एक सीजीपीए स्टूडेंट के पास भी अपना एक नाम एक रोल नंबर और एक सीजीपीए एंड सेम थ्री इंफॉर्मेशन फॉर दिस स्टूडेंट हर स्टूडेंट के पास अपनी एक इंडिविजुअल इंफॉर्मेशन है और इस इंफॉर्मेशन को अगर मान लीजिए इस स्टूडेंट के ईसी 0 ए स्टूडेंट के हम रोल नंबर को एक्सेस करना चाहते हैं तो क्या लिखेंगे ईसी ऑफ 0 डट रोल नंबर अब इसको रोल नंबर असाइन करना चाहते हैं जो चाहे मान लीजिए 1664 असाइन कर दिया तो वह असाइनमेंट इस तरीके से पॉसिबल है तो हम सबसे पहले अपने एरे का नाम लिखेंगे फिर इंडेक्स लिखेंगे उसके बाद डॉट लगाकर हम लिखेंगे अपनी उस प्रॉपर्टी का नाम जिसको हम एक्सेस करना चाहते हैं वैसे ही आई0 रोल नंबर एंड आई0 सीजीपीए अब एक्चुअली एक एरे ऑफ स्टूडेंट्स बनाकर देखते हैं पुराने वाले कोड को हटा लेते हैं तो स्ट्रक्चर स्टूडेंट हमने ऑलरेडी बनाया हुआ है यहां लिखते हैं स्ट्रक्ट स्टूडेंट अब एरे का नाम हम देने वाले हैं ईसी ईसी के अंदर हमारे पास 100 बच्चे हैं तो ईसी के रोत बच्चे का अगर हमें रोल नंबर स्टोर कराना है तो उसको लिखेंगे 1664 ईसी के इसी बच्चे का अगर हमें सीजीपीए स्टोर कराना है सीजीपीए तो इसको हम लिख देंगे 99.2 और इसी बच्चे का अगर हमें नाम स्टोर कराना है तो फिर से एटीआर सीपीवाई सबसे पहले लिखेंगे 0 नेम एंड फिर लिखेंगे अपना नाम अब इसी इंफॉर्मेशन को प्रिंट भी करा सकते हैं प्रिंट एफ की फॉर्म में सबसे पहले लिखेंगे नेम परसेंटेज एस अभी सिर्फ नेम प्रिंट करवा लेते हैं आप फर्स्ट टाइम कोड लिख रहे हैं तो आपको तीनों प्रिंट करवाने हैं डॉट नेम एंड इसको कर लेंगे एक बार रन तो नाम हमारे पास यहां पर प्रिंट होके आ गया है सिंटेक्स क्या आ रहा नॉर्मल पहले डटा टाइप लिखना है फिर वेरिएबल का नाम लिखना है एरे का नाम और फिर एरे का साइज और उसमें वही इंडेक्स वाले फॉर्मेट से ही वैल्यूज को एक्सेस करना है जब भी वैल्यूज असाइन कर रहे हैं या वैल्यूज प्रिंट करवा रहे हैं या यूज़ कर रहे हैं नेक्स्ट बात कर लेते हैं इनिशियल इजेशन ऑफ स्ट्रक्चर्स की अभी तक हमने क्या किया हमने एक स्ट्रक्चर को डिक्लेयर कर दिया फिर उसका एक वेरिएबल बना लिया फिर वेरिएबल की प्रॉपर्टीज को एक-एक करके एक-एक करके हम असाइन करते हैं लेकिन हम बार बार डॉट ऑपरेटर यूज़ करने की जगह एक साथ सारी प्रॉपर्टीज को भी असाइन कर सकते हैं इसको कहते हैं इनिश इजिंग स्ट्रक्चर्स तो स्ट्रक्चर्स को किस फॉर्मेट में इनिश इज करते हैं सबसे पहले अपने स्ट्रक्चर का नाम लिख देंगे यानी डेटा टाइप उसके बाद अपने वेरिएबल का नाम और राइट साइड के अंदर लिख देंगे अपनी तीनों वैल्यूज को जैसे नाम लिखना है तो नाम पहले लिख दिया उसके बाद रोल नंबर उसके बाद हमारा सीजीपीए स्टूडेंट s2 की बात करें तो उसके लिए भी नाम पहले लिख दिया फिर रोल नंबर फिर सीजीपीए अब अगर हम राइट साइड में पैरेंस के अंदर रो लिख देते हैं तो इसका मतलब होता है कि तीनों वैल्यूज जो होंगी s3 के लिए वो नल वैल्यूज होंगी मतलब ज़ीरो सब में चला जाएगा ऑटोमेटिक तो यहां पे हम डिक्लेयर कर रहे हैं पर ऑटोमेटिक ज़ीरो उनको असाइन हो जाएगा तो एक सिंगल लाइन में इनिश इज करने का फायदा यह होता है कि आपको चार डिफरेंट लाइंस नहीं लिखनी पड़ती पहले आप क्या करते s1 को डिक्लेयर करते फिर s1 रोल नंबर बनाते फिर s1 सीजीपीए बनाते पर अब हम ये सारे के सारे काम सिंगल लाइन में कर पा रहे हैं एक बार इसको करके भी देख लेते हैं इसको कर लेते हैं डिलीट एंड स्ट्रक्ट स्टूडेंट s1 इ इक्व ट सबसे पहले रोल नंबर लिख लेते हैं 1664 मैं उसी फॉर्मेट में जा रही हूं जिस फॉर्मेट में स्ट्रक्चर के अंदर मैंने पैरामीटर्स को डिफाइन किया है और मैं यही सजेस्ट करती हूं कि जब भी आप जैसे चीजों को डिक्लेयर करते हैं ना हमेशा उसी ऑर्डर में जाना चाहिए जिससे अगर कोई नया इंसान आके आपका कोड पढ़ रहा है ना कोई दूसरा प्रोग्रामर तो दिस इज़ अ वेरी गुड प्रोग्रामिंग हैबिट कि जिस ऑर्डर में आप चीजें डिक्लेयर करते हैं उसी ऑर्डर में उनको वैल्यूज असाइन करें ताकि देखने में सिस्टमिक लगे अच्छा हां सबसे पहले रोल नंबर लिखा है तो यह रोल नंबर ही होगा उसके बाद सीजीपीए लिखना है तो सीजीपीए हम अपनी लिख लेते हैं एंड उसके बाद नाम लिख लेते हैं और इसको कर देते हैं सेव अब वैल्यूज को हम पहले की तरह एक्सेस कर पाएंगे जैसे अगर मैं प्रिंट एफ करना चाहूं स्टूडेंट का रोल नंबर परसेंटेज डी से तो यहां पे हम लिख सकते हैं s1 डॉट रोल नंबर इसको कर लेते हैं सेव एंड रन तो ये क्या हो रहा है नॉर्मली रन कर रहा है यानी पहले की तरह तो सिंगल लाइन के अंदर हमने अपना जो है स्ट्रक्चर का वेरिएबल बनाया और उसके अंदर वैल्यूज असाइन कर दी एंड उसके बाद नेक्स्ट लाइन में उन वैल्यूज को हमने यूज़ कर लिया तो इसी तरीके से अगर आपको पहले से ही पता है सारी की सारी वैल्यूज एक स्ट्रक्चर के लिए तो एक ही गो में उसको असाइन करना सबसे बढ़िया होता है नेक्स्ट बात करते हैं पॉइंट्स टू स्ट्रक्चर्स जैसे हमारे पॉइंट्स टू एरे होते हैं पॉइंट्स टू स्ट्रिंग्स होते हैं पॉइंट्स टू कैरेक्टर्स होते हैं हर एक वेरिएबल के लिए हम पॉइंटर बना सकते हैं वैसे ही एक स्ट्रक्चर के लिए भी हम एक पॉइंटर बना सकते हैं क्योंकि अल्टीमेटली स्ट्रक्चर भी एक डेटा टाइप ही है अगर हमने एक स्ट्रक्चर टाइप का वेरिएबल डिक्लेयर किया है s1 तो उसके लिए पॉइंटर केसे डिक्लेयर करेंगे पॉइंटर डिक्लेयर करने के लिए सबसे पहले तो टाइप हमें लिखना पड़ता है जैसे हम लिखते हैं इंट स्टार पीटीआर और ऊपर हमने लिखा इंट a और फिर हम लिखते हैं पीटीआर = m पर a वही सेम फॉर्मेट रहेगा बस यहां पे इंट की जगह आ जाएगा स्ट्रक्ट स्टूडेंट फिर हमारा स्टार पीटीआर और पीटीआर के अंदर हम असाइन कर देंगे m पर यानी एड्रेस ऑफ s1 तो सारा का सारा फॉर्मेट वही रखना है बस डेटा टाइप में इंट फ्लोट कैर उनकी जगह हमें डेटा टाइप रखना है स्ट्रक्ट स्टूडेंट जिससे हम बता सकें कि ये स्ट्रक्चर का पॉइंटर है इसको भी एक बार करके देख लेते हैं हमने ऊपर जो स्टूडेंट बनाया है s1 उसके लिए एक पॉइंटर बनाते हैं स्ट्रक्ट स्टूडेंट स्टार पीटीआर और इस पीटीआर के अंदर असाइन कर देते हैं एड्रेस ऑफ s1 अब अगर हमें ये सेम रोल नंबर प्रिंट करवाना है तो सेम रोल नंबर कैसे प्रिंट करवाएंगे पहले तो हमने s1 रोल लिख दिया था अब हम पॉइंटर की हेल्प से प्रिंट करवाना चाहते हैं तो स्टार पॉइंटर हमें क्या देगा यहां पे स्टार पॉइंटर हमें पॉइंटर की वैल्यू दे देता है जैसे अगर मैंने यहां पे स्टार पॉइंटर लिख दिया एस्टरिस पॉइंटर या वैल्यू एट एड्रेस ऑफ पॉइंटर तो ये जो वैल्यू है ये है वैल्यू पूरे के पूरे s1 की यानी अभी मैं इसकी तरफ पॉइंट करवा रही हूं पर मुझे पर्टिकुलर सिर्फ रोल नंबर ही चाहिए तो स्टार पॉइंटर से मेरे पास पूरा s1 आ गया अब मैं इसके सामने डॉट रोल लगाकर इसका रोल नंबर ले आऊंगी आई होप ये चीज हमें क्लियर होगी कि स्टार पॉइंटर से हम पूरे के पूरे s1 पे पे पॉइंट करवा रहे हैं और जब डॉट रोल कर रहे हैं तो हमारे पास पूरा रोल नंबर आ रहा है तो ये है हमारा पूरा का पूरा वेरिएबल और यह है सिर्फ एक सिंगल पैरामीटर को डिस्प्ले कराने का तरीका अब इसको सेव करके रन करवाते हैं तो फर्स्ट टाइम जो रोल नंबर हमारे लिए प्रिंट हुआ था स्टूडेंट का सेकंड टाइम भी सेम वैल्यू हमारे लिए प्रिंट हुई पर इस बार हमने प्रिंट करवाया पॉइंट्स की हेल्प से एक छोटा सा मैं चेंज करके देखती हूं ये अगर आप मेरी स्क्रीन को देखकर कोड लिख रहे होंगे ना तो हो सकता है आप में से काफी सारे स्टूडेंट्स ये मिस्टेक कर दें हम क्या मिस्टेक कर देते हैं हम यहां पर यह जो पैरेंस है ना इसको लगा देते हैं स्टार के बाद यानी कुछ इस तरीके से हम चीज़ कर देते हैं कि पैरेंस यहां आ गया और यहां आ गया यह क्या देता है यह हमें एरर देता है क्योंकि स्टार को हमेशा पॉइंटर के साथ रखना है क्योंकि अब क्या हो रहा है यह पॉइंटर डॉट रोल ले रहा है और उसके बाद उसमें स्टार ऑपरेटर लगा रहा है पर हमें पहले स्टार ऑपरेटर लगाना है पॉइंटर के साथ और फिर हमें डॉट रोल नंबर उसका लेना है तो यह फॉर्मेट हमेशा याद रखना है कि जब भी स्टार पॉइंटर हो स्ट्रक्चर्स के लिए मतलब ऐसा पॉइंटर हो जो स्ट्रक्चर की तरफ पॉइंट कर रहा है तो उसको पहले पेंसिस में डालना है फिर हमें डॉट ऑपरेटर का इस्तेमाल करना है नेक्स्ट देख लेते हैं अपना एक एरो ऑपरेटर अभी तक हमने जो स्ट्रक्चर्स की बात की है तो स्ट्रक्चर्स के अंदर हम क्या करते हैं s1 रोल नंबर या s1 नेम और अगर यही फॉर्मेट हमें पॉइंटर में लिखना है तो लिखेंगे स्टार पीटीआर डॉट रोल नंबर या फिर लिखेंगे स्टार पीटीआर ड नेम पर अगर हम यह वाला पॉइंटर वाला फॉर्मेट फॉलो करते हैं ना तो यह बहुत ज्यादा कॉम्प्लेक्शन आ जाता है तो इस डॉट फॉर्मेट की जगह हम एरो ऑपरेटर का इस्तेमाल कर सकते हैं यानी अगर हमने कहीं पर लिखा है स्टार पीटीआर ड कोड तो उसको हम चेंज कर सकते हैं टू पीटीआर एरो कोड ये एरो कैसे लिखना है आपकी स्क्रीन पे आएगा हाइ फन और ग्रेटर दन का ऑपरेटर तो ये अपने आप में एक एरो फॉर्म करता है तो जब भी आप ये एरो बीच में लिख देते हैं ना तो इस सिंटेक्स को आप इस सिंटेक्स में कन्वर्ट कर देते हैं और एरो ऑपरेटर वाला जो सिंटेक्स है वो बहुत ही आसान होता है जैसे पॉइंट्स में आप यूज कर रहे हैं तो कभी-कभी एस्टरिस को देख के ना लोग कंफ्यूज हो जाते हैं कि स्टार किसके साथ जुड़ा हुआ है कौन सी वैल्यू की हम बात कर रहे हैं पर यहां से बहुत क्लियर हम देख पा रहे हैं कि पॉइंटर जिस वैल्यू को पॉइंट कर रहा है उसमें से आप कोड मुझे लाकर दे दो तो स्टार किसके साथ असाइन करना है पेंसिस कहां पे लगाने हैं वो वाली प्रॉब्लम हमारी सॉल्व हो जाती है और सिंपली हम सिर्फ एक एरो को लगा पाते हैं इसको भी करके देख लेते हैं अभी हमने क्या किया था पॉइंटर डॉट रोल प्रिंट करवाया था यही सेम लाइन कॉपी कर लेते हैं और पेस्ट कर लेते हैं ये है हमारा स्टूडेंट डॉट रोल विद पॉइंटर अब हम प्रिंट करवाएंगे स्टूडेंट एरो रोल इसको करवाने के लिए यहां पर लिखेंगे पीटीआर एरो यानी हाइन और ग्रेटर दन का साइन और उसके बाद लिखेंगे रोल नंबर तो उसको कर लेते हैं सेव एंड रन तो डॉट रोल नंबर किया तो सेम वैल्यू प्रिंट हुई पॉइंट्स के साथ भी सेम और जब एरो ऑपरेटर का इस्तेमाल किया तब भी हमारे पास सेम वैल्यू प्रिंट होकर आ गई है अपना नाम और अपना सीजी भी इस एरो ऑपरेटर से हम प्रिंट करवाने वाले हैं ताकि अच्छे से जो है चीज दिमाग के अंदर बैठ जाए यहां पर लिखेंगे नेम नेम परसेंटेज एस और यहां लिखेंगे अपना सीजीपीए तो अब हमारे पास रोल नंबर भी आ गया नेम भी आ गया अपना सीजीपी भी आ गया तो जब भी पॉइंट्स का इस्तेमाल कर रहे हैं तो सजेशन ये रहता है आपके लिए कि सिंपलीसिटी के लिए कोड में कि रीड करने वाले को भी आसानी हो आपको भी आसानी हो अगली बार पढ़ रहे हैं तो कि आप एरो ऑपरेटर का इस्तेमाल कर ले वरना आप नॉर्मल अगर स्ट्रक्चर का वेरिएबल बना रहे हैं तो फिर डॉट ऑपरेटर इज आल्सो फाइन ये अलग-अलग चीजें ना प्रेफरेंस दे देती है मतलब चॉइस दे देती हैं प्रोग्रामर को कि आप अपनी मर्जी से अपने हिसाब से जो आपका मन करे उस फॉर्मेट में आप अपना कोड लिख पाए तो चॉइस होने से क्या होता है तो दो-तीन फॉर्मेट दिख जाते हैं ना तो एक प्रोग्रामर को लगता है मुझे तो यार ये डॉट वाला सिंपल लग रहा है या मुझे तो पॉइंटर का एस्ट रिस्क वाला बढ़िया लग रहा है या मुझे तो एरो वाला सबसे बढ़िया लग रहा है मुझे तो ये इस्तेमाल करना है तो थोड़ा पर्सनलाइजेशन वाली फीलिंग आने लगती है अपने कोड में कि हां हमने अपनी मर्जी से जो है सिंटेक्स थोड़ा सा चूज किया है नेक्स्ट बात करते हैं पासिंग स्ट्रक्चर्स टू फंक्शन जिस तरीके से हम अलग-अलग डेटा टाइप्स के वेरिएबल को पास कर सकते हैं वैसे हम स्ट्रक्चर्स के वेरिएबल को भी पास कर सकते हैं एक फंक्शन के पास जैसे हम एक इंटी जर टाइप का a इंटी जर टाइप का बी जो नंबर है वो एक फंक्शन को पास कर देते थे वैसे ही हम यहां पे स्ट्रक्चर्स के जो वेरिएबल बनाते हैं स्टूडेंट वन स्टूडेंट टू स्टूडेंट थ्री उनको भी हम अपने फंक्शंस के अंदर पास कर सकते हैं जैसे जिन फंक्शंस के पैरामीटर्स के अंदर एक एक स्ट्रक्चर आता है उनको किस तरीके से लिखते हैं नॉर्मली फंक्शन का टाइप लिखते हैं यानी रिटर्न टाइप और उसके बाद फंक्शन का नाम और अगर उसके अंदर पैरामीटर स्ट्रक्चर आना है तो सबसे पहले टाइप लिखेंगे जैसे हम लिखते थे इंट a तो यहां पर इंट की जगह आ जाएगा स्ट्रक्ट स्टूडेंट और a की जगह यानी वेरिएबल के नाम में आ जाएगा हमारे पास s1 तो अगर पास ऑन करना है फंक्शन को पैरामीटर मान लीजिए हमने कोई स्ट्रक्ट स्टूडेंट बनाया s1 नाम से मेन फंक्शन के अंदर तो अब मुझे कॉल करना है अगर प्रिंट इंफो तो प्रिंट इंफो के अंदर आई कैन सिंपली राइट s1 जिससे s1 मेरा इस फंक्शन के पास चला जाएगा तो अब एक फंक्शन लिख लेते हैं इसी सेम चीज को करने के लिए यहां पर लिखेंगे वॉइड प्रिंट इंफो और फिर लिखेंगे टाइप स्ट्रक्ट स्टूडेंट s1 अब अगर ये सेम लाइन हम यहां पर लिखने की बजाय ऊपर लिख देते और इसको सेव करवाते तो हमारे पास एरर आ जाता एरर इसलिए आता क्योंकि स्टूडेंट को अभी हमने डिफाइन नहीं किया कंपाइलर क्या करता है ऊपर से लाइन बाय लाइन शुरू करता है पहले उसने ये लाइन रीड कर यह लाइन रीड करी फिर यह लाइन रीड करी यहां पे वो कंफ्यूज हो गया कि इंटी जर फ्लोट कैरेक्टर तो मुझे पता था यह स्ट्रक्ट स्टूडेंट क्या है अभी तक क्योंकि उसने स्ट्र स्टूडेंट को पढ़ा नहीं है इसीलिए पहले जो स्ट्रक्चर डिक्लेयर कर दिया ना उसी के बाद उसको हम यूज कर सकते हैं दूसरे डिफरेंट फंक्शंस में या इनफैक्ट अपने मेन फंक्शन के अंदर भी अब यहां पे हमने अपने फंक्शन को कर दिया है डिक्लेयर यहां पे उसको डिफाइन कर लेते हैं इस फंक्शन के अंदर हम प्रिंट करवाने वाले हैं अपने तीनों वैल्यूज को तो स्टूडेंट की अगर इंफॉर्मेशन कभी प्रिंट करवानी है तो इस फंक्शन को कॉल करेंगे यहां पे एक और प्रिंट एफ स्टेटमेंट लिख देते हैं ऊपर स्टूडेंट इंफॉर्मेशन इस बार हम डॉट ऑपरेटर का इस्तेमाल करेंगे एरो ऑपरेटर को यूज़ नहीं कर रहे होंगे यहां लिख देते हैं डॉट रोल नंबर s1 . नेम और हमारा s1 cp1 के लिए इस प्रिंट इंफो फंक्शन को कॉल लगाते हैं यहां पर हमने s1 ऑलरेडी एक क्रिएट कर रखा है अब कॉल लगाएंगे प्रिंट इंफो को उसमें पास कर देंगे अपना s1 तो यहां पे s1 को हमने एज आर्गुमेंट पास किया और इसके अंदर इस s1 के अंदर हमारा जो आर्गुमेंट है वो कॉपी होकर जाएगा स्ट्रक्चर्स जो है वो कॉल बाय वैल्यू से जाते हैं मतलब यहां पर हमने जो स्ट्रक्चर बनाया है वो यहां पर नहीं है ये s1 एक दूसरा स्ट्रक्चर है जिसमें हमारे आर्गुमेंट की एक कॉपी बन रही होगी तो जब हमने प्रिंट इंफो कॉल किया तो मेमोरी के अंदर दो स्ट्रक्चर एजिस्ट करेंगे जिन दोनों का नाम s1 होगा तो इसको कर लेते हैं सेव और इसको करते हैं अब रन तो यह स्टूडेंट की पूरी इंफॉर्मेशन हमारे पास प्रिंट होकर आ गई है अब कॉल बाय वैल्यू हो गया है कॉल बाय रेफरेंस उसको भी एक बार हल्का सा चेक कर लेते हैं s1 की वैल्यू को यानी इसके रोल नंबर को चेंज करके हम यहां पे इसको कर लेते हैं 1660 पहले 1664 था अब हमने 1660 कर दिया और इस रोल नंबर को अब मेन फंक्शन के अंदर प्रिंट करवा देते हैं फंक्शन कॉल के बाद तो क्या हुआ मेन फंक्शन ने जो रोल नंबर प्रिंट करवाया वो 1664 ही है ओरिजिनल ही है चेंज नहीं हुआ क्यों क्योंकि स्ट्रक्चर्स पास हुए हैं कॉल बाय वैल्यू से वहीं पर अगर ये वाला जो चेंज है ये हम इस लाइन से पहले मेन फंक्शन के अंदर ही कर देते तो उस केस में हमारे पास जो रोल नंबर प्रिंट होकर आता वो होता 1660 तो मेन फंक्शन के अंदर चेंज हो सकता है पर दूसरे स्ट्रक्चर की वैल्यू को चेंज नहीं कर सकता क्योंकि वहां पर जो पैरामीटर है वो ओरिजिनल आर्गुमेंट की कॉपी है नेक्स्ट जिस टॉपिक की हम बात करेंगे उसमें पढ़ने वाले हैं टाइप डेफ कीवर्ड को अभी तक बहुत सारे हमने कीवर्ड्स पढ़ लिए हैं केस कीवर्ड पढ़ लिया है इंट हमारा एक कीवर्ड है फ्लोट एक कीवर्ड है उसके अलावा स्विच एक कीवर्ड है ब्रेक एक कीवर्ड है कंटिन्यू एक कीवर्ड है वैसे ही एक और कीवर्ड होता है सी के अंदर जिसका नाम है टाइप डेफ टाइप डेफ का काम होता है टू क्रिएट एन एलियस फॉर डेटा टाइप्स अब जैसे घर में हमारा जो नाम जिस नाम से हमें पुकारा जाता है शायद ही वह हमारा असली नाम हो हर किसी का अपना एक कोई निकनेम होता है जैसे मान लीजिए आपका दोस्त है कोई सुरेश और उसका निकनेम है चिंटू अब उसको हम चिंटू के नाम से बुलाना ज जदा पसंद करेंगे ज्यादा वो यूसेज रहेगा उसके नाम का राद देन कि हम उसको उसके ऑफिशियल पूरे नाम से बुलाए तो वैसे ही काम होता है हमारे टाइप डेफ का टाइप डेफ का काम है निक नेम्स क्रिएट कर देना निक नेम्स यानी एलियस जब एक व्यक्ति के लिए जो स्पाइज होते हैं ना जैसे जेम्स बॉन्ड आपने देखी होगी तो जेम्स बॉन्ड का जो एलियस है वो 007 है या फिर जेम्स बॉन्ड पता भी नहीं है कि उसका असली नाम है या नहीं तो जितने भी जो मूवी के एक्टर्स आए जिन्होंने वो रोल जो प्ले किया है उन सबका नाम जेम्स बॉन्ड है तो मान स सकते हैं कि जेम्स बॉन्ड एक एलियस की तरह है यानी वो उस कैरेक्टर के लिए एक निकनेम है जरूरी नहीं है वो उसका असली नाम है तो एलियस क्या होते हैं एलियस एक अल्टरनेटिव एक अलग एक डिफरेंट नाम होता है जिससे हम उसी चीज को बुलाते हैं तो अगर हमें अपने डेटा टाइप्स के लिए एलियस क्रिएट करना होता है तो हम यूज़ करते हैं अपने टाइप डेफ कीवर्ड का अब ये एलियस हम अपने इंटी जर डाटा टाइप के लिए भी क्रिएट कर सकते हैं फ्लोट के लिए भी कर सकते हैं अपने केर के लिए भी कर सकते हैं पर ये ना ऑलरेडी छोटे डाटा टाइप्स हैं इनके लिए और छोटे का वेरिएबल हम क्या ही क्रिएट कर सकते हैं ज्यादा से ज्यादा हम क्या कर देंगे कैरेक्टर को सीच के नाम से बुलाने लग जाएंगे फ्लोट को एफएल के नाम से बुलाने लग जाएंगे इंट को आई के नाम से बुलाने लग जाएंगे पर बुलाना नहीं चाहिए क्योंकि आई ऑलरेडी हम काफी ज्यादा लूप्स में इस्तेमाल कर लेते हैं पर इनका असली यूसेज यानी टाइप डेफ का असली यूसेज आता है जब हम स्ट्रक्चर्स की बात करते हैं क्योंकि स्ट्रक्चर को तो आप कुछ भी नाम दे सकते हैं जैसे यहां पर मैंने एग्जांपल लिया है कि हमने एक स्ट्रक्चर बनाया इसको हमने नाम दे दिया कंप्यूटर इंजीनियरिंग स्टूडेंट पर हर बार जब भी हम स्ट्रक्चर का वेरिएबल डिक्लेयर करेंगे उसको हम कंप्यूटर इंजीनियरिंग स्टूडेंट नहीं लिखना चाहते इसीलिए कंप्यूटर इंजीनियरिंग स्टूडेंट की जगह मतलब हर बार मैं लिखूं स्ट्रक्ट कंप्यूटर इंजीनियरिंग स्टूडेंट उसकी जगह मैं एक सिंपल नाम जाती हूं तो व सिंपल नाम मैंने ले लिया सीओई सीओई में स्टूडेंट s1 और इस सीओई का मतलब है कंप्यूटर इंजीनियरिंग स्टूडेंट नाम का स्ट्रक्चर तो यह चीज कैसे पॉसिबल हो पाएगी यह पॉसिबल हो पाएगी टाइप डेफ कीवर्ड से तो स्ट्रक्चर को जब भी हम डिफाइन करते हैं ना उसमें पहले टाइप डेफ उसके बाद स्ट्रक्चर एंड उसके बाद हमारे स्ट्रक्चर का पूरा नाम फिर नॉर्मली उस स्ट्रक्चर के सारे के सारे पैरामीटर्स को डिफाइन करना है पैरेंस को बंद कर देना है और फिर उसका एलियस लिख देना है यानी यह है असली नाम हमारे स्ट्रक्चर का और यह है उसका निक नेम जिससे हम उसको बुला रहे होंगे एलियस लिख देंगे उसके बाद लिख देंगे स्टेटमेंट टर्मिनेटर और अब अगर हमें उसी स्ट्रक्चर का एक वेरिएबल बनाना है तो सिंपली एलियस को लिखना है यानी सिर्फ सीओई लिखेंगे यहां पे सीओई स्टूडेंट वन राद देन कंप्यूटर ए इंजीनियरिंग स्टूडेंट वन तो एक बार करके देखते हैं सबसे पहले क्या करेंगे मेन फंक्शन में अपने कोड को हटा देते हैं अपने एसिस्टिंग स्टूडेंट के लिए एक एलियस बनाते हैं तो यहां लिखेंगे टाइप डेफ तो स्ट्रक्चर स्टूडेंट के सामने सिंपली टाइप डेफ लिख देना है और लास्ट में उसका एलियस तो स्टूडेंट के लिए एलियस हमने बना दिया स्टू इसको कर लेते हैं सेव तो पहले अगर हम क्या करते थे पहले लिखते थे स्ट्रक्ट स्टूडेंट s1 इसकी जगह अब हमें सिंपली लिखना पड़ेगा s2 यानी इस पूरे स्ट्रक्ट स्टूडेंट को सिर्फ एयू ने रिप्लेस कर लिया अब ना हमें स्ट्रक्ट बताना पड़ा ना हमें स्टूडेंट बनाना पड़ा सिंपली हम एसटी यू लिख सकते हैं अगर डिफरेंट एक एग्जांपल ले तो उसमें लिख सकते हैं टाइप डेफ स्ट्रक्ट कंप्यूटर इंजीनियरिंग स्टूडेंट जिसके अंदर हम यह सेम तीनों वैल्यूज जो हैं वो लिख रहे होंगे और इसका एलियस हमने बना दिया सीओई तो अब हम इसको सीओई के नाम से भी बुला सकते हैं इस लंबे नाम की जगह सीओई का एक वेरिएबल बना लेते हैं सीओई s1 अब इस s1 में हम सारी की सारी वैल्यूज को असाइन कर देते हैं रोल नंबर इ इक्व 1664 s1 सीजीपीए इ 9.2 वहीं पर एटीआर सीपीवाई भी कर सकते हैं जिसमें पास कर देंगे s1 नेम एंड उसके बाद हमारा नाम इन वैल्यूज को नॉर्मली हम प्रिंट भी कर सकते हैं प्रिंट कैसे करेंगे स्टूडेंट नेम इज परसेंटेज s s1 नेम तो वो पूरा स्ट्रक्ट कंप्यूटर इंजीनियरिंग स्टूडेंट की जगह सिंपली हमें एक छोटा सा प्यारा सा नाम लिखना पड़ा जिसको लिखने में भी टाइम नहीं लगा समझने में भी टाइम नहीं लगा और फिर हमने सारे के सारे पैरामीटर्स को डिफाइन कर दिया इसको भी एक बार रन करके देख लेते हैं रन करके हमारे पास सही आउटपुट आ र है तो अगर आप एक स्ट्रक्चर बना रहे हैं और उसका नाम आप चाहते हैं कि यार अब मुझे तो कंप्यूटर इंजीनियरिंग पूरा लिखना पड़ेगा इन केस कोई नया प्रोग्रामर आता है यहां पे मैं सिर्फ सीओई नहीं लिख सकती क्योंकि सीओई बच्चों को समझ में आता होगा टीचर्स को समझ में आता होगा पर एक नए कोडर को समझ में नहीं आएगा तो वहां पे आप हां स्ट्रक्चर को डिफाइन करते हुए पूरा नाम लिखिए पर बाकी जगह कोड में जब भी यूज करना है तो उसको बार-बार लिखने का क्या पॉइंट है तो वहां पे आप छोटा सा निकनेम दे दो अपने स्ट्रक्चर को यही सेम चीज हम डिफरेंट इंटी जर के लिए भी कर सकते हैं फ्लोट के लिए भी कर सकते हैं कैरेक्टर के लिए भी कर सकते हैं पर करते नहीं है क्योंकि उनके ऑलरेडी बहुत ही छोटे-छोटे नाम है तो उनको एलियस देने का ज्यादा कोई मतलब बनता नहीं है मोस्टली केसेस में इसीलिए टाइप डेफ को जब भी इस्तेमाल करते हैं मोस्टली स्ट्रक्चर्स के केसेस में उसका इस्तेमाल होता है अब स्ट्रक्चर्स पर बेस्ड कुछ सवालों को हम सॉल्व कर लेते हैं इनमें से सबसे पहला सवाल है एंटर एड्रेस एड्रेस में क्या हाउस नंबर आपका ब्लॉक नंबर या इसको गली नंबर भी कह सकते हैं हमारी सिटी और हमारी स्टेट ऑफ फाइव पीपल अब यहां पे जो सबसे पहली चीज हम नोटिस करेंगे कि हमें लोगों का एड्रेस जो है वो स्टोर कराना है जिसमें हाउस नंबर ब्लॉक नंबर सिटी और स्टेट ये चार पैरामीटर्स है अब पांच लोगों के लिए चार पैरामीटर सेम है इसमें जो हाउस नंबर होगा यह कोई इंटी जर टाइप का होगा ब्लॉक नंबर होगा यह भी हमारा इंटी जर टाइप का हो सकता है सिटी जो होगी वो हमारी स्ट्रिंग होगी और स्टेट भी हमारी क्या होगी स्ट्रिंग होगी तो यहां पे बेसिकली हमें कह रहे हैं अलग-अलग टाइप को आप ग्रुप करके एक एड्रेस बना दो तो यहां हमारे दिमाग में चमकेगा कि हमें तो जी स्ट्रक्चर टाइप का एक वेरिएबल चाहिए होगा और इस स्ट्रक्चर के हमें ऐसे पांच वेरिएबल चाहिए होंगे पांच स्ट्रक्चर्स चाहिए होंगे पांच लोगों की इंफॉर्मेशन स्टोर कराने के लिए तो उ इस में क्या करेंगे एक एरे ऑफ स्ट्रक्चर्स बना देंगे पहले स्ट्रक्चर डिफाइन करेंगे एड्रेस नाम का फिर उसका एरे बना देंगे और फिर पांच लोगों की इंफॉर्मेशन उस एरे के अंदर स्टोर करा लेंगे इसको एक बार थोड़ा सा गहराई में जाके देखते हैं हम सबसे पहले क्या करेंगे सबसे पहले लिखेंगे स्ट्रक्ट फिर हमारे स्ट्रक्चर का नाम एड्रेस उसके अंदर अपने स्ट्रक्चर की इंफॉर्मेशन को लिखेंगे इंफॉर्मेशन में सबसे पहले आ जाएगा हमारा इंटी जर हाउस नंबर उसके बाद आ जाएगा इंटी जर ब्लॉक फिर आ जाएगा हमारा कैरेक्टर स्ट्रिंग हमारी सिटी इसको 100 कैरेक्टर्स का बना लेते हैं एंड उसके बाद आ जाएगी हमारी कैरेक्टर स्ट्रिंग हमारा स्टेट इसको भी 100 कैरेक्टर्स का बना लेते हैं एंड यहां पे हो जाएगा हमारा एड्रेस तो इस तरीके से हमें अपना एड्रेस नाम का स्ट्रक्चर बनाना है उसके बाद इसी सेम स्ट्रक्चर का हम एक एरे बना लेंगे यानी क्या लिखेंगे स्ट्रक्ट एड्रेस यह हो गया हमारा टाइप इनफैक्ट हम इसको टाइप डेफ से क्या कर सकते हैं एलियस भी बना सकते हैं यहां लिख देंगे टाइप डेफ यहां लिख देंगे हमारा एडीडी तो हर जगह हम एडीडी लिख सकते हैं इंस्टेड ऑफ राइटिंग स्ट्रक्ट एड्रेस पर यहां पर अभी के लिए स्ट्रक्ट एड्रेस ही देख लेते हैं फिर लिख देंगे अपने वेरिएबल का नाम एड्रेसस कितने लोगों के लिए पांच लोगों के लिए तो इस तरीके से यह बन जाएगा हमारा एरे ऑफ स्ट्रक्चर्स अब इसमें पांचों लोगों की इंफॉर्मेशन को या तो यूजर से इनपुट करा लो या खुद से जो भी है वैल्यू असाइन करके उसको हम प्रिंट करवा सकते हैं अब कोड करके देख लेते हैं सेम चीज का इस कोड को यहां से डा देते हैं और अब बनाते हैं एक नया स्ट्रक्चर स्ट्रक्ट एड्रेस नाम से इसके अंदर सबसे पहले स्टोर कराएंगे इंट हाउस नंबर उसके बाद इंट ब्लॉक फिर लिखेंगे कैरेक्टर सिटी ऑफ 100 फिर कैरेक्टर स्टेट ऑफ 100 और यहां पे स्टेटमेंट टर्मिनेटर तोय एड्रेस नाम का हमने स्ट्रक्चर बना लिया अब इसका एक एरे बना लेते हैं स्ट्रक्ट एड्रेस एरे को नाम छोटा दे देते हैं तो एड्स नाम इसको दे देते हैं और इसको साइज रखते हैं पांच एक फंक्शन बना लेते हैं एड्रेस की इंफॉर्मेशन को प्रिंट करवाने के लिए और मेन फंक्शन के अंदर यूजर से इनपुट ले लेते हैं तो सबसे पहले इनपुट लेने के लिए प्रिंट एंटर इंफो फॉर पर्सन वन पर्सन वन के लिए इंफॉर्मेशन एंटर होगी स्कैन कर लेंगे हम उस इंफॉर्मेशन को सबसे पहले हमारे पास हाउस नंबर आएगा तो एड्स ऑफ 0 डॉट हाउस नंबर सेम तरीके से हमारे पास आएगा हमारा ब्लॉक तो यहां लिख देंगे डस डॉ0 ड ब्लॉक अब हमारे पास आएगी हमारी स्ट्रिंग यानी हमारी सिटी तो डॉट सिटी एंड फिर हमारा स्टेट और यहां पर क्योंकि हम इंटी जर लिख रहे हैं तो यहां पर हमें लगाना पड़ेगा m पर ताकि हम एड्रेस ऑफ ब्लॉक या एड्रेस ऑफ हाउस नंबर तक पहुंच जाए उसी सेम तरीके से हम चार और लोगों की इंफॉर्मेशन जो है एंटर करा लेंगे यहां पर लिख देते हैं टू और ये सारी इंफॉर्मेशन प्रिंट कराने के लिए एक फंक्शन भी बना लेते हैं इसका नाम लिखते हैं प्रिंट एड्रेस जिसमें पास करेंगे हम स्ट्रक्चर एड्रेस एंड इस फंक्शन में लिख लेते हैं एड्रेसस इस एड्रेस को अब कंबाइन करके प्रिंट करवाते हैं कंबाइन करके कैसे प्रिंट करवाएंगे सबसे पहले लिखेंगे हाउस नंबर परसेंटेज डी हाउस नंबर के बाद लगाएंगे कॉमा इसके बाद लिखेंगे अपना ब्लॉक नंबर परसेंटेज डी ब्लॉक नंबर के बाद लिखेंगे परसेंटेज s हमारी सिटी और फिर परसेंटेज एस हमारा स्टेट तो यहां पर लिख देते हैं ऐड डॉट सबसे पहले आएगा हमारा हाउस नंबर फिर ऐड डॉट हमारा ब्लॉक फिर ऐड डॉट हमारी सिटी एंड देन फाइनली ड डॉट हमारा स्टेट तो एक सिंगल लाइन में पूरा का पूरा एड्रेस हमें स्टोर कराना है जैसे हमारा नॉर्मली डेली लाइफ में पूरा एड्रेस हम सिंगल लाइन में लिखते हैं तो इसको कर लेते हैं सेव एंड इस पूरे के पूरे कोड को रन करेंगे पहले हम अपने मेन फंक्शन से क्या करते हैं वैल्यू जो है उसके लिए प्रिंट एड्रेस फंक्शन कॉल करते हैं सबसे पहले कॉल लगाएंगे एड्स ऑफ जीरो के लिए एंड सिमिलर तरीके की चार और कॉल्स हम लगाने वाले हैं हल्की सी फॉर्मेटिंग जो इसको ठीक कर लेते हैं कि अच्छी फॉर्मेटिंग मुझे कोड के अंदर बहुत अच्छी लगती है फोर अब इसको सेव करके रन कर लेते हैं तो काफी सारी इंफॉर्मेशन हमें ऐड करनी पड़ेगी तो इस इंफॉर्मेशन को जल्दी जल्दी ऐड कर लेते हैं पहले हमने हाउस नंबर एंटर किया है फिर हमने ब्लॉक नंबर एंटर किया दोनों इंटी जर्स पहले एंटर करने हैं फिर दो स्ट्रिंग्स एंटर करनी है पहले सिटी फिर हमारी स्टेट पांच लोगों की हमने इंफॉर्मेशन एंटर कर दिया और पांचों का हमारे पास एड्रेस आ गया है एड्रेस वन हमने ये एंटर किया था एड्रेस टू में ये एंटर किया था एड्रेस थ्री में ये एंटर किया था एड्रेस फोर में ये और एड्रेस फाइव में ये तो ये सारी की सारी इंफॉर्मेशन हम अलग-अलग तरीके से एंटर करवा रहे हैं इस सेम सवाल के अंदर हमने काफी सारे कांसेप्ट सीख लिए सबसे पहला कि स्ट्रक्चर को कैसे डिफाइन करने हैं दूसरा स्ट्रक्चर को फंक्शन के अंदर कैसे यूज करना है तीसरा यह कि स्ट्रक्चर का एरे कैसे बनाना है ओबवियसली इनपुट आउटपुट तो है ही तो एक सिंगल सवाल में काफी सारे कांसेप्ट हमारे रिवाइज हो गए नेक्स्ट सवाल जिसकी बात कर रहे होंगे क्रिएट अ स्ट्रक्चर टू स्टोर वेक्टर्स एंड देन मेक अ फंक्शन टू रिटर्न सम ऑफ टू वेक्टर्स सबसे पहले बात करते हैं कि वेक्टर होता क्या है एक्चुअली इसको अगर मैं सर्च करूं वेक्टर्स तो वेक्टर्स में ऊपर हमारे पास ऐसे तरीके के कुछ फिगर्स आते हैं तो वेक्टर्स ज्योमेटिक एंटिटीज दैट हैव मैग्निटिया या मैथ्स पढ़ा होगा उनको ऑलरेडी पता होगा कि वेक्टर्स क्या होते हैं वेक्टर्स हमारे कुछ-कुछ एंटिटीज होती हैं जिसकी एक डायरेक्शन होती है और साथ के साथ उसकी एक मैग्निटिया हमारा y एक्सिस अब वेक्टर्स को कैसे डिफाइन कर सकते हैं वेक्टर्स होती हैं हमारे x और y एक्सिस वाले 2d प्लेन पे स्ट्रेट लाइंस एक मान लीजिए ये स्ट्रेट लाइन है तो इस लाइन को इस पर्टिकुलर लाइन को हम एक वेक्टर कहते हैं इस वेक्टर का मतलब इस स्ट्रेट लाइन का इस एरो का हमारे x एक्सिस से कुछ डिस्टेंस होगा इस डिस्टेंस को हम कह देते हैं y कैपिटल y रख लेते हैं और इसका y एक्सिस से कुछ डिस्टेंस होगा इसको कह देते हैं कपि x तो एक वेक्टर को इस लाइन को जब हमें रिप्रेजेंट करना हो तो इसको रिप्रेजेंट करते हैं इन दो वैल्यूज की फॉर्म में तो इन दो वैल्यूज को कैसे लिखा जाता है इसको लिखा जाता है x आ कैप + y ज कैप तो अब ये रिप्रेजेंट करता है x एक्सिस में डिस्टेंस ये रिप्रेजेंट करता है y एक्सिस में डिस्टेंस तो इस तरीके का फार्मूला रहता है इससे हम प्रोग्रामर्स को कोडर्स को मैथ वाली चीज में नहीं घुसना सिंपल कांसेप्ट याद रखना है कि जब भी वेक्टर को डिफाइन करना है तो उसके लिए एक x पैरामीटर होगा एक y पैरामीटर होगा यहां से हमें सिंपल सी बात पता चली कि जब भी वेक्टर को कोड के अंदर लिखना है तो एक स्ट्रक्चर बनाना पड़ेगा उस स्ट्रक्चर के अंदर एक x वाली वैल्यू लेंगे और एक y वाली वैल्यू लेंगे और देन मेक अ फंक्शन टू रिटर्न सम ऑफ टू वेक्टर्स अब सम ऑफ टू वेक्टर्स को कैसे कैलकुलेट किया जाता है मैथ के अंदर मान लीजिए हमारे पास पहला वेक्टर है x1 आ कैप ् y1 ज कैप और दूसरा वेक्टर है हमारे पास x2 आ कैप + y2 ज कैप तो इन दोनों का सम हमारे पास निकल कर आता है x1 + x2 i कैप यानी यह अलग वेरिएबल के अंदर स्टोर होगा ् y1 + y2 j कैप और यह अलग वेरिएबल के अंदर स्टोर होगा तो एक वेरिएबल की वैल्यू सेम के पास जाती है दूसरे वेरिएबल की वैल्यू सेम के पास जाती है तो इस तरीके से हम सम लेंगे इसको कोड की हेल्प से करेंगे तो ज्यादा हमें अच्छे से बेटर तरीके से चीज़ें समझ आएंगी सबसे पहले क्या करते हैं एक स्ट्रक्चर बनाते हैं स्ट्रक्ट वेक्टर वेक्टर के लिए स्ट्रक्चर बनाएंगे अब एक वेक्टर के दो कॉम्पोनेंट्स होते हैं एक x कॉम्पोनेंट होगा एक y कॉम्पोनेंट होगा तो यहां लिखेंगे इंट x और यहां लिखेंगे इंट y अब इसके लिए हम 2d एरिया भी बना सकते थे पर स्ट्रक्चर बनाने का फायदा ये होता है कि हमें पता रहेगा कि एक वेक्टर के दो कॉम्पोनेंट्स होते हैं एक x होता है एक y होता है 2d एरे में या एरे में हमें ट्रैक करना पड़ता कि कौन सा कहां पर है 2d एरे भी इसका एक काफी अच्छा हम सॉल्यूशन कह सकते हैं वडी एरे में हमें काफी सारी परेशानी आती पर वेक्टर से हम बनाएंगे तो x वा कॉम्पोनेंट हमारे लिए थोड़ा बेटर रहेगा समझने में अब पहला वेक्टर बनाते हैं स्ट्रक्ट वेक्टर v1 v1 को वैल्यू असाइन कर देते हैं x में वैल्यू रखी पाच y में वैल्यू रखी 10 एंड अब सेम तरीके से हम बनाते हैं दूसरा वेक्टर हमारा v2 v2 के अंदर आ जाता है पहली वैल्यू तीन और दूसरी वैल्यू सात तो ये पहला वेक्टर हमने बना लिया ये बना लिया हमने दूसरा वेक्टर अब हमें क्या करना है इन दोनों वेक्टर्स का ये स्टेटमेंट टर्मिनेटर यहां पे नहीं भूलना इन दोनों वेक्टर्स का हमें एक सम वेक्टर कैलकुलेट करना है सम वेक्टर के लिए पहले बना लेते हैं स्ट्रक्ट वेक्टर सम सम को इनिश इज कर देते हैं जीरो के साथ मतलब अभी इसमें कोई वैल्यू नहीं और हमें बनाना है एक फंक्शन सम कैलकुलेट करने के लिए तो उसमें लिख देते हैं वॉइड कैलकुलेट सम इसके अंदर तीन वेक्टर्स पास होंगे सबसे पहला जो होगा स्ट्रक्ट वेक्टर वो होगा v1 उसके बाद आएगा स्ट्रक वेक्टर v2 उसके बाद आएगा स्ट्रक वेक्ट सम इस फंक्शन को बनाने के लिए को यहां डिफाइन कर लेते हैं हमें क्या करना है सम का जो x कॉम्पोनेंट होगा वो होगा v1 का x कॉम्पोनेंट प्लस v2 का एक कॉम्पोनेंट और सम का जो y कॉम्पोनेंट होगा वो होगा v1 का y कॉम्पोनेंट प्लस v2 का y कॉम्पोनेंट तो आई होप ये चीज समझ आई होगी कि सम का जो एक् कॉम्पोनेंट होगा वो v1 और v2 के एक्स से बनेगा और सम का जो y कॉम्पोनेंट होगा वो v1 और v2 के वा से बनेगा अब एक हल्की सी चीज जो हम यहां मिस आउट कर रहे हैं वो ये है कि फंक्शन कॉल जब भी होती है वो पास बाय वैल्यू होती है तो यहां जो सम हमने वैल्यूज असाइन करी है ये मेन फंक्शन के अंदर रिफ्लेक्ट नहीं करेंगे इसीलिए इनको रिफ्लेक्ट करने के लिए या तो हम पॉइंटर पास करें या फिर इसी फंक्शन के अंदर प्रिंट करवा लेते हैं अपने सम को प्रिंट सम ऑफ एक इज परसेंटेज डी सम ड एक्स एंड सेम फॉर हमारा वा कॉम्पोनेंट सम ऑफ y इज सम डवा यहां पे लगा देते हैं ब स् ए और मेन फंक्शन के अंदर कॉल लगा देंगे कैलकुलेट सम को कैलकुलेट सम में पास करेंगे v1 v2 एंड हमारा सम वेक्टर सेव एंड रन तो यह v1 में हमने पास किया था 5 आ कैप 10 ज कैप v2 में पास किया था 3 आ कैप 7 ज कैप तो सम क्या हुआ एक्स कॉम्पोनेंट का 5 प् 3 = 8 और वा कॉम्पोनेंट के लिए 10 + 7 = 17 तो इस तरीके से हम दो वेक्टर्स का सम भी निकाल सकते हैं ये एक्चुअली यहां पे हमें अच्छे से यूज के समझ नहीं आते जब हम शुरू शुरू में कांसेप्ट सीखते हैं मान लीजिए आप एक शूटर का गेम बना रहे हैं c और c+ प काफी सिमिलर होते हैं c+ प् के अंदर भी जैसे स्ट्रक्चर्स होते हैं वैसे ही हम क्लासेस बना सकते हैं वो सी के अंदर एजिस्ट नहीं करती तो वो जब आप c+ प् पढ़ेंगे या जावा पढ़ेंगे तब हमें पता चलेगा क्लास क्या होती है पर स्ट्रक्चर जैसी ही होती है तो वहां पे जब हम गेम डेवलपमेंट में c+ प का यूज करते हैं तो उसमें बहुत बार हमें क्या करना पड़ता है वेलोसिटी डिफाइन करनी पड़ती है बुलेट को किस स्पीड से हम फायर करने वाले हैं किस स्पीड से हमारा जो मेन कैरेक्टर है उसकी स्पीड कैसे दिखाएंगे उसकी वेलोसिटी क्या होगी अगर किसी ने कोई चीज फेंक के मारी है या मान लीजिए जैसे हमारा एंग्री बर्ड्स होता था उसमें क्या वेक्टर्स रहेंगे क्या डायरेक्शन रहेगी क्या मैग्नी ूडल स्टोन को या बर्ड्स को थ्रो करने का वो सारा जो काम होता है उसमें इसी तरीके के स्ट्रक्चर्स यूज़ होते हैं इसी तरीके की कैलकुलेशन चलती है जो मैथ और फिजिक्स के फॉर्मूले से आती है पर उसको कोडिंग में हम कन्वर्ट कर देते हैं नेक्स्ट जिस सवाल को हम सॉल्व कर रहे होंगे यह है क्रिएट अ स्ट्रक्चर टू स्टोर कॉम्प्लेक्शन कॉम्प्लेक्शन नंबर्स क्या होते थे एक ऐसा नंबर होता था जिसका कुछ पार्ट रियल होता था और कुछ पार्ट इमेजिनरी होता था तो कुछ पार्ट इसका रियल होगा कुछ पार्ट इमेजिनरी होगा बिल्कुल वेक्टर की तरह हमें एक स्ट्रक्चर बनाना है इसको नाम हम दे देंगे कॉम्प्लेक्टेड टाइप का और अपना इ इनरी पार्ट वो भी इंटी जर टाइप का इस तरीके का कुछ स्ट्रक्चर हम बना रहे होंगे और एरो ऑपरेटर से वैल्यू को जो है हमें प्रिंट करवाना है तो सबसे पहले ऊपर क्या करेंगे ऊपर एक स्ट्रक्चर बना लेते हैं स्ट्रक्ट कॉम्प्लेक्टेड मेंट टर्मिनेटर तो ये हो गया हमारा कॉम्प्लेक्शन के अंदर एक्चुअली कॉम्लेक्स नंबर को क्रिएट करेंगे सबसे पहले लिखेंगे स्ट्रक कॉम्प्लेक्शन पार्ट रखना चाहते हैं एट अब इसको प्रिंट कैसे करवाएंगे प्रिंट करवाना है एरो ऑपरेटर से और एरो ऑपरेटर के लिए चाहिए हमें पॉइंटर तो सबसे पहले पॉइंटर बना लेते हैं पॉइंटर का टाइप क्या होगा स्ट्रक्ट कॉम्प्लेक्टेड ऑफ नंबर वन अब प्रिंट करवानी है वैल्यूज तो उनको प्रिंट करवा सकते हैं इमेजिनरी पार्ट इज इक्वल टू परसेंटेज d पॉइंटर से कैसे प्रिंट करवाते थे सबसे पहले लिखेंगे पैरेंस या यहां पे हम एरो ऑपरेटर यूज करेंगे तो पीटीआर एरो रियल यहां पे होगा रियल और यहां पे होगा पीटीआर एरो इमेजिनरी एंड बै स्ल n तो इसको कर लेते हैं सेव और इसको अब करते हैं हम रन तो रियल पार्ट हमारे पास प्रिंट होकर आ गया फाइव और इमेजिनरी पार्ट हमारे पास प्रिंट होकर आ गया एट इस तरीके से आप इमेजिनरी रियल नंबर्स के साथ भी जैसे मैग्नी ूडल हो तो वो होता है अंडर स्कोर इमेजिनरी पार्ट का स्क्वायर प्लस रियल पार्ट तो अब अगर कॉम्प्लेक्शन का मैग्नी ट्यूड जैसे निकालना होता है या वेक्टर्स का मैग्नी ूडल होता है तो वो होता है हमारा अंडर रूट इमेजिनरी पार्ट का स्क्वायर प्लस रियल पार्ट का स्क्वायर तो उसको भी हम कैलकुलेट करके निकाल सकते हैं तो हम इन्हीं स्ट्रक्चर पर बेस्ड और थोड़े से कॉम्प्लेक्टेड करने की पूरी काबिलियत रखते हैं नेक्स्ट एक थोरेट्स आपके कांसेप्ट को टेस्ट करने के लिए है यू हैव टू स्टोर द मार्क्स ऑफ़ 30 स्टूडेंट्स 30 बच्चों के मार्क्स स्टोर करने हैं मार्क्स हमारे या तो इंटी जर टाइप के होंगे या फ्लोट टाइप के होंगे अब इसमें से क्या इस्तेमाल करेंगे फ्लोट टाइप के मार्क्स हम यहां पे अज्यू कर रहे हैं या तो एरे ऑफ 10 फ्लोट्स बना लो या एक स्ट्रक्चर बना लो अब यहां पर 30 बच्चों के मार्क्स अगर स्टोर करने हैं और हर वैल्यू हमारी फ्लोट टाइप की है तो यहां स्मार्ट डिसीजन ये होगा कि एरे ऑफ 10 फ्लोट्स बना लो एरे ऑफ 10 फ्लोट्स बनाने का फायदा क्या होगा स्ट्रक्चर के ऊपर सबसे पहला तो यह कि स्ट्रक्चर्स का मेजर इस्तेमाल तब होता है जब अलग-अलग टाइप्स के हम चीजें जो हैं वो एक साथ कलेक्ट कर रहे होते हैं पर यहां पे हमें सेम टाइप के 30 चीजें कलेक्ट करनी है यानी फ्लोट टाइप की तो उसके लिए बेटर होगा कि हम एरे बना सक बना हम दोनों सकते हैं दोनों से सवाल हमारा सॉल्व हो जाएगा पर ज्यादा स्मार्ट ये होगा ज्यादा एक्सपीरियंस डिसीजन ये होगा कि आप एरे ऑफ 10 या इनफैक्ट यहां पे 30 फ्लोट्स बना रहे हो नेक्स्ट सवाल हमारा है मेक अ स्ट्रक्चर टू स्टोर बैंक अकाउंट इंफॉर्मेशन ऑफ अ कस्टमर कोई एबीसी बैंक है उसमें बैंक अकाउंट की आपको इंफॉर्मेशन स्टोर करनी है और उसके लिए एक एलियस भी बनाना है यानी यहां इस्तेमाल कर रहे होंगे हम टाइप डेफ का अब बैंक अकाउंट के लिए हम क्याक इंफॉर्मेशन स्टोर कर सकते हैं एक हो सकता है अकाउंट होल्डर का नेम एक हो सकता है अकाउंट नंबर इसके अलावा एक हो सकता है हमारा आईएफएससी कोड पर इतना डिटेल में नहीं जाएंगे अभी के लिए बस नेम और हमारे अकाउंट नंबर को स्टोर कराएंगे इसके लिए एक स्ट्रक्चर बना लेते हैं स्ट्रक बैंक अकाउंट बैंक अकाउंट के अंदर क्या-क्या स्टोर होगा सबसे पहले स्टोर होगा अकाउंट नंबर इंट अकाउंट नंबर उसके बाद स्टोर होगा हमारा स्ट्रिंग कैरेक्टर जिसका नाम होगा नेम ऑफ 100 कैरेक्टर्स अब यहां पे हमें इसके लिए एलियस बनाना है तो एलियस बनाने के लिए सबसे पहले लिख देंगे टाइप डेफ और बैंक अकाउंट की जगह इसको हम लिखेंगे एसीसीसी सिर्फ अकाउंट और इसको लिख देते हैं अकाउंट नंबर तो एसीसी के नाम से हम अपने स्ट्रक्चर के जो हैं वेरिएबल को डिक्लेयर कर सकते हैं सबसे पहले बनाएंगे एसीसी एसीसी टाइप का अकाउंट वन इसमें वैल्यूज पहले से ही असाइन कर लेते हैं अकाउंट नंबर होगा टूथ और नेम हमारा आ जाएगा श्रद्धा उसी तरीके से हमें कोई और अकाउंट बनाना हो तो दूसरा हम अकाउंट खोल सकते हैं अकाउंट टू इसमें अकाउंट नंबर जो है इंक्रीज हो जाएगा बाय वन नेम हमारा चेंज हो जाएगा सेम तरीके से अकाउंट थ्री हम बना सकते हैं इसमें भी इंक्रीज हो जाएगा बाय वन और नेम हमारा चेंज हो जाएगा तो ये क्या हुआ अकाउंट नंबर हम चेंज कर सकते हैं नेम चेंज कर सकते हैं और सिर्फ एसीसी लिखना पड़ा पूरा यह स्ट्रक्ट बैंक अकाउंट हमें नहीं लिखना पड़ा वैल्यूज को भी ऐसे ही प्रिंट करवा सकते हैं प्रिंट ए अकाउंट नंबर इज इक्वल ट परसेंटेज d ए1 अकाउंट नंबर एंड नेम = परसेंटेज s ए1 ने इसको कर लेते हैं सेव एंड रन तो अकाउंट नंबर हमारा 12 2 3 आ गया नेम हमारा श्रद्धा आ गया और यह पूरा स्क्रीन पर प्रिंट होकर आ गया तो इस तरीके से हम हम एलिस बना सकते हैं उनको क्रिएट कर सकते हैं टाइप डेफ की हेल्प से और अपने स्ट्रक्चर्स को यूज करके ना बहुत-बहुत इंटरेस्टिंग चीजें हम कर सकते हैं सी में तो यहां पे मैं एक स्पेशल होमवर्क प्रॉब्लम दूंगी यहां पे कोई अलग से प्रॉब्लम्स नहीं है होमवर्क प्रॉब्लम ये होगा कि या तो अपने स्कूल के लिए या अपने कॉलेज के लिए या किसी कंपनी के लिए ना एक हमें ऐसा डेटाबेस क्रिएट करना है स्ट्रक्चर्स की हेल्प से जिसमें हम वहां पे रहने वाले लोगों की इंफॉर्मेशन को स्टोर करें फॉर एग्जांपल हम एग्जांपल यहां पे ले रहे हैं कॉलेज का तो कॉलेज में एक स्ट्रक्चर आपको स्टूडेंट की फॉर्मेशन स्टोर करने के लिए बनाना पड़ेगा एक स्ट्रक्चर टीचर्स की इंफॉर्मेशन स्टोर करने के लिए बनाना पड़ेगा और एक स्ट्रक्चर हम कह सकते हैं कि बाकी का जो स्टाफ है एडमिन वाला जो स्टाफ होता है उसकी इंफॉर्मेशन स्टोर करने के लिए बना लेंगे तो ये तीनों स्ट्रक्चर्स की हेल्प से पहले आप इंफॉर्मेशन सेव करेंगे आप इसमें डिफरेंट डिफरेंट सेग गन भी कर सकते हैं जैसे स्टूडेंट की इंफॉर्मेशन तो ले ली उसमें भी हम अलग-अलग अरेज बना सकते हैं कि ये सीओई के स्टूडेंट हैं ये फर्स्ट ईयर के स्टूडेंट हैं ये सेकंड ईयर के हैं थर्ड ईयर आईटी के स्टूडेंट हैं ये फोर्थ ईयर मैकेनिकल के स्टूडेंट हैं उस तरीके से से आपको देखना पड़ेगा कि किस हिसाब से आप इंफॉर्मेशन स्टोर कराना चाहते हैं तो ये होमवर्क प्रॉब्लम यह है कि अपने पर्टिकुलर कॉलेज के लिए आपके कॉलेज में जो जो ब्रांचेस हैं जिस-जिस तरीके से सिस्टम रहता है उस हिसाब से आपको एक पूरा सिस्टम क्रिएट करना है स्ट्रक्चर्स की हेल्प से जिसमें आप इंफॉर्मेशन को स्टोर करा सके उसमें यूजर इंफॉर्मेशन एंटर भी कर सके और उसको आप इंफॉर्मेशन प्रिंट भी करा कर दे सके अब हम शुरुआत करने वाले हैं अपने चैप्टर 10 के साथ जिसका नाम है फाइल इनपुट आउटपुट अब इसको समझने के लिए सबसे पहले एक बार अपने कंप्यूटर की मेमोरी को थोड़ा सा समझते हैं हमारे कंप्यूटर के अंदर दो तरीके की मेमोरी एजिस्ट करती है इनमें से एक होती है वोलेटाइल मेमोरी वोलेटाइल यानी जैसे ही कंप्यूटर की पावर बंद करी जैसे ही आपने प्लग निकाल दिया लैपटॉप एकदम से बंद हो गया बैटरी डिस्चार्ज हो गई वैसे ही ये मेमोरी उड़ जाती है और दूसरे टाइप की मेमोरी होती है हमारी नॉन वोलेटाइल मेमोरी ये मेमोरी अपने अंदर ऐसा डाटा स्टोर करती है जो पावर जाने से चेंज नहीं होता वो वैसे का वैसा रहता है जैसे आप जब भी अपने कंप्यूटर को खोले हो सकता है आपने कोई गेम डाउनलोड किया हो तो हर बार वो गेम आपको दिखाई देगा उसको आप खोल सकते हैं या आपने कटर की पावर खत्म हो जाती है आपका लैपटॉप जो है स्विच ऑफ हो जाता है तो क्या होगा वापस से आप आएंगे तो हो सकता है वह फाइल आपको ना दिखे या फिर उसमें जो आपने नए चेंजेज किए थे वो आपको ना दिखें क्योंकि वो स्टोर्ड थे हमारी वोलेटाइल मेमोरी में अब कंप्यूटर के अंदर वोलेटाइल मेमोरी रैम होती है इसको हम रैंडम एक्सेस मेमोरी भी कहते हैं अब बेसिक्स ऑफ कंप्यूटर साइंस में हमें पता होगा एक रम होती है एक रोम होती है बहुत तरीके की मेमोरी होती है कंप्यूटर के अंदर यहां पे हम मान रहे हैं वोलेटाइल मेमोरी की जब भी बात कर रहे हैं तो रम की बात कर रहे हैं और नॉन वोलेटाइल की जब भी बात कर रहे हैं तो हार्ड डिस्क की बात कर रहे हैं हार्ड डिस्क के अंदर कंप्यूटर के अंदर काफी सारा आप डाटा स्टोर कर सकते हैं इनफैक्ट उस डाटा को निकाल कर आप किसी और अपने दोस्त को देकर आ सकते हैं किसी और कंप्यूटर में आप जाकर ट्रांसफर कर सकते हैं तो लोग यूजुअली क्या करते हैं अपना जो सारा डाटा उनको बैकअप करना होता है ना वो हार्ड डिस्क के अंदर बैकअप कर लेते हैं फिर उसको निकाल देते हैं कंप्यूटर की नई हार्ड डिस्क लगा देते हैं इस तरीके से सालों सालों बहुत सारे लोग बहुत सारा अपना डाटा जमा करते रहते हैं अब हमारे काम की बात यहां पे यह होगी कि कंप्यूटर की जो वोलेटाइल मेमोरी है और जो नॉन वोलेटाइल मेमोरी है इनके बीच में डाटा जो है ट्रांसफर होता रहता है जैसे आपका जो कंप्यूटर प्रोग्राम है ना वह स्टोर्ड होता है हमारे रम में तो प्रोग्राम आ जाता है वोलेटाइल मेमोरी का पार्ट और हो सकता है आपके कंप्यूटर सिस्टम में काफी ऐसी फाइल्स हो जो पड़ी हो तो वो पड़ी होंगी हमारे हार्ड डिस्क के अंदर तो कंप्यूटर प्रोग्राम जो है उन फाइल्स को राइट कर सकता है और उनको रीड भी कर सकता है तो कंप्यूटर प्रोग्राम यानी रम के अंदर का कोई पार्ट एक्सेस करना चा जा रहा है फाइल्स को जो पड़ी है नॉन वोलेटाइल मेमोरी यानी हमारी हार्ड डिस्क में तो ये जो प्रोसेस रहता है इसको हम सी की हेल्प से भी कर सकते हैं डिफरेंट डिफरेंट प्रोग्रामिंग लैंग्वेजेस में डिफरेंट डिफरेंट तरीके होते हैं फाइल्स को एक्सेस करने के और इस चैप्टर के अंदर हम समझने वाले हैं फाइल में इनपुट आउटपुट यानी फाइल आओ स के अंदर किस तरीके से परफॉर्म होता है तो सबसे पहले बात करते हैं कि फाइल होती क्या है फाइल मेमोरी के अंदर एक कंटेनर होता है इन अ स्टोरेज डिवाइस टू स्टोर डाटा यहां पे हमारा स्टोर डिवाइस हो जाएगा हमारी हार्ड डिस्क तो हार्ड डिस्क के अंदर डिफरेंट डिफरेंट कंटेनर्स होते हैं इनको हम चंक ऑफ मेमोरी भी कह सकते हैं हर एक चंक ऑफ मेमोरी के अंदर काफी सारा डाटा स्टोर्ड होगा और उसी डाटा को हम फाइल करह देते हैं जैसे स्कूल्स के अंदर कॉलेजेस के अंदर हमारी कुछ फाइल स्टोर्ड होंगी जो हमारी टीचर्स के पास होंगी हमारे एडमिन डिपार्टमेंट के पास होंगी उन फाइल्स में हमारा कुछ पर्सनल डाटा स्टोर्ड होगा मान लीजिए मेरी फाइल है जिसका नाम है श्रद्धा खापर मेरा कोई क्लासमेट हो सकता है उसकी फाइल उसके नाम से हो सकती है तो इस तरीके से जैसे रियल लाइफ में फाइल्स होती हैं वैसे ही कंप्यूटर सिस्टम के अंदर भी डिफरेंट डिफरेंट फाइल्स होती हैं इनफैक्ट अगर हमने पहले कभी कंप्यूटर चलाया तो हमने जरूर किसी ना किसी फाइल को देखा होगा अपने सिस्टम के अंदर अब जब भी हम फाइल्स की बात करते हैं ना उसमें हमें ये हमेशा याद रखना है r इज वोलेटाइल अब उसके जो कंटेंट्स हैं दे आर लॉस्ट व्हेन प्रोग्राम टर्मिनेट यानी प्रोग्राम जैसे ही खत्म हो जाता है हमारे सी का प्रोग्राम जैसे ही खत्म होता है हमारी जो डाटा है वो अपने आप साफ हो जाता है क्योंकि हमारा प्रोग्राम रम के अंदर है प्रोग्राम रम के अंदर है मतलब हमारे प्रोग्राम के वेरिएबल भी रम के अंदर है इसीलिए अपना जो हम c का कोड लिखते हैं ना जिसमें हम इंट n का कोई वेरिएबल बना लेते हैं एरे बना लेते हैं अपनी स्ट्रिंग बना लेते हैं ये सारे के सारे रम के अंदर आते हैं और सारे के सारे वोलेटाइल मेमोरी में है जैसे ही आपका प्रोग्राम खत्म होगा ये वेरिएबल भी मेमोरी से साफ हो जाएंगे इसीलिए फाइल्स आर यूज्ड टू पसेस द डेटा तो ऐसा क्या करें कि अगर हम चाहते हैं हमारे जो वेरिएबल हैं हमारा जो डटा है वो रम में ना रहकर किसी परमानेंट स्टोरेज में चला जाए हम उस डटा को किसी ना किसी तरह स्टोर कर पाएं तो उसके लिए हम यूज करते हैं फाइल्स का जैसे मान लीजिए आपने एक प्रोग्राम बनाया था अभी हमने स्ट्रक्चर्स वाले में कि आपको स्कूल का या कॉलेज का स्टूडेंट्स का डाटा जो है इनपुट लेना है अपनी प्रोग्राम में अब जैसे ही आपका प्रोग्राम खत्म होगा वो डाटा लॉस्ट हो जाएगा अगली बार वापस से अपना डाटा लेने के लिए आपको दोबारा प्रोग्राम चलाना पड़ेगा और यूजर से दोबारा मांगना पड़ेगा पर आप चाहते हैं कि आप एक ही बार मांगे यूजर से उसको कहीं पे स्टोर करा लें तो उसको स्टोर कहां कराएंगे उसको परमानेंटली स्टोर करा रहे होंगे हम फाइल्स नाम की चीजों में हमारे कंप्यूटर सिस्टम के अंदर अब सबसे पहले बात करते हैं कि फाइल्स पे हम क्या-क्या ऑपरेशंस कर सकते हैं फाइल को ना वैसे ही इमेजिन करना है जैसे रियल लाइफ की हमारी फाइल होती है बस वैसी ही फाइल हमारे कंप्यूटर सिस्टम के अंदर होती है सबसे पहला ऑपरेशन होता है कि फाइल को हम क्रिएट कर सकते हैं दूसरा हम फाइल को ओपन कर सकते हैं उसको क्लोज कर सकते हैं किसी भी फाइल के डाटा को पढ़ने के लिए पहले उसको खोलना पड़ेगा और पढ़ने के बाद उसको बंद करना पड़ेगा उसमें से हम डेटा को रीड कर सकते हैं और उसमें डाटा लिख भी सकते हैं यानी डाटा को राइट भी कर सकते हैं सबसे पहले बात कर लेते हैं टाइप्स ऑफ फाइल्स की हमारे सिस्टम के अंदर ना मेजर्ली हम दो टाइप्स ऑफ फाइल्स जो हैं उनकी बात करेंगे जिनमें से सबसे पहली हमारी टेक्स्ट फाइल्स टेक्स्ट फाइल्स के अंदर डाटा टेक्चुअल होता है यानी उसको अगर आप खोल के देखेंगे ना आपको रियल डाटा दिखेगा उसमें ए बी सी डी ए सेंटेंसेस लिखे होंगे या कुछ नंबर्स लिखे होंगे मतलब उसका जब खोला हुआ डाटा आपको दिखाई देगा तो वो सेंस बनाएगा हमारे लिए दूसरी तरह की फाइल्स होती है हमारी बाइनरी फाइल्स बाइनरी फाइल्स के अंदर डाटा जो होता है वो रो व की फॉर्म में स्टोर्ड होता है या एक बड़ा सा सीक्वेंस होगा जिसमें रोज और वनस होंगे और वो हमारे लिए कोई सेंस नहीं बना रहा होगा उस तरीके की फाइल को हम बाइनरी फाइल कहते हैं अब बाइनरी फाइल के भी अलग-अलग फॉर्मेट हो सकते हैं जैसे एक्सटेंशंस की बात करें तो ड हमारी बाइनरी फाइल होती है ड mp3mp 4jp जिसमें हमारी फोटोज वगैरह होती हैं वो ये सारी के सारे हमारे बाइनरी फाइल्स के एक्सटेंशंस हैं और नॉन बाइनरी फाइल्स की बात करें तो ड txx.com भी एक टीटी फाइल है अगर डॉट जावा की बात करें तो वो भी एक टी एकटी फाइल है क्योंकि उसमें लिखा हुआ डाटा हमें समझ आएगा और उसमें हम एडिट करेंगे तो वो चेंजेज हमें दिखाई देंगे वो हमारे लिए सेंस बनाएंगे तो हमारी एक टेक्स्ट फाइल्स होती हैं और हमारी एक बाइनरी फाइल्स होती हैं अब यहां पर मेजर्ली हम टेक्स्ट फाइल्स के ऊपर काम करेंगे क्योंकि बाइनरी में कोड करना हमें नहीं आता बट अगर हम सी का कोड लिखने चले तो उससे सी से हम बाइनरी फाइल्स को भी एडिट कर सकते हैं उनको भी रीड राइट क्लोज ओपन सब कुछ कर सकते हैं पर एग्जाम पॉइंट ऑफ व्यू से या इंटरव्यू पॉइंट ऑफ व्यू से मोस्टली जो हमें चीजें पूछी जाएंगी वो टेक्स्ट फाइल से रिलेटेड होंगी सबसे पहले बात करते हैं फाइल्स को हम एक्सेस कैसे करें हमने बोल दिया हमारा एक रम है जिसके अंदर हमारा प्रोग्राम है वेरिएबल है और वो चाह रहा है कि किसी परमानेंट डाटा स्टोरेज को वो क्रिएट करे और उसमें से डाटा को इनपुट आउटपुट करें यानी रीड करें राइट करें उस फाइल को ओपन करें क्लोज करें पर ये सारा का सारा काम कैसे होगा ये सारा काम होता है हमारे फाइल पॉइंट्स की हेल्प से अब कंप्यूटर के अंदर सी के अंदर हम जो फाइल होती है ना इट इज अ हिडन स्ट्रक्चर स्ट्रक्चर ही होता है फाइल एक पर हिडन होता है मतलब हमसे छुपा होता है उस स्ट्रक्चर के अंदर हम कोई चेंजेज नहीं कर सकते कोई बदलाव नहीं लेकर आ सकते इसीलिए उसका पूरा जो डिक्लेरेशन होती है ना उस स्ट्रक्चर की वो हमसे हिडन होती है और हर सिस्टम के हिसाब से अपनी एक अलग फाइल का स्ट्रक्चर होता है जैसे आप परट स्टोरेज से जब भी डाटा को रीड करने जाते हैं तो एक स्ट्रक्चर के अंदर वह सारा का सारा डाटा रीड इन होता है और वह स्ट्रक्चर बनाना जरूरी है जब भी हम किसी भी फाइल को ओपन कर रहे हैं अब उस स्ट्रक्चर को ना एक फाइल पॉइंटर जो है व पॉइंट करता है तो फाइल पॉइंटर दैट पॉइंट्स टू द स्ट्रक्चर एंड इज यूज टू एक्सेस द फाइल इज कॉल्ड द फाइल पॉइंटर फाइल पॉइंटर एक स्पेशल टाइप का पॉइंटर होता है जिसका टाइप तो हमारा फाइल होता है क्योंकि फाइल का हमने स्ट्रक्चर बना दिया है तो उस फाइल पॉइंटर की हेल्प से हम एक फाइल को को ओपन कर सकते हैं क्लोज कर सकते हैं उसमें चीजें लिख सकते हैं उससे चीजें पढ़ सकते हैं एंड इनफैक्ट फाइल्स को क्रिएट भी कर सकते हैं अब उसको लिखने का सिंटेक्स कुछ ऐसा होता है कि सबसे पहले हम टाइप लिखते हैं टाइप हो गया यहां पे हमारा फाइल क्योंकि फाइल इज अ स्ट्रक्चर उसके बाद हमने लिखा एस्ट रिस्क यानी स्टार उसके बाद हम कोई भी वेरिएबल लिख सकते हैं यहां पे क्योंकि एक फाइल का पॉइंटर है इसलिए हमने एफ पीटीआर लिख दिया अगर आप पीटीआर लिख दें या fp4 काना नाम है हमारे लिए हम एफ पीटीआर यूज करेंगे ताकि ये थोड़ा डिस्टिंक्शन रहे कि नॉर्मल वेरिएबल के पॉइंटर पीटीआर होते हैं और फाइल के पॉइंट्स को हम एफपीटीआर कह रहे हैं तो सबसे पहले अपने कोड के अंदर ना ये एफपीटीआर बना ही लेते हैं लिखेंगे हम एफ आई एल ई मतलब हमारा फाइल टाइप और उसके बाद लिखेंगे स्टार f पटी आ तो हमने क्या किया फाइल टाइप का हमने एक पॉइंटर डिक्लेयर कर दिया एफपीटीआर अब इस पॉइंटर का यूज कैसे करना है मतलब इससे फाइल्स ओपन कैसे होंगी तो फाइल को ओपन करने के लिए और क्लोज करने के सिंटेक्स की अगर बात करें सबसे पहले बात करते हैं फाइल को ओपन करने की तो एक बार हमने एफ पीटीआर को क्रिएट कर दिया उसके बाद हमारे पास एक फंक्शन होता है एफ ओपन नाम से अब मोस्टली जो हम फाइल्स के फंक्शन डिस्कस करेंगे ना उनके सामने एक एफ होगा जिससे बहुत क्लियर पता चल जाता है कि एक फाइल का फंक्शन है फिर चाहे वो क्लोज करने के लिए ओपन करने के लिए हो कैरेक्टर्स को रीड करने के लिए हो राइट करने के लिए हो बहुत सारी चीजें करने के लिए पर एक कॉमन चीज रहेगी कि फाइल्स के फंक्शन के सामने एफ होता है ताकि दूर से ही दिख जाए कि ये फाइल का फंक्शन है तो फाइल को ओपन करने के लिए f ओपन नाम का एक फंक्शन होता है यह दो पैरामीटर्स लेता है इनमें से सबसे पहला पैरामीटर होता है फाइल का नाम अगर मान लीजिए हमने कोई फाइल बनाई है टेड txt.gz मोड हमें बताता है कि हमें फाइल के अंदर रीड करना है या फाइल के अंदर राइट करना है या कुछ और काम करना है क्योंकि हमारे प्रोग्राम को हमारे सिस्टम को पता होना चाहिए कि किसी भी फाइल को अगर हम खोल रहे हैं तो उसको किस मोड में खोल रहे हैं किस इंटेंशन के साथ खोल रहे हैं क्योंकि कुछ-कुछ सिस्टम लेवल पे चेंजेज होते हैं जो होने होते हैं अगर आपको रीड करना है फिर तो वो बफर लेवल की कुछ चीजें इंटरनली चल रही होती हैं जो अभी के लिए इतना हम डिटेल में नहीं जाएंगे बेसिकली हमारे सिस्टम को पता होना चाहिए कि हमारा इंटेंशन क्या है किसी भी फाइल को ओपन करने के पूछे ताकि वो हमारे काम को ना और थोड़ा सा आसान बना सके अगर हम पहले ही बता देंगे हमें तो जी राइट करना है तो वो काम को आसान बना के देगा रीड करना है तो उस काम को आसान बना के देगा इस पर्सपेक्टिव से हम मान लेते हैं अब यहां पे हमने फाइल पॉइंटर में असाइन कर दिया क्या हमने अपनी फाइल को ओपन कर दिया उसमें दो पैरामीटर्स को पास करके और फाइनली एफ पीटीआर में उसकी वैल्यू असाइन कर दी यानी इस एफ ओपन ने क्या किया होगा फाइल का एक पॉइंटर रिटर्न कर दिया होगा जिसको हमने एफपीटीआर में स्टोर कर दिया तो ये स्टेटमेंट होती है फाइल को ओपन करने ने के लिए अब फाइल को ओपन करने के लिए पहले फाइल का होना जरूरी है तो एक फाइल हम क्रिएट कर लेते हैं अपने सेम फोल्डर के अंदर यहां पर जाएंगे यह जो आइकन है न्यू फाइल का न्यू फाइल से बनाएंगे . txt.gz f ओपन के अंदर पहला पैरामीटर फाइल का नाम है यानी टेस्ट ड txt.gz भी प्रैक्टिस करेंगे ना या आप किसी कॉलेज के अपने पुराने क्वेश्चंस देख लेंगे काफी सारे आसान क्वेश्चंस आते हैं इस टॉपिक से मतलब जैसे एरे जैसे टॉपिक से आप बहुत डिफिकल्ट क्वेश्चन निकाल सकते हो पर फाइल्स ऐसा टॉपिक है जो अपने आप में हल्का सा कॉम्प्लेक्शन भी यहां से सवाल पूछेंगे तो वो हल्के से हमारे आसान होंगे तो रीकैप कर लेते हैं फाइल का हमने एफपीटीआर नाम का पॉइंटर बनाया एफपीटीआर के अंदर फाइल को ओपन करके उसमें असाइन कर दिए वैल्यू एफ ओपन फंक्शन हमने यूज़ किया जिसमें पास किए दो पैरामीटर्स एक हमारी फाइल का नाम और एक हमारा मोड अब फाइल को जैसे हमने ओपन किया वैसे ही फाइल को क्लोज कर सकते हैं क्लोज करने के लिए फंक्शन हमारा होता है एफ क्लोज एफ क्लोज को लिखने का सिंटेक्स बहुत आसान है एफ और फिर क्लोज और अंदर सिर्फ उस फाइल का पॉइंटर डाल दो जिस फाइल को हमें क्लोज करना है अब क्लोज करने के पीछे लॉजिक ये है कि जब भी हम किसी फाइल को खोलते हैं ना हमारा सिस्टम आ जाता है हमें रिसोर्सेस देने के लिए कि आपको इतनी मेमोरी चाहिए होगी आपको यह रिसोर्स चाहिए होगा वो रिसोर्स चाहिए होगा क्योंकि आप एक इंपॉर्टेंट चीज करने वाले क्योंकि अपनी परमानेंट मेमोरी से कोई डाटा को रीड करना एक इंपॉर्टेंट काम है सिस्टम के लिए तो उसने हमें रिसोर्सेस दे दिए पर अब अगर हमारी फाइल का काम हमारे लिए एक बार खत्म हो गया मतलब हमने रीड भी कर लिया उसमें राइट भी कर लिया काम खत्म हो गया तो अब हमें वो रिसोर्सेस कायदे से अपने सिस्टम को वापस दे देने चाहिए हमारी मर्जी है वैसे अगर हम फाइल क्लोज ना भी करें तो भी परेशानी नहीं आएगी पर जब भी हम बड़े कोड्स लिखते हैं ना उसके अंदर बहुत ज्यादा एडवाइज किया जाता है बहुत ज्यादा अच्छी प्रैक्टिस है कि आप एंड ऑफ द प्रोग्राम में जब आपका काम खत्म हो गया है फाइल के साथ तो फाइल को क्लोज जरूर कर दें क्योंकि आपके सिस्टम के जो रिसोर्सेस हैं ना वो जा रहे होते हैं फाइल को ओपन करने से आपका सिस्टम स्लो हो रहा होता है तो सिस्टम की एफिशिएंसी बढ़ाने के लिए आपको अपनी फाइल्स को हमेशा क्लोज करना है ताकि कंपाइलर को पता चल जाए कि यहां पे फाइल का काम खत्म हो गया है तो अब हमें काम तो करना नहीं है पर हम अपनी फाइल को क्लोज कर देते हैं लिख देते हैं यहां पे एफ क्लोज और अंदर पास कर देंगे फाइल पॉइंटर f पीटीआर तो ये क्या हुआ यहां फाइल ओपन हुई थी हमने कुछ काम करना नहीं था तो हमने सिंपली यहां पे एफ क्लोज से फाइल को कर दिया क्लोज नेक्स्ट बात करते हैं कि फाइल में क्या-क्या हम मोड्स में हम किसी फाइल को खोल सकते हैं अभी सबसे पहले मोड हमने जो पढ़ा वो था r वाला यानी हम फाइल को पढ़ने के लिए रीड करने के लिए ओपन कर रहे हैं दूसरा है हमारा आरबी आरबी मोड में अगर ओपन करते हैं तो रीड होती है फाइल इन बाइनरी फॉर्मेट तो ये यूजुअली बाइनरी फाइल्स के लिए होगा हमारे अभी इतने काम का नहीं है पर हां अगर आपके क्वेश्चन पेपर में आपके अगर कॉलेज के अंदर टेस्ट के अंदर सवाल आ जाता है कि किसी बाइनरी फाइल को आप ओपन करो या बाइनरी फॉर्म में आप ओपन करो तो फिर आपको ध्यान रखना है कि आरब हमें मोड की तरह यूज़ करना होता है आर नहीं अब इन दोनों के बारे में ना एक स्पेशल चीज है ये दोनों फंक्शंस के बारे में एक स्पेशल चीज ये है कि अगर मान लो फाइल एजिस्ट ही नहीं करती आप कॉल करना चाह रहे हैं h स और लोड स को कभी किसी ने बनाया ही नहीं तो क्या होगा तो पॉइंटर के अंदर आकर नल स्टोर हो जाएगा तो राइट मोड में तो रीड मोड में और रीड बाइनरी मोड में दोनों के अंदर अगर आपकी फाइल एजिस्ट नहीं करती है तो पॉइंटर के अंदर एक नल पॉइंटर वो बन जाएगा यानी न लाके स्टोर हो जाएगा नेक्स्ट बात करते हैं हमारे राइट की राइट मोड के अंदर आपका इंटेंशन ये है कि फाइल के अंदर आप कुछ लिखना चाहते हैं और राइट बाइनरी यानी आप अपनी फाइल के अंदर बाइनरी फॉर्मेट में कुछ लिखना चाहते हैं अब यहां पे भी एक स्पेशल चीज आ जाती है जब भी आप फाइल को लिखने जाते हैं ना और अ मान लीजिए आपने फिर से दोबारा लोड स को खोलने की कोशिश की राइट करने के लिए उसमें चीजें पर हेलो डॉट स एजिस्ट नहीं करता तो ये दोनों फंक्शंस यानी राइट और राइट बाइनरी उस फाइल को क्रिएट कर देंगे अगर वो एजिस्ट नहीं करती आपने फाइल नहीं बनाई पर आप लिखना चाहते हैं तो चलिए हम आपके लिए क्रिएट कर देते हैं इस तरीके का सिस्टम रहता है और अगर फाइल ऑलरेडी एजिस्ट करती है मान लीजिए आपकी एक फाइल है जिसके अंदर आपने कुछ-कुछ डाटा स्टोर कराया है और आप उसको राइट या राइट बाइनरी फॉर्मेट में खोलते हैं इन मोड्स में खोलते हैं तो सबसे पहले आपकी फाइल खुलेगी फिर उसके अंदर का डाटा डिलीट हो जाएगा एंड उसके बाद इनको जो डाटा राइट कराना होगा वो वो राइट करा देंगे तो आपकी पूरी फाइल का जो डाटा है वो ओवरराइट हो जाता है अगर आप राइट या राइट बाइनरी से खोलते हैं लेकिन आप चाहते हैं पुराना डाटा भी सेव्ड रहे और उसमें नीचे आके मेरा नया डाटा जो है वो स्टोर हो जाए तो उस केस में हम यूज़ करते हैं अपेंड का यानी ए को एज अ मोड यूज करते हैं अपेंड करने का मतलब है पुराने में लाके जोड़ देना तो आपका नए वाला डाटा पुराने वाले डाटा के बाद ऐड होना शुरू होगा तो ये पांच सबसे इंपॉर्टेंट मोड्स हैं जो हम यूज कर सकते हैं जब भी हम किसी फाइल को ओपन करते हैं अब सबसे पहले एक बेस्ट प्रैक्टिस देख लेते हैं बेस्ट प्रैक्टिस हमारी यह है कि अगर हम किसी फाइल को रीड करने के लिए ओपन कर रहे हैं ना तो उसमें से डाटा रीड करने से पहले सबसे पहले हमें यह चेक कर लेना चाहिए कि क्या हमारी फाइल एजिस्ट भी करती है तो फाइल एजिस्ट करती है या नहीं उसके लिए हम कोड लिख लेते हैं हम मान लीजिए एक फाइल ओपन करने की कोशिश कर रहे हैं जिसका नाम है न्यू टेस्ट अब अगर न्यू टेस्ट एजिस्ट नहीं करती होगी तो हमने अभी डिस्कस किया कि एफ पीटीआर के अंदर रीड मोड में है तो एफ पीटीआर के अंदर क्या आ गया होगा नल आ गया होगा तो इसमें हम कंडीशन लगा सकते हैं कि इफ ए पीटीआर इज इक्व टू इ इक्वल टू नल उस केस में हम प्रिंट करवा देंगे फाइल डजन एजिस्ट पर अगर ऐसा नहीं है तो मतलब फाइल हमारी खुल गई है और अब हम फाइल को कर देंगे अपनी क्लोज तो बहुत सिंपल सी चीज करी हमने हमने ऑलरेडी पढ़ लिया था कि रीड मोड में फाइल को खोलते हैं अगर और फाइल हमारी एजिस्ट नहीं करती तो क्या होगा एफ पीटीआर के अंदर नल आ जाएगा तो उसी पे हमने चेक लगा दिया कि एफ पीटीआर अगर नल है तो प्रिंट करवा दो फाइल एजिस्ट नहीं करती और एफ पीटीआर में अगर कोई वैल्यू आई है तो ठीक है अभी कोई काम नहीं है तो उसको हम क्लोज करवा देंगे अगर कोई काम होता तो यहां पे इस तरीके से हम कोई स्टेटमेंट लिख लेते उस काम को करवाने के लिए तो इसको एक बार सेव भी कर लेते हैं और रन भी कर लेते हैं देखते हैं क्या आउटपुट आता है फाइल डजन एजिस्ट क्योंकि न्यू टेस्ट नाम की फाइल एजिस्ट ही नहीं करती अभी हमने बनाई नहीं अब यहीं पर अगर हम r की जगह w लिख देते तो क्या होता राइट मोड में हमारे लिए ये न्यूटेस्ट ड txt.gz t एक्सटी खोलना चाहते हैं तो कंपाइल एंड रन तो एट दी एंड क्या हुआ यह अचानक से एक न्यू टेड t एकटी फाइल हमारे लिए आ गई और इस फाइल को खोल भी सकते हैं अभी फाइल खाली है क्योंकि उसमें कुछ राइट तो हमने किया नहीं है पर वो फाइल क्रिएट जरूर हो गई हमारे लिए नेक्स्ट बात करते हैं रीडिंग फ्रॉम अ फाइल अब आपने फाइल ओपन करना सीख लिया क्लोज करना सीख लिया उसमें से डटा कैसे पढ़ा जाए ओपन तो हमने कर लिया अब उसका डटा कैसे पढ़ा जाए तो डेटा हम पढ़ते हैं फाइल पॉइंटर की हेल्प से सबसे पहले मान लीजिए तो डेटा को पढ़ने के लिए हम स्कैन एफ और प्रिंट एफ की जगह एफ स्कैनफ और एफ प्रिंट एफ दो फंक्शंस का इस्तेमाल करते हैं इनसे हम अलग-अलग टाइप का डाटा पढ़ सकते हैं वो स्ट्रिंग डेटा भी हो सकता है वो कैरेक्टर डेटा भी हो सकता है वो इंटी जर डटा भी हो सकता है फ्लोट डेटा भी हो सकता है तो एफ स्कैनफ में जैसे स्कैनफ के अंदर जैसे स्कैन एफ की अगर बात करें स्कैन एफ क्या करता था सबसे पहले ले लेता था फॉर्मेट स्पेसिफाइड ऑफ वेरिएबल तो दो पैरामीटर्स इसके अंदर होते थे पर हमारे एफ स्कैनफ के अंदर तीन पैरामीटर्स हैं जिनमें से पहला है हमारा फाइल पॉइंटर दूसरा है हमारा फॉर्मेट स्पेसिफाइड ऑफ वेरिएबल तो सबसे पहले बता देंगे कौन सी फाइल से हमें डाटा रीड करना है तो एफ स्कैन एफ लिखेंगे अंदर फाइल पॉइंटर उसके बाद लिखेंगे कि किस तरीके का डाटा हमारा रीड हो रहा है मान लीजिए एक कैरेक्टर हम रीड कर रहे हैं उस फाइल से और उसके बाद उस कैरेक्टर को कहां पे रीड करके स्टोर कराना है तो उसके लिए हमने ऑलरेडी एक कैरेक्टर नाम का वेरिएबल बना लिया है तो उसके लिए ऑलरेडी हमने कैरेक्टर टाइप का वेरिएबल बना लिया है सी जिसमें हम अपने डटा कैरेक्टर करके रीड करेंगे अब ये डाटा रीड कैसे हो पा रहा है जैसे स्कन एफ क्या करता है हम कीबोर्ड से अलग-अलग कीज को प्रेस करते हैं और स्कैनफ उनको रीड करता रहता है वैसा ही कुछ सिस्टम है एफ स्नफ का फाइल के अंदर जो डाटा सारा का सारा लिखा होता है ना उसको हमें अज्यू करना है कि वो भी कीबोर्ड की कीज की तरह प्रेस हो रहा है और जैसे-जैसे वो डाटा हमारा हमें मिलता रहता है वैसे-वैसे वो एफ स्कैनफ से स्कैन होता रहता है यानी इनपुट होता रहता है इसको एक बार कोड से भी करके देख लेते हैं हमारी टेस्ट के अंदर हम हमने ऑलरेडी एल जो है वो लिख के सेव कराया हुआ है और हम रीड करना चाह रहे हैं एक कैरेक्टर अपनी फाइल से तो सबसे पहले क्या करेंगे कैरेक्टर बना लेते हैं सी अब करेंगे स्कैन एफ जिसमें सबसे पहले फाइल पॉइंटर पास करेंगे उसके बाद पास करेंगे अपना फॉर्मेट स्पेसिफाइड यानी परसेंटेज सी एंड उसके बाद अपने वेरिएबल का एड्रेस एड्रेस ऑफ सी अब प्रिंट कर देंगे हमने जो भी वेरिएबल रीड किया है कैरेक्टर इज इक्वल टू परसेंटेज सी और इस कैरेक्टर सी प्रिंट करवा देंगे और एट दी एंड क्या करेंगे अपनी फाइल को कर देंगे क्लोज बाय एफ पीटीआर इसको सेव कर लेते हैं और एक बार करते हैं रन तो यहां पे कुछ प्रिंट नहीं हुआ कुछ इसलिए प्रिंट नहीं हुआ क्योंकि हमने न्यू टेस्ट को खोल रखा है हमें टेस्ट को खोलना है और यहां पे बै n क्लियर कंपाइल रन तो रन करके अभी भी कैरेक्टर की जो वैल्यू है वह प्रिंट नहीं हुई हमारे पास इसीलिए प्रिंट नहीं हुई क्योंकि हमने इसको खोला हुआ है अभी भी राइट मोड में इसको रीड मोड में हमें खोलना पड़ेगा एक बार दोबारा से कंपाइल एंड रन कर लेते हैं कंपाइल एंड रन तो हमारे पास आ गया हमारा कैरेक्टर इ इक्वल टू a इसने क्या किया स्कैन करवा के उसको सेम वेरिएबल के अंदर स्टोर करवा देते हैं जैसे सीच की वैल्यू तो हमने ऑलरेडी प्रिंट कर दी अब दोबारा से अगले कैरेक्टर को भी सीच में ही रीड कर लेते हैं और यहां पे प्रिंट करवा देते हैं और ये सेम चीज हम बार-बार करेंगे पांच बार क्योंकि हमें पूरे एल को रीड करना है इसको भी सेव करके रन करवाते हैं तो यहां ध्यान से अपनी आउटपुट स्क्रीन को हम देखें तो सबसे पहले ए उसने रीड किया फिर p रीड किया फिर दोबारा से कैरेक्टर में पी रीड किया एंड फिर फोर्थ कैरेक्टर जो उसने रीड किया वो एल है एंड फिफ्थ कैरेक्टर इज ई तो एक तरीके से एक कैरेक्टर बाय कैरेक्टर जा जा के हमारा जो पूरा का पूरा वर्ड है वो रीड हो गया है अब यहां मान लीजिए हम कैरेक्टर स्टोर नहीं करते हम स्टोर कर लेते कुछ नंबर जैसे 1 2 3 4 5 6 8 9 8 तो इन नंबर्स को अब हमने स्टोर कर दिया अब कैरेक्टर को स्टोर नहीं करते वो भी केस लेख लेते हैं इस बार हमें रीड करना है इंटी जर टाइप का डाटा इसको सीच ही रखते हैं और इंटी जर टाइप के लिए यहां हर जगह हमें चेंज करना पड़ेगा बस परसेंटेज डी एंड सिंस हमारे तीन ही नंबर्स हमने जो है लिखे हुए हैं यानी यहां पर टेस्ट के अंदर तीन ही नंबर्स हैं तो हम तीन ही बार स्कैन करके प्रिंट करवाएंगे इसको कर लेते हैं सेव एंड रन एक बार तो सबसे पहले हमारे लिए 1 2 3 रीड होके आ गया इसने एक साथ 12 23 को क्या किया अपने एक इंटी जर के अंदर स्टोर करा दिया फिर 456 को एक इंटी जर के अंदर स्टोर करा दिया और प्रिंट करवा दिया फिर 898 को सिंगल इंटी जर के अंदर स्टोर करवा के प्रिंट करवा दिया तो यहां पे अगर फ्लोटिंग वैल्यूज होती स्ट्रिंग्स होती हमारे दूसरे तरीके के इंटी जर्स होते हैं तो सारी की सारी चीजें जो है ना स्कैन एफ से हम स्कैन कर सकते हैं और उनको अपनी स्क्रीन पे प्रिंट कर सकते हैं स्कैनफ से नहीं एफ स्कैनफ से व्हिच इज यूज एक्सक्लूसिवली फॉर फाइल्स अब जैसे हम फाइल से रीड कर सकते हैं डाटा वैसे ही राइट भी कर सकते हैं राइट करने के लिए हमारा फंक्शन जो यूज होता है वो होता है एफ प्रिंट एफ एफ प्रिंट एफ के अंदर भी तीन हमारे अ पैरामीटर्स जो है पास होते हैं पहला होता है हमारा फाइल पॉइंटर दूसरा होता है हमारा फॉर्मेट से वेरिएबल की वैल्यू प्रिंट करवानी है इस फॉर्मेट स्पेसिफीज पे तो इसको भी करके देख लेते हैं हम क्या करेंगे हमारी जो फाइल है यानी टेस्ट फाइल के अंदर हमने स्टोर कराया लिखने वाले हैं तो यहां पे हटा लेते हैं तो सबसे पहले लिखते हैं एफ प्रिंट एफ एफ प्रिंट एफ के अंदर सबसे पहले आर्गुमेंट जाएगा हमारा फाइल पॉइंटर उसके बाद जाएगा हमारा कैरेक्टर कैरेक्टर में सबसे पहले हम भेजना चाहते हैं अपने एम को एंड इसी तरीके से डिफरेंट डिफरेंट कैरेक्टर्स को भेजते रहेंगे ए एन जी एंड ओ इसको कर लेते हैं सेव एंड अब इसको रन करके देखते हैं शुरुआत में एक बार टेस्ट भी कर लेते हैं ड t एकटी के अंदर अभी एल है और जैसे ही हम इस कोड को रन करेंगे ना वैसे ही इसके अंदर एल से चेंज होके मैंगो हो गया है तो फाइल का जो पूरा का पूरा टेक्स्ट था पूरा का पूरा डाटा था उसको हम रिप्लेस कर देते हैं जब भी हम राइट करते हैं पर इस बार अगर हम अपेंड करना चाहे मतलब अपेंड मोड में अगर इस फाइल को खोले तो मैंगो जो है अब देखते हैं क्या आउटपुट आता है इसके बाद एक और मैंगो जुड़ गया अब इस केस में यानी जब हमने अपेंड किया तो हमारा पुराने वाला डाटा जो है वो इरेज नहीं हुआ हमने उस डाटा में कुछ एडिशनल चीजें ऐड कर दी है नेक्स्ट बात करते हैं कि अगर हमें सिर्फ एक कैक्ट टर बाय कैरेक्टर किसी फाइल को रीड करना हो एक तो है कि आप परसेंटेज सी लगाकर फॉर्मेट स्पेसिफाई लगाकर आप एफ प्रिंट एफ या एफ स्कैनफ से करें वरना इसके लिए दो स्पेशल फंक्शंस भी होते हैं फाइल्स के अंदर जिसमें से सबसे पहला फंक्शन है एफ गेट सी और दूसरा फंक्शन है एफ पुट सी एफ गेट सी क्या करता है गेट सी यानी गेट कैरेक्टर तो फाइल के अंदर से कैरेक्टर को लेकर आता है और एफ पुट सी पुट कर देता है एक कैरेक्टर को फाइल के अंदर तो यह कैरेक्टर्स को रीड करने के लिए यूज़ होता है और ये कैरेक्टर्स को फाइल के अंदर राइट करने के लिए यूज़ होता है दोनों का जो सिंटेक्स है वो काफी आसान सा है एफ गेट स के अंदर आप सिंपली क्या करते हैं फाइल पॉइंटर अपना डाल देते हैं यानी पहले जो हमारा सिंटेक्स चल रहा था एफ स्कैनफ से हम क्या कर रहे थे सबसे पहले फाइल पॉइंटर डालते थे उसके बाद डालते थे परसेंटेज सी एंड उसके बाद डालते थे उस कैरेक्टर का एड्रेस जिसमें हमें रीड करके डाटा को स्टोर करवाना है अब हमने यहां पे ये वाला स्टेप और ये वाला स्टेप हटा दिया तो चीजें जो है है आसान हो जाएंगी यहां पे सिंपली पास करना है फाइल पॉइंटर और यह फाइल पॉइंटर क्या करेगा सिंपली हमारे फंक्शन के अंदर जाएगा और यह फंक्शन हमें रिटर्न करके दे देगा वो कैरेक्टर जो इसने रीड किया है हमारी फाइल के अंदर से सिमिलर चीज हमारा पुट स करेगा पुट स क्या करेगा पहले वो कैरेक्टर ले लेगा जिसको फाइल के अंदर राइट करना है फिर ले लेगा उस फाइल का पॉइंटर जिसके अंदर राइट करना है और सिंपली उस फाइल के अंदर जाके उस कैरेक्टर को वो राइट कर देगा इन दोनों से भी मतलब एफ पुट सी और एफ गेट सी से भी अपने डाटा को रीड कर लेते हैं पहले हमने क्या किया था एफ प्रिंट किया था अबकी बार अपनी फाइल को खोलते हैं सबसे पहले रीड मोड में रीड मोड में खोलेंगे और यहां पर लिखेंगे एफ गेट सी पीटीआर अब यहां से तो कैरेक्टर हमें रिटर्न हो जाएगा पर उसको प्रिंट भी करवाना पड़ेगा साथ के साथ तो प्रिंट एफ कर लेते हैं परसेंटेज सी दिस इ एफ पीटीआर अब इस कोड को पांच बार हम कॉपी करवा देते हैं टेस्ट के अंदर जो है अपना वापस से एल जो है उसको रीइंस्टॉल कर देते हैं अब अपने कोड को सेव करके एक बार रन करते हैं आउटपुट हम एनालाइज करेंगे कि सेम आएगा क्या और आउटपुट सेम आया यानी हमारे कैरेक्टर बाय कैरेक्टर जो है फाइल से रीड हो हो के हमारी स्क्रीन के ऊपर हमारे लिए प्रिंट हो गए हैं यूजिंग एफ गेट सी ऐसे ही हम अगर राइट मोड में अपनी फाइल को खोले और इस बार हम राइट करना चाहते हैं इसको भी कॉमेंट आउट कर देते हैं सिंपली हमें लिखना है f पुट सी उसके अंदर सबसे पहले लिखेंगे अपना कैरेक्टर एंड हमारे फाइल का पॉइंटर सेम चीज करने की कोशिश करेंगे हमारी टेस्ट फाइल के अंदर एल स्टोर्ड है उसको हम रिप्लेस करना चाह रहे हैं मैंगो से तो राइट मोड में इस फाइल को खोलने वाले हैं और मैंगो लिखने वाले हैं एफ पुट सी की हेल्प से इसको भी सेव करके रन करते हैं तो अब टेस्ट फाइल को देखें तो हमारे लिए मैंगो आ गया इंस्टेड ऑफ एल तो कैरेक्टर के लिए अगर करना हो तो कैरेक्टर के लिए f स्कैन एफ भी कर सकते हैं या एफ गेट सी भी कर सकते हैं पर अगर हमें बाकी जो डटा टाइप्स हैं जैसे स्ट्रिंग हो गया इंटी जर हो गया फ्लोट हो गया तो उन सब के लिए हमें पता है कि हमें एफ स्कैनफ या एफ प्रिंट एफ ही यूज़ करना पड़ेगा नेक्स्ट बात करते हैं ईओएफ की ईओएफ एक स्पेशल चीज है जिसको एंड ऑफ फाइल भी कहा जाता है अब ये जो ईओएफ है ना अलग-अलग लैंग्वेजेस में एजिस्ट करता है सी का ईओएफ कैपिटल ईओएफ होता है जावा के अंदर भी स्मॉल ईओएफ होता है तो ईओएफ होता है एंड ऑफ फाइल जब हम एफ गेट सी से कैरेक्टर्स को रीड करते हैं तो जैसे ही हमारी फाइल के अंदर एक-एक करके एक-एक करके कैरेक्टर रीड कर करके हमारे सारे कैरेक्टर खत्म हो जाते हैं तो हमारा एफ गेट सी रिटर्न करता है ईओएफ और ईओएफ रिटर्न करने का मतलब है ईओएफ इज लाइक नल जैसे नल रिटर्न होता था तो हमें पता चलता था फाइल एजिस्ट ही नहीं करती वैसे ही ईओएफ जब रिटर्न होता है तब हमें पता चलता है कि हम अपने फाइल के एंड पे पहुंच गए हैं मतलब हमने सारे के सारे डाटा को ट्रेव्स कर लिया है उसको रीड कर लिया अब हमारी फाइल के अंदर कोई ऐसा डाटा नहीं है जिसको हमने रीड ना किया हो तो एफ गेट स से जब भी डटा को रीड करते हैं इसका फायदा यह होता है कैरेक्टर्स को रीड करने का कि ईओएफ हमें मिल जाता है डाटा को पढ़ने के बाद जैसे मान लीजिए हमारी फाइल के अंदर हमने काफी सारा डाटा स्टोर करा दिया दिस इज अ रैंडम स्ट्रिंग ऑफ वर्ड्स तो इस तरीके का काफी सारा डाटा हमने स्टोर करा दिया और इस पूरे डाटा को हम रीड करना चाहते हैं तो इस पूरे डटा को रीड करने के लिए हमें इसको कैरेक्टर बाय कैरेक्टर रीड करना पड़ेगा प्लस एंड में हम एक लिमिट लगा देंगे कब तक रीड करना है जब तक ईओ नहीं आ जाता तो उसके लिए एक सिंपल सा कोड लिख के देखते हैं आप नोटिस करेंगे हर एक कोड के अंदर फाइल को ओपन करने का और क्लोज करने का ये दोनों लाइन तो कांस्टेंट ही हैं फाइल पॉइंटर को डिक्लेयर करने के बाद अब इस जो फाइल है इसको हम रीड मोड में खोलने वाले हैं और इसको कैरेक्टर बाय कैरेक्टर रीड करेंगे तो सबसे पहले कैरेक्टर बना लेते हैं सी जो सारी की सारी वैल्यूज को रीड करने वाला है अब सी के अंदर सबसे पहले फर्स्ट कैरेक्टर को रीड करवाते हैं फर्स्ट कैरेक्टर कैसे रीड करवाएंगे एफ गेट सी उसके अंदर डाल देंगे एफ पीटीआर तो एफ गेट सी के अंदर एफ पीटीआर डाल के हम अपने कैरेक्टर को अपने कैरेक्टर को रीड कर लेंगे और उसको सी नाम के वेरिएबल में स्टोर करा देंगे इसके बाद क्या करेंगे एक वाइल लूप लगा देते हैं वाइल लूप क्यों क्योंकि हमें बार-बार बार-बार बार-बार लूप की फॉर्म में एक-एक करके कैरेक्टर को रीड करना है जैसे टेस्ट के अंदर जाएं तो सबसे पहले t को रीड करेंगे फिर हम एच को रीड करेंगे फिर हम आई को रीड करेंगे फिर हम ए को रीड करेंगे फिर ये जो स्पेस है हम इसको रीड कर रहे होंगे फिर दोबारा से आई को ए को इस तरीके से पूरी की पूरी स्ट्रिंग ऑफ वर्ड्स को इनफैक्ट यहां पे पैराग्राफ होता पूरा आपने google2 कर दिया परसेंटेज सी उसी कैरेक्टर को जिसको हमने अभी रीड किया है एंड दोबारा से रीड कर लो यानी सीच के अंदर अब नई वैल्यू ले लेंगे f गट स से इसके अंदर एफ पीटीआर एंड फाइनली एक नेक्स्ट लाइन हम प्रिंट करवा देते हैं अपने कंसोल पे इस कोड को हल्का सा ध्यान से समझते हैं कैरेक्टर सीए हमने एक डमी कैरेक्टर ले लिया है इसके अंदर डाटा रीड करवा करवा के फाइल से यहां पे स्टोर करा देंगे पहला कैरेक्टर रीड करवाया और फिर एक लूप लगा दिया लूप के अंदर तब तक कैरेक्टर्स को रीड करते रहना है जब तक एंड ऑफ फाइल नहीं आ जाता तो ये कंडीशन दिखाती है जब तक कैरेक्टर इज नॉट इक्वल टू एंड ऑफ फाइल अब प्रिंट करवाते रहेंगे सीच को फिर दोबारा से अगला कैरेक्टर रीड कर लेंगे फिर उसको प्रिंट करवा देंगे दोबारा से अगला कैरेक्टर रीड कर लेंगे फिर से प्रिंट करवा देंगे फिर से कैरेक्टर रीड कर लेंगे जब तक इस कैरेक्टर के अंदर हमारे पास एंड ऑफ फाइल नहीं आता जैसे ही एंड ऑफ फाइल आया कंसोल पे नेक्स्ट लाइन प्रिंट करवा देंगे और अपनी फाइल को कर देंगे क्लोज इसको कर लेते हैं सेव और अब इसको टर्मिनल से करते हैं रन तो हमारी स्क्रीन के ऊपर पूरा का पूरा वही सेंटेंस प्रिंट होके आ गया है दिस इज अ रैंडम स्ट्रिंग ऑफ वर्ड्स जो हमने अपनी टेक्स्ट फाइल के अंदर डाला था तो जब भी पूरी की पूरी फाइल को रीड करना हो एफ गेट सी का यूज़ कर लें और उसको ट्रैक कैसे करना है एंड ऑफ फाइल की हेल्प से अब सबसे पहले सवाल कर लेते हैं सवाल हमारा कहता है मेक अ प्रोग्राम टू रीड फाइव इंटी जर्स फ्रॉम अ फाइल हमें एक फाइल लेनी है और उससे पांच इंटी जर्स को रीड करना है तो अपनी टेस्ट फाइल के अंदर पांच इंटी जर्स को लिख लेते हैं 1 2 3 4 एंड 5 इसको कर लेते हैं सेव अब एक प्रोग्राम बनाते हैं इनफैक्ट इस प्रोग्राम को क्या करेंगे शुरुआत से ही बनाएंगे फाइल पॉइंटर हमने ले लिया अब फाइल को करेंगे ओपन तो f पीटीआर = इ f ओपन सबसे पहले पास करेंगे फाइल का नाम च इज टेस्ट डटी एकटी उसके बाद पास करेंगे हमारा मोड हमें करना है रीड अब इंटी जर वेरिएबल बना लेंगे n जिसमें हम नंबर्स को रीड करने वाले हैं एफ स्कैनफ परसेंटेज डी उससे पहले एफ पीटीआर और स्टोर करवा लेंगे नंबर को n में उसके बाद करा देंगे उस नंबर को स्क्रीन पर प्रिंट नंबर इ इक्वल टू परसेंटेज डी और यह सेम चीज हमें पांच नंबर के लिए रिपीट करनी है तो इस पूरे कोड को सेव कर लेते हैं और लास्ट में अपनी फाइल को क्लोज करना हमें भूलना नहीं है उसके अंदर लिख देते हैं एफ पीटीआर सेव एंड रन यह हमारे लिए कुछ एरर जनरेट हो गया है क्योंकि यहां पे हमें लगाना था एड्रेस ऑफ n हम पास कर देंगे अपने एफ स्कैनफ में इसको कर लेते हैं सेव एंड नाउ रन तो नंबर्स एक-एक करके रीड हो गए वन 2 3 4 एंड फाइव उसी ऑर्डर में रीड हुए हैं जिस ऑर्डर में हमने अपनी फाइल के अंदर लिखे हुए थे नेक्स्ट क्वेश्चन कर लेते हैं मेक अ प्रोग्राम टू इनपुट स्टूडेंट इंफॉर्मेशन फ्रॉम अ यूज़र एंड एंटर इट टू अ फ़ाइल तो यूज़र से क्या करेंगे स्टूडेंट की इंफॉर्मेशन ले लेंगे इसमें इंफॉर्मेशन में हम लेने वाले हैं स्टूडेंट का नाम उसके बाद स्टूडेंट की ऐज ले लेते हैं मार्क्स ले लेते हैं या फिर इसको सीजीपीए कह देते हैं ताकि हम फ्लोट टाइप भी बना सकें तो यह तीन इंफॉर्मेशन स्टूडेंट की ले लेते हैं और इस को एक फाइल के अंदर हम स्टोर कराएंगे तो इसको कर लेते हैं डिलीट सबसे पहले एक फाइल को ओपन करते हैं एफ पीटीआर में एफ ओपन अब जिस फाइल को हम ओपन करने वाले हैं ना वो एजिस्ट नहीं करती इसको हम नया जो है क्रिएट करेंगे इसको नाम दे देते हैं स्टूडेंट ड t एकटी और इसको ओपन कर रहे हैं राइट मोड में राइट मोड में ओपन करें तो अगर एजिस्ट भी नहीं करती तो भी खुद क्रिएट हो जाएगी अब सबसे पहला हमारा काम है यूजर से इंफॉर्मेशन इनपुट लेना तो यूजर से इंफॉर्मेशन लेने के लिए सबसे पहले लिखते हैं प्रिंट एफ एंटर नेम एक स्ट्रिंग बना लेते हैं कैरेक्टर नेम ऑफ 100 कैरेक्टर्स परसेंटेज s और यहां पर लिख देते हैं नेम अब स्कैनफ कर लेते हैं अपने नेम को परसेंटेज एस एंड हमारा नेम उसके बाद क्या करेंगे उसके बाद एंटर करवा लेंगे स्टूडेंट की एज उसके लिए भी एक वेरिएबल बना लेते हैं इंट एज एंड फ्लोट सीजीपीए तो थोड़ा सा अलग-अलग पार्ट्स हो गए फाइल वाला पार्ट है ये हमारे इंटरनल वेरिएबल वाला वा पार्ट है यहां पे हम यूजर से इंफॉर्मेशन ले रहे हैं कंट्रोल सी कंट्रोल v यहां पे एंटर करा लेंगे सीजीपीए परसेंटेज f अब हमें क्या करना है इस सारी की सारी इंफॉर्मेशन को अपने फाइल के अंदर लिखना है यानी एफ ओपन से जो हमने फाइल ओपन की उसके अंदर सारी इंफॉर्मेशन को लिखना है तो उसके लिए यूज करेंगे हम एफ प्रिंट एफ का कैसे करेंगे सबसे पहले लिखते हैं एफ प्रिंट एफ उसके अंदर पास करेंगे एफ पीटीआर अब हम सबसे पहले अपनी स्ट्रिंग को लिखना चाहते हैं तो लिखेंगे नेम और स्ट्रिंग के बाद हम लगाना चाहते हैं कॉमा एंड कॉमा के बाद हम चाहते हैं नेक्स्ट लाइन में जो है इंफॉर्मेशन चली जाए या इनफैक्ट इस इंफॉर्मेशन को टैब स्पेसेस से फॉर्मेट करते हैं फिर लिखेंगे एफ प्रिंट एफ एफ पीटीआर इसके बाद हम डिस्प्ले करना चाहते हैं अपनी एज और पास कर देंगे अपनी एज को एफ प्रिंट एफ एफ पीटीआर परसेंटेज एफ हमारा सीजीपीए एक बार सेव करते हैं सबसे पहले नाम प्रिंट होगा फिर टैब का स्पेस आएगा फिर एज प्रिंट होगी फिर टैब का स्पेस आएगा फिर सीजी पे होगा ये सारा का सारा स्टूडेंट फाइल के अंदर होने वाला है जिसको हम नया क्रिएट करेंगे एंड में हम क्लोज कर देंगे फाइल को अब एक बार रन करते हैं कोड को जो एरे है वो खुद में एक पॉइंटर है तो ये कैरेक्टर एरे जो है नेम वो खुद में पॉइंटर है तो यहां एम परसेंट लगाने की जरूरत नहीं है इसको कर लेते हैं क्लियर एंड नाउ रन तो नाम हमने एंटर कर दिया एज हमने एंटर कर दी मार्क्स यानी सीजीपीए एंटर कर दिया और अब ऑटोमेटिक हमारे लिए स्टूडेंट जो है फाइल क्रिएट हो गई है नाम हमारा आ गया है फिर टैब की स्पेस आई है फिर एज आ गई है फिर टैब की स्पेस आई है फिर हमारे मार्क्स आ गए हैं इस तरीके से हम फॉर्मेट कर सकते हैं अपनी डाटा को इनफैक्ट इस डाटा को अलग तरीके से फॉर्मेट करना होता तो यहां हम लिख देते स्टूडेंट नेम उसके बाद लिखते स्टूडेंट एज और सारी इंफॉर्मेशन जो है ना नेक्स्ट नेक्स्ट लाइन में हमें करवानी होती है और यहां लिखते हैं स्टूडेंट सीजीपीए इसको भी एक बार सेव कर लेते हैं दोबारा से रन करवाते हैं नेम हमने दोबारा से एंटर किया अपनी एज एंटर की दोबारा से हमने मार्क्स एंटर किए इस बार हमारी फाइल ऑलरेडी एजिस्ट करती थी जिसका नाम है स्टूडेंट स्टूडेंट को खोलेंगे तो अब हमारा डाटा इस फॉर्मेट में हमारे पास आ गया पह नेम फिर नेक्स्ट लाइन के अंदर एज फिर नेक्स्ट लाइन के अंदर सीजीपीए तो अलग-अलग तरीके की अगर हमें फॉर्मेटिंग करनी है फाइल के अंदर राइट करते हुए तो हम वो भी कर सकते हैं नेक्स्ट करते हैं अपना क्वेश्चन नंबर 63 क्वेश्चन हमारा कहता है राइट अ प्रोग्राम टू राइट ऑल द ऑड नंबर्स फ्रॉम वन टू n इन अ फाइल यानी एक फाइल हमें क्रिएट करनी है और उसके अंदर वन से लेकर n तक जितने भी ऑड नंबर्स आते हैं ना वो उसमें राइट करने हैं और ये n जो है ये n हमें दे रहा होगा हमारा यूजर तो यूजर से n इनपुट करेंगे वन से लेकर n तक लूप चलाएंगे जो जो ड नंबर है उसको निकालेंगे और फाइल के अंदर राइट कर देंगे तो इनको कर लेते हैं क्लोज अपने प्रोग्राम के अंदर एक नई फाइल जो है उसको ओपन करने की कोशिश करते हैं राइट से एफ पीटीआर इट एफ ओपन अपनी फाइल का नाम ऑड डटी एक्सटी एंड उसको ओपन कर रहे हैं हम राइट मोड में तो राइट मोड में ओपन कर रहे हैं तो एजिस्ट नहीं करती तो भी खुद से क्रिएट हो जाएगी अब यूजर से रीड कर लेते हैं इंटी जर एंड प्रिंट एंटर ए स्कैनफ परसेंटेज डी एंड n इसके बाद लूप चला लेते हैं इंट आ = 0 आ जब तक लेसन इक्व टू n है इनफैक्ट आ को शुरू करते हैं वन से लेकर n तक i प् प् अब ऑड चेक करने के लिए लिखना पड़ेगा इफ आ मॉडलो 2 इज नॉट इक्वल टू 0 जब i डिवाइड बा 2 रिमाइंडर में रो नहीं देगा मतलब हमारा नंबर ऑड है तो नंबर ऑड है तो अब हमें इसको फाइल में राइट करना है फाइल में कैसे राइट करेंगे एफ प्रिंट एफ की हेल्प से एफ प्रिंट एफ कर देंगे सबसे पहला पैरामीटर पास करेंगे अपना फाइल पॉइंटर जिसके अंदर हमें राइट करना है उसके बाद पास कर देंगे टाइप फॉर्मेट स्पेसिफाई और इन नंबर्स को सेपरेट कर लेंगे एक टैब स्पेस के साथ इनफैक्ट नेक्स्ट लाइन में प्रिंट करवा देंगे सबको इसको कर लेते हैं सेव एंड एंड में हमने फाइल को क्लोज कर दिया है अब इसको रन करवाते हैं मान लीजिए हमें शुरू के 10 ऑड नंबर चाहिए तो ऑटोमेटिक ऑड . tx1 तक जितने भी नंबर्स ऑड हैं वो हमारे लिए प्रिंट हो गए 1 3 5 7 एंड 9 नेक्स्ट क्वेश्चन करते हैं नेक्स्ट क्वेश्चन कहता है कि एक फाइल के अंदर दो नंबर्स लिखे हुए हैं एक नंबर है a दूसरा नंबर है b ये फाइल के अंदर ऑलरेडी नंबर लिखे हुए हैं अब राइट अ प्रोग्राम टू रिप्लेस देम विद देयर सम हमें क्या करना है हमारी मान लीजिए यह एक फाइल है इसके अंदर ऑलरेडी टू और थ्री दो नंबर्स लिखे हुए हैं हमें इन दोनों को फाइल से रीड करना है a में दो ले आएंगे b में तीन ले आएंगे और इस फाइल को अंदर से साफ करके मतलब इसका डाटा डिलीट करके दोनों नंबर्स का सम हमें इसमें लिखना है यानी इसके अंदर सिर्फ पांच होना चाहिए एट दी एंड ऐसा सा कुछ हमारा सिस्टम रहेगा तो लॉजिक क्या होगा इसके पीछे करने का सबसे पहले तो डाटा को रीड कर लेंगे पहले फाइल को खोलेंगे रीड मोड में उसके बाद फाइल को क्लोज करने के बाद खोलेंगे अपने राइट मोड में और राइट मोड में जैसे ही खोलेंगे तो डटा अपने आप क्या हो जाएगा ओवरराइट हो जाएगा तो पुराना डाटा डिलीट तब तक हम उस डाटा को इंट a और b में अपने लोकल वेरिएबल के अंदर स्टोर करा लेंगे तो इसके लिए भी कोड लिखते हैं सबसे पहले फाइल क्रिएट कर लेते हैं सम txt.gz इसके अंदर पास करेंगे एफ पीटीआर एंड उसके बाद हमारा फॉर्मेट स्पेसिफीज करने वाले इंटी जर बी के लिए इंट बी एंड एड्रेस ऑफ बी अब ए और बी को हमने रीड कर लिया एंड अब हम फाइल को क्लोज कर देते हैं फाइल को क्लोज करने के बाद अब दोबारा खोलेंगे इसको सेम पॉइंटर की हेल्प से दोबारा खोल सकते हैं अपने राइट मोड में तो राइट मोड में खोलेंगे और फाइल के अंदर प्रिंट एफ कर देंगे डाटा को ऐड करवा देंगे ए पीटीआर परसेंटेज डी हमारा सम यानी a ् b को अब दोबारा से फाइल को कर देंगे क्लोज तो सबसे पहले हमने a और बी को रीड किया फाइल से फाइल को क्लोज कर दिया और अगली बार खोला उसको राइट मोड में राइट मोड में क्या किया राइट मोड में अब फाइल के अंदर ओवरराइट कर दिया a + b यानी दोनों नंबर्स का सम और दोबारा से कर दिया फाइल को क्लोज अब इसको रन करते हैं अपने सम txt.gz ने क्या किया टू और थ्री को रिप्लेस कर दिया फाइव के साथ ये हमारे काफी सारे हमने फंक्शंस डिस्कस कर लिए हैं जो फाइल के ऊपर होते हैं आप डिफरेंट डिफरेंट सवाल सॉल्व कर सकते हैं फाइल्स की हेल्प से और बहुत ही सिंपल सवाल होते हैं बस क्या करना होता है तीन-चार फंक्शंस याद करने हैं याद करने की सबसे अच्छी टिप यह है कि ऑलरेडी एजिस्टिफाई के लिए आप एफ लगा दो और बहुत ही इजी सिंटेक्स है मतलब एफ ओपन और एफ क्लोज बहुत इजी मैं कहूंगी वो फंक्शंस हैं जो दिमाग में बैठ जाते हैं और अब पढ़ते हैं अपने लास्ट और नेक्स्ट चैप्टर की तरफ जो है चैप्टर 11 जिसमें पढ़ेंगे डायनेमिक मेमोरी एलोकेशन के बारे में तो अब हम शुरुआत करने वाले हैं अपने चैप्टर 11 और अपने लास्ट चैप्टर के साथ जिसका नाम है डायनेमिक मेमोरी एलोकेशन अब डायनेमिक मेमोरी एलोकेशन की बात करने से पहले ये समझते हैं कि मेमोरी किस तरीके से एलोकेट होती है जब भी हम एक प्रोग्राम लिखते हैं एक होता है स्टैटिक मेमोरी एलोकेशन एक होता है डायनेमिक मेमोरी एलोकेशन जब भी हम कोई सी का प्रोग्राम लिखते हैं और उसके अंदर हम कोई वेरिएबल बनाते हैं तो सी का कंपाइलर क्या करता है उस वेरिएबल का डेटा टाइप देख लेता है है और उस हिसाब से मेमोरी पहले से ही एलोकेट कर देता है यानी रिजर्व कर देता है पर कभी-कभी ऐसे केसेस आ सकते हैं जिसमें हमारी जो रिक्वायरमेंट है ना मेमोरी की वो कोड के बीच में चेंज हो सकती है जैसे अगर मान लीजिए आपने कोई एरे बनाया है और उस एरे में आप स्टोर कराना चाहते हैं कि आपकी क्लास में कितने बच्चे एनरोल्ड हैं तो आपकी क्लास में मान लीजिए 30 बच्चे हैं और 30 बच्चों के हिसाब से आपने एरे बना दिया लेकिन साल के बीच में तीन नए बच्चे आपकी क्लास में एनरोल कर जाते हैं तो उसके लिए क्या आप एक नया एरे बनाएंगे जिसका साइज 33 होगा उसमें पुरानी वाली वैल्यूज भी कॉपी करेंगे और नए वाली वैल्यूज भी कॉपी करेंगे तो ये थोड़ा सा ना ट्रिकी सिचुएशन हो जाती है जिसमें एनर्जी बहुत वेस्ट होती है इसीलिए डायनेमिक मेमोरी एलोकेशन की हमें जरूरत पड़ती है क्योंकि एक ऐसा तरीका है जिससे हम प्रोग्राम के बीच में डिसाइड कर सकते हैं कि हमें कितनी मेमोरी चाहिए अगर हमने पहले कम ले ली थी तो उसको ज्यादा कर सकते हैं अगर पहले ज्यादा ले ली थी तो रिसोर्सेस बचाने के लिए उस मेमोरी को प्रोग्राम के बीच में हम कम कर सकते हैं तो डायनेमिक यानी रन टाइम में हम डिसाइड कर पाएंगे कि मेमोरी कितनी आ एलोकेट होनी है तो डायनेमिक मेमोरी एलोकेशन होता है टू एलोकेट मेमोरी टू अ डाटा स्ट्रक्चर ड्यूरिंग द रन टाइम तो दो टाइम्स होते हैं एक होता है हमारा कंपाइल टाइम और एक होता है हमारा रन टाइम कंपाइल यानी जब सी का जो कंपाइलर है वो रन कर रहा है और वो एनालाइज कर रहा है कितनी मेमोरीज इंटी जर वेरिएबल को चाहिए होगी कितनी मेमोरीज फ्लोट वेरिएबल को चाहिए होगी कितनी मेमोरी एक स्ट्रिंग को चाहिए होगी और फिर होता है हमारी रन टाइम मेमोरी एलोकेशन रन टाइम यानी जब हमारा कोड एक्चुअली रन कर रहा है जब कंसोल की विंडो खुली हुई है उसमें यूजर कुछ इनपुट कर रहा है कुछ आउटपुट प्रोड्यूस हो रहा है प्रोग्राम के शुरू और खत्म होने के बीच के टाइम को रन टाइम कहते हैं अब ये जो डायनेमिक मेमोरी एलोकेशन हम करना चाहते हैं ना इसके लिए हमें कुछ फंक्शंस चाहिए होते हैं उन फंक्शंस को यूज करके हम मेमोरी के साथ डायनेमिक खेल रहे होते हैं तो चार फंक्शंस की हम इस टॉपिक में इस चैप्टर में बात कर रहे होंगे मेजर्ली जिनमें से सबसे पहला फंक्शन है हमारा मैलक मैलक स्टैंड्स फॉर मेमोरी एलोकेशन दूसरा है हमारा कैलक कैलक इज कंटीन्यूअस एलोकेशन तीसरा है हमारा फ्री फंक्शन और चौथा है हमारा री एलोक यानी री एलोकेशन अब इन चारों फंक्शंस के बारे में हम डिटेल में इस पूरे के पूरे चैप्टर में पढ़ रहे होंगे और चारों फंक्शन बहुत आसान है लिखने इनफैक्ट मैं बात करूं तो एक कंप्यूटर प्रोग्राम अभी तक जितने हमने 10 चैप्टर पढ़ लिए हैं ना ये चैप्टर सबसे आसान होना चाहिए क्योंकि इसमें सिर्फ चार ही फंक्शन है और बहुत इजी तरीके से हम इसको समझने वाले हैं सबसे पहले फंक्शन की बात करते हैं पहला फंक्शन है हमारा मैलक अब मैलक फंक्शन का काम होता है कुछ पर्टिकुलर अमाउंट ऑफ मेमोरी को एलोकेट कर देना मान लीजिए आपको चाहिए 14 बाइट्स की मेमोरी या 30 बाइट्स की मेमोरी तो मलक आपको वो मेमोरी लाके दे देगा कोड के बीच में इट टेक्स द नंबर ऑफ बाइट्स टू बी एलोकेटेड मेमोरी को जिन टर्म्स में मेजर करता है जिन टर्म्स में लाके देता है वो बाइट्स वाली टर्म है यानी बाइट्स में आपको इसको बताना पड़ेगा इतने बाइट्स ऑफ मेमोरी मुझे चाहिए एंड इट विल रिटर्न अ पॉइंटर ऑफ टाइप वॉइड वो क्या करेगा हमारी जो टोटल मेमोरी है उसके अंदर उन पर्टिकुलर बाइट्स का मान लीजिए x बाइट्स आपने भेजी एक चंक ले लेगा और उसको एक पॉइंटर असाइन कर देगा पीटीआर जिसका टाइप होगा वॉइड और इस पॉइंटर के थ्रू अब आप इस मेमोरी को जो है एक्सेस कर पाएंगे तो x नंबर ऑफ बाइट्स ले लेगा उस हिसाब से मेमोरी के अंदर जगह बनाएगा x नंबर ऑफ बाइट्स की वो आपको रिटर्न करके दे देगा और उसका क्या रिटर्न करेगा उसका पॉइंटर रिटर्न करेगा उस पॉइंटर का टाइप होता है हमारे पास वॉइड इसको लिखने का सिंटेक्स क्या रहता है सबसे पहले हम लिखते हैं मैलक मैलक के अंदर जाएंगी हमारी नंबर ऑफ बाइट्स अब यहां पे नंबर ऑफ बाइट्स हमने कुछ इंटरेस्टिंग चीज दी है पहले लिखा है पांच फिर मल्टीप्लाई किया है साइज ऑफ इंट से अब ये जो साइज ऑफ होता है ना ये साइज ऑफ हमारा एक फंक्शन होता है और ये फंक्शन क्या करता है ये फंक्शन किसी भी डेटा टाइप का साइज हमें रिटर्न कर देता है अगर हमने लिखा साइज ऑफ इंट तो इंटी जर का साइज रिटर्न कर देगा अगर हमने लिखा साइज ऑफ फ्लोट तो फ्लोट का साइज रिटर्न कर देगा अगर हमने लिखा साइज ऑफ कैरेक्टर तो कैरेक्टर का साइज रिटर्न कर देगा अब मेरी मशीन के हिसाब से मुझे पता है ये रिटर्न करेगा चार फ्लोट में भी चार और कैरेक्टर में एक हो सकता है आपकी मशीन 32 बिट की हो या कोई और सिस्टम पे आप काम कर रहे हो तो उस केस में इंटी जर का साइज क्या पता है ये टू रिटर्न करे आपके लिए या किसी और डटा टाइप का कोई और साइज रिटर्न करें तो डिपेंड करता है कि आपका सिस्टम क्या है अपने सिस्टम के हिसाब से अगर आपको जानना है कि यह डेटा टाइप कितनी बाइट्स ऑफ़ मेमोरी मेरे लिए लेता है तो वो ये साइज ऑफ फंक्शन रिटर्न करके दे देगा तो एक बार साइज ऑफ को देख भी लेते हैं सबसे पहले काम कैसे करता है अगर मैं प्रिंट करना चाहूं परसेंटेज डी साइज ऑफ इंट एंड इसके साथ-साथ साइज ऑफ फ्लोट एंड साइज ऑफ कैरेक्टर इसको एक बार मैं सेव कर लेती हूं और रन करती हूं वार्निंग्स को हमें इग्नोर करना है हां तो साइज ऑफ इंटी जर हमारे पास चार बाइट्स आ गया साइज ऑफ फ्लोट भी चार बाइट्स आ गया और साइज ऑफ कैरेक्टर आया है सि बाइट तो ये साइज ऑफ ऑपरेटर होता है जिसकी हेल्प से हम किसी भी डेटा टाइप का साइज अपने पास निकाल कर ला सकते हैं तो यहां पे हमने क्या किया मैलक के अंदर हमने पांच को मल्टीप्लाई कर दिया है साइज ऑफ इंटी जर से अब इंटी जर का साइज क्या है इंटी जर का साइज है चार तो ये क्या करेगा 20 बाइट्स की मेमोरी हमें लाकर दे देगा अगर मान लीजिए आप 14 बाइट्स की मेमोरी लेना चाहते हैं तो आपके लिए क्या होगा 14 बाइट्स रिजर्व हो जाएंगी अब इसमें आप क्या कर सकते हैं 12 बाइट्स के अंदर तो आप चार इंटी जर स्टोर करा सकते हैं और दो बाइट के अंदर आप दो कैरेक्टर स्टोर करा सकते हैं पर मुझे तो जी पांच इंटी जर ही स्टोर कराने थे इस मेमोरी में इसीलिए मैंने ऐसी मेमोरी ली जो इंटी जर का मल्टीपल है इसीलिए 5 मलाड बा 4 तो 20 बाइट्स की मेमोरी मालक मुझे लाकर दे देगा मुझे एक्चुअली लाकर दिया है इस मेमोरी का पॉइंटर जिसका टाइप है वॉइड तो ये वॉइड टाइप का पॉइंटर है पर मुझे तो एक इंटी जर टाइप का पॉइंटर चाहिए था इसीलिए मैंने यहां पे इसको कर दिया है टाइपकास्ट और ये टाइपकास्ट के लिए हम स्टार इंट नहीं इंट स्टार लिखते हैं तो इंट स्टार टाइप का मुझे मेमोरी मिल गया है जिस मेमोरी में मेरे पास 20 बाइट्स हैं यानी उसमें मैं पांच इंटी जर्स को स्टोर करा सकती हूं और यह पूरा का पूरा पॉइंटर मैंने इस वेरिएबल पीटीआर में लाके स्टोर कर दिया है अब इस मेमोरी को एक्सेस करना होगा तो पीटीआर की फॉर्म में एक्सेस करेंगे आल्सो मालक को यूज करने के लिए हमें ऊपर एक एसटीडी एई बीड ए नाम की स्टैंडर्ड लाइब्रेरी जो है इंक्लूड करनी पड़ती है जो हमें कैपेबल बनाती है डीएमए के यानी डायनेमिक मेमोरी एलोकेशन के तो एक बार इसको करके देख लेते हैं ऊपर इंक्लूड करते हैं हैश इंक्लूड एटीडी ए आई बीड ए पहले बनाते हैं एक इंटी जर पॉइंटर अब इस पॉइंटर को असाइन कर देंगे मैलक ने जो मेमोरी हमें दी मैलक से कितनी मेमोरी चाहिए हमें 5 इंटी जर्स के बराबर तो साइज ऑफ इंटी जर और इस पॉइंटर को हम टाइपकास्ट कर देंगे टू इंट पॉइंटर तो ये हमारा पॉइंटर आ गया है जो पॉइंट कर रहा है यहां 20 बाइट्स ऑफ मेमोरी को अब अगर ऐसी सिचुएशन आ जाती है जिसमें लॉक हम मान लीजिए यहां पे लिख दें फ करोड़ या करोड़ से भी कोई बड़ा नंबर तो एक पॉइंट आएगा जब हम इतनी मेमोरी मांग रहे होंगे जो हमारे सिस्टम के पास है ही नहीं तो ऐसा जब केस आता है जब हमारा सिस्टम हमें हमारी रिक्वायर्ड नंबर ऑफ बाइट्स नहीं दे पाता तो उस केस में यहां पे रिटर्न होता है नल सो हमारे पीटीआर की वैल्यू नल हो जाएगी जब हमारा सिस्टम हमें रिक्वायर्ड नंबर ऑफ बाइट्स नहीं दे पाएगा इसीलिए सोच समझ के यहां पे ठीक-ठाक नंबर लिखना है जो कैपेसिटी हमारे सिस्टम की है उसी हिसाब से अब मुझे अगर इस मेमोरी के अंदर चीजें स्टोर करानी हो जैसे मान लो लीजिए मेरे पास पांच इंटी जजर्स के साइज की मेमोरी आ गई है अब मुझे उसके अंदर पांच इंटी जर्स एक्चुअली स्टोर कराने हैं तो उसके लिए स्टोर कराने का तरीका बिल्कुल वैसा स ही होगा जैसे हम अरेज को यूज करते हैं अरेज में क्या होता है हमारे पास फिक्स साइज की मेमोरी होती है यहां पे हम क्या कर रहे हैं डायनेमिक साइज की मेमोरी को ले रहे हैं तो इनको भी हम रेज की तरह यूज कर सकते हैं बस साइज यहां पर फिक्स नहीं है इतनी सी सिंपल चीज है जैसे जरूरत लोकेशन पे मैं वन को स्टोर करा दूं फर्स्ट पे मैं थ्री को स्टोर करा दूं फिर पीटीआर ऑफ टू में मैं पांच को स्टोर करा दूं पीटी ऑफ 3 में मैं सात को स्टोर करा दूं और पीटीआर ऑफ 4 में मैं स्टोर करवा दूं ना को तो इस तरीके से पांचों इंटी जर लोकेशंस पे मैंने कोई ना कोई वैल्यू स्टोर करा दि है एंड नाउ आई कैन रन अ लूप लूप लगाकर इन सारी वैल्यूज को मैं प्रिंट करवा सकती हूं i = 0 से i < 5i प् प् पीटीआर ऑफ आ तो जैसे एरे की लोकेशंस को एक्सेस करते हैं और उसके बाद उसमें वैल्यूज को स्टोर कराते हैं फिर उन वैल्यूज को एक्सेस करके प्रिंट करवाते हैं सेम वही प्रोसेस रहेगा जब भी हम मैलक से मेमोरी एलोकेट करके एक पॉइंटर यूज करेंगे इसको एक बार रन भी करके देख लेते हैं तो हमारे पास सारे के सारे जो मैंने इंटी जर्स थे स्टोर कराए थे अपनी मेमोरी के अंदर वो मेरे पास रिटर्न होके आ गए हैं और इनके साथ अगर कुछ ऑपरेशन करना है कोई चेंजेज करना है तो उसी हिसाब से कर सकते हैं ये जो मेमोरी है ये हमारी रन टाइम पे एलोकेट हुई है कंपाइल टाइम पे एलोकेट नहीं हुई है तो इस तरीके से तो हमने मेमोरी एलोकेट कर दिया है अब नेक्स्ट बात करते हैं अपने प्रैक्टिस क्वेश्चन की सवाल हमारा कहता है राइट प्रोग ग्रम ये मैंने डब्ल्यू एपी शॉर्ट फॉर्म इसकी लिख दि है टू एलोकेट मेमोरी टू स्टोर फाइव प्राइसेस अब प्राइसेस जनरली जो होते हैं हमारे फ्लोट टाइप के होते हैं तो पांच फ्लोट टाइप के प्राइसेस हमें स्टोर करने हैं अपनी मेमोरी के अंदर तो वो कैसे करेंगे उसको डायनेमिक करने का तरीका यह है कि हम बना ले एक पॉइंटर जो पॉइंट कर रहा होगा मैलक से एलोकेटेड मेमोरी पांच प्राइसेस यानी साइज ऑफ फ्लोट और इसको टाइप कास्ट कर देंगे टू फ्लोट पॉइंटर अब पीटीआर के अंदर हम प्राइस अपने स्टोर करा सकते हैं यह जो है चीजें सारी कन्वर्ट हो जाएंगी टू हमारी फ्लोटिंग वैल्यूज इसको भी सेव करके रन करते हैं एक बार दिस विल बी फ्लोटिंग पॉइंटर और हम प्रिंट करवाना चाह रहे हैं परसेंटेज f को तो ये हमारी सारी फ्लोटिंग वैल्यूज हमारे पास प्रिंट होकर आ गई हैं ये वैल्यूज जो है हम यूज़र से भी इनपुट ले सकते हैं या अपने खुद से भी डिफाइन कर सकते हैं और फिर इनके साथ डिफरेंट फंक्शंस परफॉर्म कर सकते हैं बेसिकली जो भी हम नॉर्मल मेमोरी के साथ कर सकते थे वो सब हम डायनेमिक एलोकेटेड मेमोरी के साथ कर सकते हैं अब नेक्स्ट समझते हैं अपने कैलक फंक्शन को कैलक का मतलब होता है कंटीन्यूअस एलोकेशन यानी इससे जो आप मेमोरी एलोकेट करेंगे वो कंटीन्यूअस फैशन में आएगी जैसे अगर आपने 20 बाइट्स की मेमोरी एलोकेट करी तो वो कंटीन्यूअस फैशन में आपके लिए एलोकेट होगी और एक और चीज होती है कैलक से मेमोरी को डिफाइन करने की डिक्लेयर करने की एलोकेट करने की कि हर जो वैल्यू होती है वो इनिशियल इज हो जाती है विद जरो मान लीजिए आपने पांच इंटी जर के बराबर मेमोरी जो है ली तो सारे के सारे इंटी जर्स में बाय डिफॉल्ट जरो स्टोर हो जाएगा अगर आपने पांच फ्लोट के बराबर ली तो उसमें बाय डिफॉल्ट 0.0.0 ये वैल्यू स्टोर हो रही होगी तो जब भी आपको मेमोरी डायनेमिक लेनी है और उसमें नल वैल्यूज यानी ज़ीरो वैल्यूज असाइन करनी है तो सिंपली क्या यूज़ करना है कैलक का यूज़ कर लेना है इसको डिफाइन करने का सिंटेक्स ये रहता है कि हम सिंपली लिखते हैं कैलक और पहले जैसे हम बाइट्स भेजते थे इस बार हम टोटल नंबर ऑफ बाइट्स नहीं भेजेंगे इस बार हम भेजेंगे कि कितनी लोकेशंस हमें चाहिए नंबर ऑफ लोकेशंस और पर लोकेशन क्या साइज चाहिए तो पर लोकेशन साइज हमें चाहिए एक इंटी जर के बराबर और पांच इंटी जर्स की हमें लोकेशन चाहिए पहले क्या करते थे टोटल नंबर ऑफ बाइट्स बेचते थे तो इन दोनों को मल्टीप्लाई कर देते इस बार वो नहीं करना इस बार अलग-अलग पैरामीटर्स भेजने हैं और फिर यह भी रिटर्न करेगा हमें वॉइड पॉइंटर वॉइड पॉइंटर को हमने टाइप कास्ट कर दिया टू इंटी जर पॉइंटर और अब इस पीटीआर की हेल्प से हम मेमोरी को एक्सेस कर सकते उसमें वैल्यूज असाइन कर सकते हैं उसकी वैल्यूज प्रिंट कर सकते हैं एक बार इसका भी कोड लिख के देखते हैं पहली बार जो हमने मेमोरी एलोकेट की थी उसमें चेंज कर देते हैं उसको टू कैलक अब कैलक में कुछ भी ना असाइन नहीं करेंगे मतलब ना वन लिखेंगे थ्री लिखेंगे यह सब असाइनमेंट नहीं करेंगे और सिंपली देखेंगे प्रिंट क्या होगा हमारे लिए तो यहां पे पास करने हैं दो पैरामीटर्स एक होगा हमारा टोटल नंबर ऑफ हमें कितने स्लॉट्स चाहिए एक होगा क्या साइज होगा ईच ब्लॉक का तो ये हर किसी वैल्यू के लिए हमारे पास 0.0 आ गया वहीं पर अगर हम इस मेमोरी को मैलक से करते और फिर इसको रन करने की कोशिश करते हैं अब यहां पे इस केस में हमारे मैलक ने भी 0.0 प्रिंट करवाया है पर ये जरूरी नहीं है मतलब इसकी कोई गारंटी नहीं देता हमारा प्रोग्राम कि हर बार 0.0 ही प्रिंट करवाएगा हो सकता है उन ब्लॉक्स ऑफ मेमोरीज में कुछ रैंडम नंबर आपके लिए प्रिंट करवा दे आपके सिस्टम में मैलक कभी भी गारंटी नहीं लेगा कि 0.0 ही आएगा कुछ केसेस में आ सकता है कुछ केसेस में नहीं आएगा पर अगर आपको रो से इनिश इज कराना है तो हमेशा कैलक का यूज़ करना है क्योंकि वो आपके लिए गारंटी ले सकता है अब नेक्स्ट बात करते हैं अपने प्रैक्टिस क्वेश्चन की सवाल हमारा कुछ ऐसा है कि राइट अ प्रोग्राम टू एलोकेट मेमोरी ऑफ़ साइज n ये n साइज की हमें मेमोरी एलोकेट करनी है वेयर n इज एंटर्ड बाय द यूजर अब n साइज कहने का क्या मतलब है कि n मल्टीप्ला बाय साइज ऑफ इंट यहां पे हम ले रहे होंगे कि n इंटी जर्स के साइज की हमें मेमोरी एलोकेट करनी है तो इसको भी देख लेते हैं सबसे पहले बनाएंगे एक इंटी जर पॉइंटर पीटीआर और एक इंटी जर n अब यूजर से अपना इंटी जर n इनपुट ले लेंगे एंटर n नेक्स्ट हम क्या करेंगे अब इस n साइज की मेमोरी हमें एलोकेट करनी है तो pt01 n तक i + एंड हर बार हम प्रिंट करवा रहे होंगे परसेंटेज डी पीटीआर ऑफ आ को तो हमें चार साइज की जो है मेमोरी चाहिए तो यह चार इंटी जर्स हमारे पास एलोकेट होकर आ गए और हर इंटी जर के अंदर बाय डिफॉल्ट ज़ीरो स्टोर्ड है नेक्स्ट देखते हैं हम फ्री को फ्री भी एक सबसे इंपॉर्टेंट फंक्शन है इनके अंदर फ्री अब ऐसा होता है कि कैलक मैलक जो डायनेमिक मेमोरी प एलोकेट करते हैं वह अपने आप फ्री नहीं होती जैसे थोड़ा सा गहराई में समझते हैं इस चीज को हमने कोई का प्रोग्राम लिखा उसके अंदर हमने बनाया एक इंटी जर n और उसके अलावा n को हमने बीच-बीच में यूज़ किया और फिर बाद में मतलब ये बहुत लंबा प्रोग्राम है इसमें हजारों लाइन है और इंटी जर n का यूज सिर्फ फर्स्ट लाइन में और सेकंड लाइन में यूज़ हो रहा है तो c का कंपाइलर स्मार्ट है वो क्या करेगा देख लेगा बाद में यूज़ नहीं हो रहा तो इसके बाद वोह n को करा देगा फ्री क्योंकि उसने देख लिया कि n जो है स्टैटिकली एलोकेटेड है यानी शुरू में ही एलोकेट हो गई थी इसको मेमोरी और उसको पता है कि सी के कंपाइलर को पता है आगे क्या होने वाला है इस मेमोरी के साथ उसने देख लिया इस मेमोरी को कोई छेड़ ही नहीं रहा इनकी मेमोरी को तो वो सेकंड लाइन के बाद इस मेमोरी को फ्री करा देता है ताकि फालतू की जो रिसोर्सेस हैं ना वो प्रोग्राम होल्ड अप करके ना रखे पर डायनेमिक जो आप मेमोरी एलोकेट करते हैं ना उसके बारे में सी के कंपाइलर को कुछ नहीं पता होता तो उस केस में क्या होता है अगर आपने मैलक या कैलक से कोई मेमोरी एलोकेट की तो सी के कंपाइलर को नहीं पता कि आगे जाके कोड में उस मेमोरी को कोई एक्सेस भी कर रहा है नहीं कर कर रहा कोई उसमें चेंजेज होने वाले हैं या नहीं होने वाले इसीलिए वो उस मेमोरी को वैसे का वैसा रखता है तो यहां रिस्पांसिबिलिटी आ जाती है प्रोग्रामर पर कि हमारा काम हो जाता है फिर उस मेमोरी को फ्री करना उस मेमोरी को अगर हम यूज़ नहीं कर रहे तो हम बीच प्रोग्राम में उसको फ्री कर सकते हैं कि अब इस वेरिएबल को यूज नहीं करना इस मेमोरी को आप फ्री कर दो और फ्री कराने के लिए हम यूज़ करते हैं फंक्शन फ्री सो वी यूज इट टू फ्री मेमोरी दैट इज एलोकेटेड यूजिंग मैलक एंड कैलक और बहुत सिंपल फॉर्मेट है इसको लिखने का बहुत सिंपल सिंटेक्स है सिर्फ लिखेंगे फ्री और अंदर डाल देंगे पॉइंटर ये वो पॉइंटर है जो उस मेमोरी को पॉइंट कर रहा है जिसको हमें फ्री कराना है तो इसके लिए भी एक प्रोग्राम लिख लेते हैं छोटा सा हमने अभी कैलक से जो है n इंटी जर्स को एलोकेट किया था और एंड ऑफ द प्रोग्राम में हम इस मेमोरी को कर देंगे फ्री तो पीटीआर जिस मेमोरी को पॉइंट कर रहा था उसको फ्री कर देंगे और दोबारा से पीटीआर को क्या करेंगे पॉइंट करा देंगे किसी और मेमोरी की तरफ जैसे यही स्टेटमेंट अगर हम दोबारा लिखना चाहे तो इंटी जर n की जगह अब सिर्फ दो इंटी जर्स की मेमोरी होगी और उसको भी हम करा देंगे प्रिंट इस कोड के अंदर हमने क्या किया पहले तो n साइज की मेमोरी ले ली उसपे पॉइंटर पॉइंट कर रहा है वो साइज हमने जो भी वैल्यूज थी प्रिंट करवा दी फिर फ्री कर दिया उस मेमोरी को अब उसी सेम पॉइंटर को हम एक्सेस करा रहे हैं दो साइज की मेमोरी पे और फिर अब हम उसकी वैल्यूज को प्रिंट करवा रहे हैं तो पहले हम चार इंटी जर्स की मेमोरी लेना चाहते हैं तो ये चार इंटी जर हमारे लिए प्रिंट हो गए फिर हमने फ्री कर दिया मेमोरी को अब हमारे पास टोटल दो इंटी जर्स की मेमोरी है तो जीरो जीरो प्रिंट हो जाएगा तो आई होप होप कि हम यहां पे फायदा देख पा रहे हैं कि अगर इंटी जर पॉइंटर होते हैं तो उसमें हम चेंजेज जो है यूजुअली नहीं कर पाते पर डायनेमिक एलोकेट मेमोरी के साथ हम कोड के बीच में उसको फ्री कर पाते हैं एलोकेट कर पाते हैं नेक्स्ट एक सवाल करते हैं सवाल ये है फ्री द मेमोरी एलोकेटेड विद कैलक तो इस मेमोरी को हमने फ्री कर दिया ऑलरेडी हम ये सवाल कर चुके हैं नेक्स्ट बात करते हैं रिलक रिलक का मतलब होता है रिएलोकेशन ऑफ मेमोरी यानी किसी मेमोरी को दोबारा एलोकेट करना जैसे अभी हमने एग्जांपल देखा था कि आपकी क्लास के अंदर 30 बच्चे थे 30 बच्चों का रोल नंबर स्टोर कराने के लिए आपने मेमोरी रिजर्व कर ली व्हिच इज इक्वल टू 30 मल्ला बाय साइज ऑफ इंट अब आपकी क्लास में तीन और नए बच्चे आते हैं तीन और नए बच्चे आते हैं तो आपको तीन और नए बच्चों का साइज जो है वो एक्स्ट्रा ऐड करवाना पड़ेगा उस मेमोरी के अंदर तो सेम चंक ऑफ मेमोरी में आप थोड़ी सी मेमोरी और जोड़ सकते हैं जिससे क्या होगा सेम पॉइंटर को यूज करते हुए आप एक्स्ट्रा इंफॉर्मेशन भी ऐड करते जाएंगे अपने कोड के अंदर तो रिएलोकेट यानी इंक्रीज भी कर सकते हैं मेमोरी को डिक्रीज भी कर सकते हैं मेमोरी यूजिंग द सेम पॉइंटर एंड साइज़ सेम पॉइंटर को यूज़ करके मेमोरी को बढ़ा भी सकते हैं कम भी कर सकते हैं कम क्यों करेंगे किस केस में कम करेंगे जब हमने शुरुआत में बहुत सारी मेमोरी ले ली और प्रोग्राम के बीच में हमें पता चला कि इतनी मेमोरी तो चाहिए ही नहीं जैसे मान लीजिए आप कोई अ कॉलेज चला रहे हैं जिसका आपने सिस्टम बनाया ऑनलाइन उसमें आपको लग रहा है कि आपने एक डिजिटल मार्केटिंग का कोर्स निकाला और उसमें 1000 बच्चे एनरोल करने वाले हैं तो आपने हजार बच्चों के इंफॉर्मेशन के हिसाब से मेमोरी एलोकेट कर दी पर इवेंचर पास जो बच्चे आए वो 70 बच्चे आए तो काफी सारी मेमोरी है जो वेस्ट हो जाएगी तो उसको कोड के बीच में बाकी सारी मेमोरी को हम क्या करेंगे रिएलोकेट कर देंगे 70 की तो रखे तो ये डिफरेंस हो जाता है फ्री में पूरी साफ हो जाएगी रिएलोकेट में फालतू मेमरी हटा देंगे जितनी हमें हटानी है और जितनी हमें चाहिए बस उतनी अपने पास रख लेंगे तो इसको लिखने का सिंटेक्स ये रहता है पहले हम लिखते हैं रिलक फिर डालते हैं वो पॉइंटर जिसकी मेमोरी को रिएलोकेट करना है और उसके बाद नया साइज कि मेमोरी का अब नया साइज क्या होने वाला है और उससे वापस से असाइन कर देंगे अपने पॉइंटर को तो इसमें सवाल करते हैं एलोकेट मेमोरी फॉर फाइव नंबर्स देन डायनेमिक इंक्रीज इट टू स्टोर एट नंबर्स इसके लिए कोड कैसे लिखेंगे सबसे पहले बना लेंगे इंटी जर पॉइंटर पीटीआर अब पीटीआर क्या कर रहा है शुरुआत में पांच नंबर्स जितनी मेमोरी को स्टोर कर लेगा इनफैक्ट कलॉग का ही यूज करते हैं क्योंकि इनिश इजेशन मुझे अच्छा लगता है तो कैलक के अंदर हमें स्टोर कराना है पांच नंबर के बराबर मेमोरी तो दूसरा साइज ऑफ विंट अब पीटीआर ऑफ 0 को हमने लिख दिया वन पीटीआर ऑफ वन को हमने लिख दिया टू एंड पीटीआर ऑफ 3 को हमने लिख दिया थ अब कोड के बीच में अगर दो और साइज बढ़ाना है तो क्या करेंगे सिंपली पीटीआर इ इक्व टू रि एलॉक इसके अंदर पास करेंगे सबसे पहले पीटीआर और उसके बाद अपना नया साइज नया साइज हमारे पास होने वाला है 8 तो जो मेमोरी पहले पांच नंबर्स को होल्ड कर सकती थी अब वो आठ नंबर्स को होल्ड कर सकती है इनफैक्ट इसके लिए हम कोड लिख लेते हैं कि यह जो नंबर्स है ना यह सारे हम यूजर से एंटर कराएंगे प्रिंट एफ एंटर नंबर्स कितने नंबर्स एंटर कराने शुरुआत में एंटर कराने पांच नंबर तो लूप लगा लेते हैं आई से पाच तक का जीरो से पा तक का और हर किसी में स्कैन कर लेते हैं अपने नंबर्स को परसेंटेज डी एंड पीटीआर ऑफ आई अब जैसे ही ये मेमोरी आठ की हो गई तो उसके बाद दोबारा से स्कैन करना पड़ेगा हमें नंबर्स के लिए और अब हमें आठ नंबर्स जो है एंटर करने पड़ेंगे और एक बार एंटर कर लिया तो अब इन नंबर्स को करा देंगे प्रिंट तो उसके लिए भी एक लूप लिख लेते हैं सेम लूप को दोबारा यूज कर लेंगे प्रिंट एफ से नंबर परसेंटेज डी इज पहले आई तो इसको करते हैं सेव एंड रन हमें पांच नंबर शुरुआत में एंटर करने है तो हम एंटर करेंगे 5 4 3 2 एंड वन अब आठ नंबर्स एंटर करने हैं तो 8 7 6 5 4 3 2 एंड 1 तो ये नंबर्स हमारे लिए प्रिंट होकर आ गए नंबर जीरो इज एट नंबर वन इज सेवन नंबर टू इज सिक्स नंबर थ्री इज फाइव तो ये थोड़ी फॉर्मेटिंग हल्की सी खराब है इसको भी हल्का सा ठीक कर लेते हैं बैक स्लैश एंड शुरुआत में एंटर किए हमने पांच नंबर्स और अब एंटर करने आठ नंबर्स तो ये सारे के सारे आठ नंबर्स आठ मेमोरी लोकेशंस में हमारे पास स्टोर होक आएंगे नेक्स्ट बात करते हैं इस सवाल की क्रिएट एन एरे ऑफ साइज फाइव यूजिंग कैलक एंड एंटर इट्स वैल्यूज फ्रॉम द यूज़र यानी हमें एक कैलक से पांच इंटी जर्स के बराबर साइज़ जो है वह एलोकेट करना है और फिर यूज़र से उन पांच इंटी जर्स की वैल्यू को इनपुट कराना है तो ऑलरेडी काफ़ी सारा जो काम है वह हम कर चुके हैं पहले एक इंटी जर पॉइंटर बनाया फिर उसमें पांच साइज़ इंटी जर की मेमोरी जो है एलोकेट कर दी पांच इंटी जर्स को इनपुट करा लिया एंड इनफैक्ट अब उनको आउटपुट भी करा देते हैं तो यहां लिख देते हैं फाइव तो हमारे नंबर्स हमारे पास आ जाएंगे इसको कर लेते हैं रन एंटर करेंगे पांच नंबर्स 1 3 5 7 9 तो नंबर्स हमारे पास प्रिंट होकर आ गए नेक्स्ट सवाल है एलोकेट मेमोरी टू स्टोर फर्स्ट फाइव ऑड नंबर्स देन री एलोकेटेड टू स्टोर फर्स्ट सिक्स इवन नंबर्स यानी पहले पांच ऑड नंबर्स को स्टोर कराने के लिए मेमोरी लेनी है जिसमें पांच हमारे पास 1 3 5 7 एंड नाइन स्टोर्ड होंगे उसके बाद इस मेमोरी को रिएलोकेट कर देना है यानी दोबारा इसको यूज कर देना है सबसे पहले इसको छह साइज का बनाना है क्योंकि इसमें छह नंबर्स हम स्टोर कराएंगे उसके बाद इसमें शुरुआत के छह इवन नंबर्स की वैल्यूज को स्टोर कराना है तो यह हल्का सा हमारा इंटरेस्टिंग कोड रहेगा सबसे पहले एक इंटी जर पॉइंटर बनाते हैं पीटीआर पीटीआर के अंदर पांच वेरिएबल पांच इंटी जर्स के बराबर मेमोरी कॉम स्टोर करा रहे होंगे तो लिखेंगे इंट स्टार और फिर इसको इनिश इज कर लेते हैं कलॉग के साथ सबसे पहले पास करेंगे पांच उसके बाद साइज ऑफ इंट पीटीआर ऑफ जीरो में हम स्टोर करा देंगे वन को पीटीआर ऑफव में हम स्टोर करा देंगे थ्री एंड सिमिलरली ट थ एंड फर और यहां पे स्टोर करा रहे होंगे अपने ऑड नंबर्स को तो यहां सेन आ गया और यहां आ गया फ अब इसको हम प्रिंट भी कर सकते हैं फॉर इंट आ = 0 i < 5i + प्रिंट एफ स्टेटमेंट परसेंटेज डी ब ए पीटीआर ऑफ 0 एंड इन फैक्ट पीटीआर ऑफ आई तो ये हमने पांच शुरुआत वाले ऑड नंबर स्टोर किए और फिर उनको प्रिंट करवा दिया अब हम क्या करेंगे इस मेमोरी को रिएलोकेट करेंगे मेमोरी को रिएलोकेट करने के लिए लिखेंगे पीटीआर इ इक्वल टू रिलक रिलक के अंदर डालेंगे अपना पुराना पॉइंटर और उसके साथ-साथ नया साइज नया साइज होने वाला है हमारे पास छ और अब हम इसी सेम लोकेशन में प्रिंट करवाएंगे इवन नंबर्स एंड पीटीआर ऑफ 5 12 और सेम वैल्यूज को करा देंगे हम प्रिंट तो इस कोड को एक बार सेव करके रन करते हैं तो सबसे पहले हमारे पास इवन नंबर्स प्रिंट हुए हैं स्क्रीन पे फिर सारे के सारे ऑड नंबर्स प्रिंट हुए हैं स्पेशल चीज क्या देखने को मिली कि जो साइज मतलब पीटीआर ऑफ फाइव जो हम पहले एक्सेस नहीं कर पा रहे थे उसको हम सेम कोड में एक्सेस कर पा रहे हैं ये जो चीज है साइज इंक्रीज करने वाली डिक्रीज करने वाली ये हम एरस के साथ नहीं देख सकते ये सिर्फ देख सकते हैं डायनेमिक डली एलोकेटेड मेमोरी के साथ तो जब ऐसी सिचुएशन अराइज करे कि डायनेमिक हमें मेमोरी एलोकेट करनी है तो उन सिचुएशंस में हमें यूज करना पड़ेगा रि एलॉक का और कौन सी मेमोरी को डायनेमिक एलोकेट कर सकते हैं वो मेमोरी को रिएलोकेट कर सकते हैं जो मैलक या कैलक से डिफाइन हुई थी और एट दी एंड इस मेमोरी को हम कर सकते हैं फ्री बाय यूजिंग फ्री पीटीआर अब इस कोर्स को बनाने में बहुत सारे लोगों की मेहनत लगी है काफी दिन रात जो है इसकी रिकॉर्डिंग हुई है तो आई होप कि सारे के सारे जो चैप्टर्स हैं उनका जो थ्योरी पार्ट है उनके जो नोट्स हैं या फिर जितना भी वीडियो के अंदर एक्स्ट्रा चीजें बताई गई है रिलेटेड टू द एडिटर रिलेटेड टू द टॉपिक वो आप लोगों ने ध्यान से सुनी होंगी उसके नोट्स बनाए होंगे एंड आई होप कि अगर आपके कोई इंटरव्यूज होने वाले हैं आप कोई कॉलेज के टेस्ट होने वाले हैं तो उसमें ये सारी चीजें आपको हेल्प कर रही हूं अब इस कोर्स को खत्म करने के बाद मैंने पूरी कोशिश करी है कि इसको इस तरीके से बनाया गया कि सारे बेसिक कांसेप्ट आपके लिए क्लियर हो गए हैं एंड इनफैक्ट आपने आप एक बार सी सीख लिए ना तो आप किसी भी लैंग्वेज को जाकर सीख सकते हैं सिंटेक्स आपका एक हफ्ते के अंदर कवर हो जाए गा उस लैंग्वेज का क्योंकि सारे बेसिक टॉपिक्स जितने हमने सीखे हैं ना बाकी लैंग्वेजेस में ऐसे ही बेसिक टॉपिक होते हैं बस क्या हो जाता है उनका सिंटेक्स चेंज हो जाता है तो नई लैंग्वेजेस के जो कॉन्सेप्ट्स होंगे वो सीखने में अब आपको कोई परेशानी नहीं आने वाली अब सी एक बार हमने सीख लिया है तो नेक्स्ट स्टेप यूजुअली होता है कि लोग एक नई प्रोग्रामिंग लैंग्वेज सीखते हैं इसके बाद क्योंकि सी के अंदर एक हल्की सी मिसिंग चीज ये है कि इसके अंदर ऑब्जेक्ट ओरिएंटेशन के कॉन्सेप्ट्स नहीं होते तो क्लासेस एंड ऑब्जेक्ट्स यहां पे हम नहीं बना सकते वो सिमिलर टू स्ट्रक्चर्स होती हैं पर उनको हम नहीं बना सकते तो इसीलिए हम c+ प या जावा जैसी लैंग्वेजेस में शिफ्ट करते हैं जिसमें हम जाकर क्लासेस या ऑब्जेक्ट्स को बना सकते हैं अब c+ प का ऑलरेडी एक पूरा प्लेसमेंट के हिसाब से कोर्स बनाया हुआ है और जावा का भी पूरा एक प्लेसमेंट के हिसाब से कोर्स बनाया हुआ है जिसमें काफी एडवांस टॉपिक्स ततक कवर कर रखे हैं यानी बिल्कुल बेसिक से लेकर इंस्टॉलेशन ऑफ एडिटर से लेकर दोबारा c+ प्स के अंदर कैसे वेरिएबल होते हैं जावा के अंदर कैसे वेरिएबल होसे हैं उससे लेकर बिल्कुल एंड तक के डाटा स्ट्रक्चर्स एंड एल्गोरिथम्स तक के टॉपिक कवर कर रखे हैं उन प्लेलिस्ट को जाके हम एक्सप्लोर कर सकते हैं जिस भी लैंग्वेज में हमें आगे बढ़ना है उसमें हम देख सकते हैं अब यूजुअली एक मिथ होता है कि सी के बाद मोस्टली c+ प् ही सीखनी चाहिए आप सी के बाद जावा भी सीख लें c+ प सीख लें जावास्क्रिप्ट सीख लें कोई फर्क नहीं पड़ेगा प्रोग्रामिंग कांसेप्ट आपके लिए सेम होंगे और अगर आपको ये वीडियो अच्छा लगा हो अगर इसका कोई टॉपिक ऐसा है जो आपके साथ आपको लगता है कि आपको याद रहेगा काफी टाइम तक और कोई बहुत ही इंटरेस्टिंग चीज सीखने को मिली है तो उसके बारे में आप नीचे मुझे कमेंट करके बता सकते हैं जितना आप कमेंट करेंगे उतना मुझे पता चलेगा कि कितना वैल्युएबल यह कोर्स रहा और किन-किन स्टूडेंट्स के लिए वैल्युएबल रहा ताकि मैं सिमिलर वीडियोस सिमिलर जो है पढ़ाई वाली टॉपिक्स या डिफरेंट डिफरेंट लैंग्वेजेस वाली चीजें जो है डाल सकूं आज के लिए इतना ही मिलते हैं नेक्स्ट वीडियो में टिल देन कीप लर्निंग एंड कीप प्रैक्टिसिंग
Download Subtitles
These subtitles were extracted using the Free YouTube Subtitle Downloader by LunaNotes.
Download more subtitlesRelated Videos
OOP 5 Subtitles Download - Abstract Classes, Interfaces, Annotations
डाउनलोड करें OOP 5 वीडियो के लिए सटीक सबटाइटल्स और कैप्शंस, जिससे आप Abstract Classes, Interfaces, और Annotations को बेहतर समझ सकें। ये सबटाइटल्स आपकी सीखने की प्रक्रिया को आसान और प्रभावी बनाते हैं।
Download Subtitles for Easy English Conversation Practice Video
Enhance your English speaking and listening skills by downloading accurate subtitles for this 30-minute beginner-friendly video. Subtitles help you follow along, improve comprehension, and reinforce language learning effectively.
OOP Principles Subtitles Download - Inheritance & Polymorphism Explained
डाउनलोड करें इस वीडियो के सबटाइटल्स और समझें ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के मुख्य सिद्धांत जैसे इनहेरिटेंस, पॉलीमॉर्फिज़्म, एनकैप्सुलेशन और अब्सट्रैक्शन। सबटाइटल्स के साथ सीखना आसान और प्रभावी होता है।
Download Java Full Course Subtitles for Free (2025)
Enhance your learning experience with downloadable subtitles for the Java Full Course 2025. Access accurate captions to follow along easily, improve comprehension, and review key concepts at your own pace.
Download Subtitles for CS50x 2026 Lecture 0 - Scratch Video
Access accurate and easy-to-read subtitles for CS50x 2026 Lecture 0 on Scratch programming. Enhance your learning experience and follow along with the lecture content effortlessly by downloading the captions.
Most Viewed
Untertitel für 'Nicos Weg' Deutsch lernen A1 Film herunterladen
Laden Sie die Untertitel für den gesamten Film 'Nicos Weg' herunter, um Ihr Deutschlernen auf A1 Niveau zu unterstützen. Untertitel helfen Ihnen, Wortschatz und Aussprache besser zu verstehen und verbessern das Hörverständnis effektiv.
ดาวน์โหลดซับไตเติ้ล DMD LAND 3 The Final Land Day 1
ดาวน์โหลดซับไตเติ้ลสำหรับวิดีโอ DMD LAND 3 The Final Land Day 1 เพื่อช่วยให้เข้าใจเนื้อหาได้ง่ายขึ้น และเพิ่มความสะดวกในการติดตามทุกช่วงเวลา เหมาะสำหรับผู้ชมที่ต้องการความชัดเจนและเข้าถึงข้อมูลอย่างครบถ้วน
Descarga Subtítulos para NARCISISMO | 6 DE COPAS - Episodio 63
Accede fácilmente a los subtítulos del episodio 63 de '6 DE COPAS', centrado en el narcisismo. Descargar estos subtítulos te ayudará a entender mejor el contenido y mejorar la experiencia de visualización.
Subtítulos para TIPOS DE APEGO | 6 DE COPAS Episodio 56
Descarga los subtítulos para el episodio 56 de la tercera temporada de 6 DE COPAS, centrado en los tipos de apego. Mejora tu comprensión y disfruta del contenido en detalle con nuestros subtítulos precisos y accesibles.
Download Subtitles for Your Favorite Videos Easily
Enhance your video watching experience by downloading accurate subtitles and captions. Enjoy better understanding, accessibility, and language support for all your favorite videos.

