এই টিউটোরিয়ালে আমরা শিখব কিভাবে দুটি লুপ এবং এক লুপ ব্যবহার করে একটি উপাদান ডিলিট করা যায়। আমাদের উপাদানটি ডিলিট করতে হবে না। আমরা শুধু ডিলিট হচ্ছে উপাদানকে পরের উপাদানগুলো দিয়ে রিপ্লেস করব।
দুই ট্রাভার্সাল
দুটি লুপ ব্যবহার করে অ্যারে থেকে উপাদান ডিলিট করার ধাপগুলো:
অ্যারে এবং ডিলিট করার উপাদান ইনিশিয়ালাইজ করুন।
উপাদান ডিলিট করার ফাংশন লিখুন।
অ্যারেতে ইটারেট করে উপাদানটি খুঁজুন।
যদি উপাদানটি পাওয়া যায়, লুপ ব্রেক করুন।
যদি উপাদানটি পাওয়া যায়, অ্যারের সাইজ কমান।
সব উপাদানকে তাদের আগের ইন্ডেক্সে সরিয়ে আনুন।
অ্যারের নতুন সাইজ রিটার্ন করুন।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
#include <bits/stdc++.h> using namespace std; int searchAndDeleteElement(int arr[], int n, int k) { int i; // searching for the element for (i = 0; i < n; i++) { if (arr[i] == k) { break; } } // if the element is present if (i < n) { // moving all the elements to previous index after k n = n - 1; for (int j = i; j < n; j++) { arr[j] = arr[j+1]; } } // returning updated index return n; } int main() { int n = 6, k = 4; int arr[] = {1, 2, 3, 4, 5, 6}; int updatedLength = searchAndDeleteElement(arr, n, k); // printing the array for (int i = 0; i < updatedLength; i++) { cout << arr[i] << " "; } cout << endl; return 0; }আউটপুট
উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:
1 2 3 5 6
এক ট্রাভার্সাল
এক লুপ ব্যবহার করে অ্যারে থেকে উপাদান ডিলিট করার ধাপগুলো:
অ্যারে এবং ডিলিট করার উপাদান ইনিশিয়ালাইজ করুন।
উপাদান ডিলিট করার ফাংশন লিখুন।
অ্যারেতে ইটারেট করে উপাদানটি খুঁজুন।
যদি উপাদানটি পাওয়া যায়, স্টেটমেন্ট স্কিপ করুন।
সব উপাদানকে তাদের আগের ইন্ডেক্সে সরিয়ে আনুন।
যদি উপাদানটি পাওয়া যায়, তবে n - 1 রিটার্ন করুন অন্যথায় n রিটার্ন করুন।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
#include <bits/stdc++.h> using namespace std; int searchAndDeleteElement(int arr[], int n, int k) { // checking for the last element if (arr[n-1] == k) { return n - 1; } bool isElementFound = false; for (int i = 0; i < n; i++) { // checking for k if (arr[i] == k && !isElementFound) { isElementFound = true; continue; } // if the element is already found move all the element to their previous indexes if (isElementFound) { arr[i-1] = arr[i]; } } // returning updated n if (isElementFound) { return n - 1; } return n; } int main() { int n = 6, k = 4; int arr[] = {1, 2, 3, 4, 5, 6}; int updatedLength = searchAndDeleteElement(arr, n, k); // printing the array for (int i = 0; i < updatedLength; i++) { cout << arr[i] << " "; } cout << endl; return 0; }আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:
1 2 3 5 6
উপসংহার
টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।