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

অ্যারে কন্টেন্ট শাফেল করা

এই অ্যালগরিদম একটি অ্যারে নেবে এবং এর কন্টেন্ট শাফেল করবে। এটি অ্যারে এলিমেন্টের একটি র‍্যান্ডম পারমুটেশন জেনারেট করবে।

এই সমস্যা সমাধান করতে, আমরা লাস্ট ইন্ডেক্স থেকে শুরু করে এলিমেন্ট সোয়াপ করব র‍্যান্ডমলি জেনারেট করা একটি ইন্ডেক্সের সাথে।

ইনপুট এবং আউটপুট

ইনপুট: একটি ইন্টিজার অ্যারে: {1, 2, 3, 4, 5, 6, 7, 8}
আউটপুট: অ্যারে কন্টেন্ট শাফেল: 3 4 7 2 6 1 5 8 (নেক্সট রানে আউটপুট ভিন্ন হতে পারে)

অ্যালগরিদম

randomArr(array, n)

ইনপুট: অ্যারে, এলিমেন্ট সংখ্যা।

আউটপুট: অ্যারের কন্টেন্ট শাফেল করুন।

Begin
    for i := n – 1 down to 1, do
        j := random number from 0 to i
        swap arr[i] and arr[j]
    done
End

উদাহরণ (C++)

#include 
#include 
#include 
using namespace std;
void display(int array[], int n) {
    for (int i = 0; i < n; i++)
        cout << array[i] << " ";
}
void randomArr(int arr[], int n) {
    srand(time(NULL));
    for (int i = n-1; i > 0; i--) {
        int j = rand() % (i+1);
        swap(arr[i], arr[j]);
    }
}
int main() {
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
    int n = 8;
    randomArr(arr, n);
    display(arr, n);
}

আউটপুট

4 7 8 2 6 3 5 1
  1. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  2. C প্রোগ্রাম: অ্যারে রেঞ্জের গুণফল মডুলো P-এ

  3. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)

  4. পাইথনে অ্যারে শাফল করা