সমস্যা
একটি অ্যারের ধরণ খুঁজে পেতে একটি সি প্রোগ্রাম লিখুন যা আমাদের পরীক্ষা করতে হবে, একটি অ্যারের প্রদত্ত উপাদানগুলি জোড় সংখ্যা বা বিজোড় সংখ্যা বা পয়েন্টার ব্যবহার করে উভয়ের সংমিশ্রণ কিনা৷
সমাধান
ব্যবহারকারীকে পূর্ণসংখ্যার একটি অ্যারে প্রবেশ করতে হবে, তারপর, অ্যারের ধরণটি প্রদর্শন করতে হবে।
উদাহরণ 1 − ইনপুট:5 3 1, আউটপুট:বিজোড় অ্যারে
উদাহরণ 2 − ইনপুট:2 4 6 8, আউটপুট:এমনকি অ্যারে
উদাহরণ 3 − ইনপুট:1 2 3 4 5, আউটপুট:মিশ্র অ্যারে
অ্যালগরিদম
পয়েন্টারগুলির সাহায্যে ব্যবহারকারীর দ্বারা প্রবেশ করা অ্যারের প্রকার খুঁজে পেতে নীচে দেওয়া একটি অ্যালগরিদম পড়ুন৷
ধাপ 1:রানটাইমে অ্যারের আকার পড়ুন।
ধাপ 2:অ্যারের উপাদানগুলি ইনপুট করুন৷
ধাপ 3:পয়েন্টার ভেরিয়েবল ঘোষণা করুন।
ধাপ 3:পয়েন্টার ভেরিয়েবল ব্যবহার করে অ্যারের সমস্ত উপাদান বিজোড় কিনা তা পরীক্ষা করুন।
তারপর, "বিজোড়" প্রিন্ট করুন।
ধাপ 4:পয়েন্টার ভেরিয়েবল ব্যবহার করে অ্যারের সমস্ত উপাদান সমান কিনা তা পরীক্ষা করুন।
তারপর, "ইভেন" প্রিন্ট করুন।
ধাপ 5:অন্যথায়, "মিশ্র" প্রিন্ট করুন।
উদাহরণ
পয়েন্টার −
এর সাহায্যে ব্যবহারকারীর দ্বারা প্রবেশ করা অ্যারের ধরন খুঁজে বের করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল#include<stdio.h> #include<stdlib.h> int*createArray (int); void readArray(int,int *); int findType(int , int *); int main(){ int *a,n,c=0,d=0; printf("Enter the size of array\n"); scanf("%d",&n); printf("Enter the elements of array\n"); createArray(n); readArray(n,a); findType(n,a); return 0; } int *createArray(int n){ int *a; a=(int*)malloc(n*sizeof(int)); return a; } void readArray(int n,int *a){ for(int i=0;i<n;i++){ scanf("%d",a+i); }} int findType(int n, int *a){ int c=0,d=0; for(int i=0;i<n;i++){ if(a[i]%2==0){ c++; } else{ d++; }} if(c==n){ printf("The array type is Even\n"); } if(d==n){ printf("The array type is Odd\n"); } if(c!=n && d!=n){ printf("The array type is Mixed\n"); } return 0; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত আউটপুট তৈরি করে −
Enter the size of array 4 Enter the elements of array 12 14 16 18 The array type is Even