কম্পিউটার

অ্যারে বিষয়বস্তু এলোমেলো করুন


এই অ্যালগরিদমটি একটি অ্যারে নেবে এবং অ্যারের বিষয়বস্তুগুলিকে এলোমেলো করবে৷ এটি অ্যারের উপাদানগুলির একটি র্যান্ডম স্থানান্তর তৈরি করবে৷

এই সমস্যা সমাধানের জন্য, আমরা শেষ সূচক থেকে শুরু করে অ্যারেতে এলোমেলোভাবে একটি সূচক তৈরি করতে উপাদানগুলিকে অদলবদল করব৷

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

Input:
An array of integers: {1, 2, 3, 4, 5, 6, 7, 8}
Output:
Shuffle of array contents: 3 4 7 2 6 1 5 8 (Output may differ for next run)

অ্যালগরিদম

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

উদাহরণ

#include <iostream>
#include<cstdlib>
#include <ctime>
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 ) {           //generate random array element
   srand (time(NULL));                 //use time to get different seed value to start
   for (int i = n-1; i > 0; i--) {
      int j = rand() % (i+1);           //randomly choose an index from 0 to i
      swap(arr[i], arr[j]);            //swap current element with element placed in jth location
   }
}

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. অ্যারের পণ্যের জন্য সি প্রোগ্রাম

  2. C-তে একটি বিন্যাসে রেঞ্জের পণ্য

  3. একটি C++ ফাংশনে একটি অ্যারে পাস করা

  4. পাইথনে একটি অ্যারে এলোমেলো করুন