সমস্যা
দুটি লুপ ব্যবহার করে অ্যারেতে অ-পুনরাবৃত্ত (non-repeating) এলিমেন্ট খুঁজে বের করুন। একটি লুপ করেন্ট এলিমেন্টের জন্য এবং অন্যটি চেক করার জন্য যে এলিমেন্টটি ইতিমধ্যে অ্যারেতে আছে কিনা।
সমাধান
নিচের উদাহরণটি বিবেচনা করুন:
১৫, ১৫, ১৬, ১৫, ১৩, ১৫
এখানে, অ্যারেতে অ-পুনরাবৃত্ত এলিমেন্টগুলো হলো ১৬ এবং ১৩।
অ্যালগরিদম
অ্যারেতে অনন্য বা অ-পুনরাবৃত্ত এলিমেন্ট খুঁজে বের করার অ্যালগরিদম নিচে দেওয়া হলো:
স্টেপ ১ - একটি অ্যারে ঘোষণা করুন এবং রানটাইমে অ্যারে এলিমেন্টগুলো ইনপুট নিন।
স্টেপ ২ - অ্যারে ট্রুভার্স শুরু করুন এবং চেক করুন করেন্ট এলিমেন্টটি ইতিমধ্যে অ্যারেতে আছে কিনা।
স্টেপ ৩ - যদি এটি ইতিমধ্যে অ্যারেতে থাকে, তবে অ্যারেতে পরবর্তী এলিমেন্টে যান এবং চালিয়ে যান।
স্টেপ ৪ - যদি না থাকে, তবে এলিমেন্টটি অ-পুনরাবৃত্ত এলিমেন্ট হিসেবে আউটপুট করুন।
উদাহরণ
অ্যারেতে অনন্য বা অ-পুনরাবৃত্ত এলিমেন্ট খুঁজে বের করার C প্রোগ্রাম:
#include <stdio.h> #include <stdlib.h> int uniqueEle(int array[], int n){ int i,j; int count = 1; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ if(array[i] == array[j] && i != j) break; } if(j == n ){ printf("\nunique elements in an array is [%d] : %d \n",count,array[i]); ++count; } } return -1; } int main(){ int n,i; printf("\nEnter no: of elements : "); scanf("%d",&n); int array[n]; printf("\nenter the array elements : "); for(i = 0; i < n; i++){ scanf("%d",&array[i]); } uniqueEle(array, n); return 0; }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
Run 1: Enter no: of elements: 5 enter the array elements : 11 11 15 16 13 unique elements in an array is [1] : 15 unique elements in an array is [2] : 16 unique elements in an array is [3] : 13 Run 2: Enter no: of elements: 4 enter the array elements : 11 12 11 11 unique elements in an array is [1] : 12