हमें एक सरणी प्रदान की जाती है, और हमें दिए गए सरणी से अग्रणी शून्य को हटाने और फिर सरणी को प्रिंट करने का काम सौंपा जाता है।
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); // size of given array. int last = -1; for(int i = 0; i < n; i++) { // finding the first non zero element if(arr[i] != 0) { last = i; break; } } if(last == -1) cout << "Empty\n"; else { int b[n - last]; // the new array. for(int i = last; i < n; i++) // inserting the elements in the new array b[i-last] = arr[i]; for(int i = 0; i < n-last; i++) // printing the array cout << b[i] << " "; } }
आउटपुट
1 2 0 4
उपरोक्त कोड की व्याख्या
दिए गए प्रोग्राम में, हम सबसे पहले एरे एरर के माध्यम से ट्रैवर्स कर रहे हैं और पहले नॉन-जीरो एलिमेंट के इंडेक्स को ढूंढ रहे हैं, जिसे हम वेरिएबल में स्टोर करते हैं जिसे लास्ट नाउ कहा जाता है यदि ट्रैवर्सल के बाद आखिरी -1 है, तो इसका मतलब है कि हमारा पूरा एरे बना है शून्य, इसलिए हम अपना "खाली" प्रिंट करते हैं।
अब, जैसा कि हमें पहले गैर-शून्य तत्वों का सूचकांक मिला है, हम अपने नए सरणी के आकार को निर्धारित कर सकते हैं, अर्थात (n - अंतिम), और अब हम लूप के लिए अंतिम से n से कम तक चलाते हैं। हम इन तत्वों को नए सरणी में सम्मिलित करते हैं और नए सरणी को प्रिंट करते हैं।
निष्कर्ष
इस लेख में, हम एक सरणी से अग्रणी शून्य को हटाने के लिए एक समस्या का समाधान करते हैं। हमने इस समस्या के लिए C++ प्रोग्राम और हमारे द्वारा हल किए गए संपूर्ण दृष्टिकोण को भी सीखा। हम उसी प्रोग्राम को अन्य भाषाओं जैसे सी, जावा, पायथन और अन्य भाषाओं में लिख सकते हैं। हमें उम्मीद है कि आपको यह लेख मददगार लगा होगा।