हमें एक ऐरे प्रदान किया गया है, और हमें दिए गए ऐरे से लीडिंग जीरो को हटाकर ऐरे को प्रिंट करने का कार्य दिया गया है।
Input : arr[] = {0, 0, 0, 1, 2, 3} Output : 1 2 3 Input : arr[] = {0, 0, 0, 1, 0, 2, 3} Output : 1 0 2 3दिए गए समस्या में हम एक नया ऐरे बना सकते हैं जिसमें पिछले ऐरे के लीडिंग जीरो न हों।
समाधान खोजने का दृष्टिकोण
इस दृष्टिकोण में, हम ऐरे के माध्यम से जाएंगे और सभी नंबर डालेंगे लेकिन कोई लीडिंग जीरो नहीं।
उदाहरण
#include <iostream> using namespace std; int main() { int arr[] = {0, 0, 0, 1, 2, 0, 4}; int n = sizeof(arr) / sizeof(int); // दिए गए ऐरे का आकार। int last = -1; for(int i = 0; i < n; i++) { // पहला नॉन-जीरो एलिमेंट ढूंढना if(arr[i] != 0) { last = i; break; } } if(last == -1) cout << "Empty\n"; else { int b[n - last]; // नया ऐरे। for(int i = last; i < n; i++) // नए ऐरे में एलिमेंट्स डालना b[i-last] = arr[i]; for(int i = 0; i < n-last; i++) // ऐरे प्रिंट करना cout << b[i] << " "; } }आउटपुट
1 2 0 4
उपरोक्त कोड की व्याख्या
दिए गए प्रोग्राम में, हम सबसे पहले ऐरे arr के माध्यम से ट्रैवर्स कर रहे हैं और पहले नॉन-जीरो एलिमेंट का इंडेक्स ढूंढ रहे हैं, जिसे हम last नामक वेरिएबल में स्टोर करते हैं अब यदि ट्रैवर्सल के बाद last -1 है, तो इसका मतलब है कि हमारा पूरा ऐरे जीरो से बना है, इसलिए हम "Empty" प्रिंट करते हैं।
अब, जैसा कि हमें पहले नॉन-जीरो एलिमेंट्स का इंडेक्स मिल गया है, हम अपने नए ऐरे का आकार निर्धारित कर सकते हैं, यानी (n - last), और अब हम last से n से कम तक एक फॉर लूप चलाते हैं। हम इन एलिमेंट्स को नए ऐरे में डालते हैं और नए ऐरे को प्रिंट करते हैं।
निष्कर्ष
इस लेख में, हम ऐरे से लीडिंग जीरो हटाने की समस्या को हल करते हैं। हमने इस समस्या के लिए C++ प्रोग्राम और पूर्ण दृष्टिकोण भी सीखा जिसे हमने हल किया। हम इसी प्रोग्राम को C, Java, Python और अन्य भाषाओं में लिख सकते हैं। आशा है कि आपको यह लेख उपयोगी लगा होगा।