অ্যারে একই ডেটা প্রকারের উপাদানগুলির একটি ধারক দৈর্ঘ্য আগে থেকে সংজ্ঞায়িত করা প্রয়োজন। এবং একটি উপাদান যেকোন ক্রমে এবং যেকোন সংখ্যক বার একটি অ্যারেতে উপস্থিত হতে পারে। তাই এই প্রোগ্রামে আমরা এমন উপাদানগুলি খুঁজে পাব যা একটি অ্যারেতে একাধিকবার প্রদর্শিত হয়৷
সমস্যা বর্ণনা − আমরা একটি অ্যারে অ্যারে [] দিয়েছি যেখানে আমাদের খুঁজে বের করতে হবে যে কোন উপাদানটি অ্যারেতে পুনরাবৃত্তি করছে সেগুলি প্রিন্ট করার জন্য৷
এটি আরও ভালভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক।
উদাহরণ,
Input: arr[] = {5, 11, 11, 2, 1, 4, 2} Output: 11 2
ব্যাখ্যা
আমাদের একটি অ্যারে অ্যারে রয়েছে যাতে কিছু উপাদান রয়েছে প্রথমে আমরা ডুপ্লিকেট ফাংশনের পরবর্তী উপাদান থেকে উপাদানটির তুলনা করব যা অ্যারেতে পুনরাবৃত্তি করা উপাদান খুঁজে পেতে ব্যবহৃত হয়। ডুপ্লিকেট ফাংশনে আমরা লুপ ব্যবহার করছি প্রদত্ত অ্যারের ডুপ্লিকেট উপাদানগুলি খুঁজে বের করার জন্য আমরা ব্যবহার করব যদি অ্যারে উপাদান থেকে অ্যারের উপাদানগুলির গণনা একবার পরীক্ষা করার জন্য শর্ত থাকে তবে একবারের বেশি হলে গণনা হবে 1। গণনা যথাক্রমে বৃদ্ধি করা হবে যদি গণনা 1 এর বেশি হয় তাহলে উপাদানটি স্ক্রিনে প্রিন্ট করা হবে।
অ্যালগরিদম
Input : arr[], n the length of array. Step 1 : For i -> 0 to n, Follow step 2, Step 2 : For each element of the array. Do : Step 2.1 : For j -> i to n repeat step 2.2 - 2.3. Step 2.2 : if (arr[i] == arr[j]) -> print arr[i] Step 2.3 : else {// do nothing}
উদাহরণ
#include <stdio.h> int main() { int arr[] = {21, 87, 212, 109, 41, 21}; int n=7; printf("The repeat elements of the array are : "); int *count = (int *)calloc(sizeof(int), (n - 2)); int i; for (i = 0; i < n; i++) { if (count[arr[i]] == 1) printf(" %d ", arr[i]); else count[arr[i]]++; } return 0; }
আউটপুট
The repeat elements of the array are : 21