কম্পিউটার টিউটোরিয়াল

অ্যারে থেকে এলিমেন্ট মুছে ফেলা: দুই ট্রভার্সাল এবং এক ট্রভার্সাল C++-এ


দুই ট্রভার্সাল

প্রথমে মূল অ্যারে এবং খুঁজে বের করে ডিলিট করার জন্য এলিমেন্ট সংজ্ঞায়িত করা হয়।

int ele = 5;
int arr[] = {1,2,3,4};

এখন অ্যারেতে লুপ চালিয়ে দেওয়া এলিমেন্টটি খুঁজে বের করা হয়।

for (i=0; i<length; i++)
    if (arr[i] == ele) break;

যদি এলিমেন্টের পজিশন পাওয়া যায় তবে ডান পাশের এলিমেন্টগুলো বাম দিকে শিফট করা হয়।

if (i < length) {
    length--;
    for (int j=i; j<length; j++)
        arr[j] = arr[j+1];
}

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    int arr[] = {11, 15, 6, 8, 9, 10};
    int length = sizeof(arr)/sizeof(arr[0]);
    int ele = 6;
    int i;
    for (i=0; i<length; i++)
        if (arr[i] == ele) break;
    if (i < length) {
        length--;
        for (int j=i; j<length; j++)
            arr[j] = arr[j+1];
    }
    cout << "The array after deletion is " << endl;
    for (int i=0; i<length; i++)
        cout << arr[i] << " ";
    return 0;
}

আউটপুট

The array after deletion is 11 15 8 9 10

এক ট্রভার্সাল

প্রথমে মূল অ্যারে এবং খুঁজে বের করে ডিলিট করার জন্য এলিমেন্ট সংজ্ঞায়িত করা হয়।

int ele = 15;
int arr[] = {11,15,6,8,9,10};

দুই ভেরিয়েবল ডিক্লেয়ার করা হয়: বুলিয়ান found যা নির্দেশ করে এলিমেন্ট পাওয়া গেছে কিনা এবং ইন্টিজার pos যা পাওয়া গেলে পজিশন স্টোর করে।

bool found = false;
int pos = -1;

এখন অ্যারে সার্চ করা হয় এবং যদি এলিমেন্ট পাওয়া যায় তবে এর পজিশন স্টোর করে এবং একই লুপে এলিমেন্টগুলো শিফট করা হয়।

for (int i=0; i<length; i++) {
    if(pos != -1) {
        arr[pos] = arr[pos+1];
        pos++;
    }
    else if(arr[i] == ele) {
        pos = i;
        found = true;
    }
}

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    int arr[] = {11, 15, 6, 8, 9, 10};
    int length = sizeof(arr)/sizeof(arr[0]);
    int ele = 6;
    bool found = false;
    int pos = -1;
    for (int i=0; i<length; i++) {
        if(pos != -1) {
            arr[pos] = arr[pos+1];
            pos++;
        }
        else if(arr[i] == ele) {
            pos = i;
            found = true;
        }
    }
    cout << "The array after deletion is " << endl;
    if(found) {
        length--;
    }
    for (int i=0; i<length; i++)
        cout << arr[i] << " ";
    return 0;
}

আউটপুট

The array after deletion is 11 15 8 9 10

  1. C++-এ পিথ্রেডস (pthreads) ব্যবহার করে খুব বড় অ্যারেতে সর্বোচ্চ উপাদান

  2. অ্যারে থেকে দুটি সংখ্যা বানিয়ে ন্যূনতম যোগফল (C++)

  3. সি++ প্রোগ্রাম: কন্ডিশনাল অপারেটর ছাড়া অ্যারেতে সর্বোচ্চ উপাদান নির্ণয়

  4. C++ STL-এ accumulate দিয়ে অ্যারে প্রোডাক্ট বের করা