প্রদত্ত অ্যারের সাথে কাজটি হল একটি ফাংশন তৈরি করা যা পয়েন্টারকে পূর্ণসংখ্যা ফাংশন পয়েন্টারগুলির একটি অ্যারেতে ফিরিয়ে দেবে।
এর জন্য আমরা দুটি মান ইনপুট করব এবং একটি ফাংশন কল করব যা দুটি মান এবং ফাংশন পয়েন্টার উভয়ের তুলনা করে যা বড় মানের মেমরি ঠিকানা ফেরত দেয় এবং ফলস্বরূপ এটি প্রিন্ট করে। ফাংশন পয়েন্টার বিভিন্ন সময়ে বিভিন্ন ফাংশনের ঠিকানা পাস করতে ব্যবহৃত হয় এইভাবে ফাংশনটিকে আরও নমনীয় এবং বিমূর্ত করে তোলে। সুতরাং ফাংশন পয়েন্টারগুলি রান-টাইম মানগুলির উপর ভিত্তি করে কার্যকর করার জন্য একটি ফাংশন নির্বাচন করার একটি সহজ উপায় প্রদান করে কোডকে সরল করতে ব্যবহার করা যেতে পারে৷
ফাংশনের ব্যাখ্যা বড়()
প্রোগ্রামটি বড়( ) ফাংশনের রেফারেন্স দ্বারা দুটি পূর্ণসংখ্যা পাস করে যা এতে পাস করা দুটি পূর্ণসংখ্যার মান তুলনা করে এবং বড় মানের মেমরি ঠিকানা প্রদান করে। big( ) এর রিটার্ন মানটি পূর্ণসংখ্যার প্রকারের যা একটি নন-জিরো এবং শূন্য মানও হতে পারে।
উদাহরণস্বরূপ
ইনপুট − 7 13
আউটপুট − বড় মান হল 13
ইনপুট −8 6
আউটপুট − বড় মান হল 8
ব্যাখ্যা − আমাদের দুটি পূর্ণসংখ্যার মান ছিল এবং তুলনা করার পরে, পয়েন্টারটি দুটির মধ্যে সবচেয়ে বড় মানের মেমরি ঠিকানা ফিরিয়ে দেবে৷
পদ্ধতি যা অনুসরণ করা যেতে পারে
- ইন্টেজার পয়েন্টার ধরুন, ধরা যাক, int *c.
- তারপর দুটি পূর্ণসংখ্যা ভেরিয়েবল শুরু করুন।
- এর পর আমরা দুটি মান ইনপুট করব।
- প্রদত্ত দুটি মান তুলনা করুন।
- শেষ পয়েন্টারে *c বড় মানের ঠিকানা ফেরত দিন।
অ্যালগরিদম
Start STEP 1-> Create the function and pass the argument. Int *big(int &, int &) END STEP 2-: call the main() function for entering and printing two values and initialize the pointer *c. int a, b, *c call c= big(a,b) print c END STEP 3-> compare the two Integer values passed to it and returns the memory address of the bigger value through pointer c. Comparing If(x>y) return(&x) else return(&y) END STOP
উদাহরণ
#include<iostream.h> Int *big(int&, int&); Int main( ){ Int a, b, *c; c= big(4, 7); cout<<”The bigger value is”<<*c<<”\n”; return 0; } Int *big(int&x, int&y){ If(x>y) return(&x); else return(&y); }
আউটপুট
যদি আমরা উপরের প্রোগ্রামটি রান করি তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে
The bigger value is 7 The bigger value is 5