কিভাবে C++ এ একাধিক মান ফেরত দেওয়া যায়

Kibhabe C E Ekadhika Mana Pherata De Oya Yaya



C++ ভাষা আমাদের অনেক বৈশিষ্ট্য প্রদান করে এবং আমাদের প্রোগ্রামিংকে অনেক সহজ করে তোলে। কিন্তু কখনও কখনও, C++ প্রোগ্রামিং এর সাথে কাজ করার সময় আমাদের একাধিক মান ফেরত দিতে হবে। দুর্ভাগ্যবশত, C++ এই বৈশিষ্ট্যটি দিয়ে আমাদের সুবিধা দেয় না। C++ এ একাধিক মান ফেরত দিতে, আমাদের অবশ্যই বিভিন্ন কৌশল ব্যবহার করতে হবে। আমরা টিপলস/পেয়ার, পয়েন্টার এবং অ্যারে ব্যবহার করে C++ এ একাধিক মান ফেরত দিতে পারি। আমরা কোড এবং ব্যাখ্যা সহ এই গাইডে এই সমস্ত কৌশলগুলি পুঙ্খানুপুঙ্খভাবে অধ্যয়ন করব।

উদাহরণ 1: টিপল/জোড়া ব্যবহার করা

C++ এ একাধিক মান ফেরত দেওয়ার জন্য কিছু ব্যবহারিক প্রদর্শন করা যাক। এখানে, আমরা আমাদের কোডে একাধিক মান ফেরাতে সাহায্য করার জন্য tuples/pairs কৌশলগুলি ব্যবহার করি। C++ বিভিন্ন হেডার ফাইল প্রদান করে যা আমাদের কোডে অন্তর্ভুক্ত করতে হবে। আমরা এখানে “bits/stdc++.h” অন্তর্ভুক্ত করি কারণ এতে C++ প্রোগ্রামিং এর সমস্ত লাইব্রেরি রয়েছে। তারপর, এখানে নামস্থান যোগ করা হয়েছে যা হল “std”। এর পরে, আমরা 'টুপল' কীওয়ার্ডটি ব্যবহার করি যেখানে আমরা তিনটি ডেটা টাইপ, দুটি ফ্লোট ডেটা টাইপ এবং অবশিষ্ট একটি 'চার' ডেটা টাইপ রাখি। এটির নীচে, আমরা একটি টিপল ফেরত দেওয়ার জন্য মানগুলি প্যাক করতে 'রিটার্ন' কীওয়ার্ডটি ব্যবহার করি।

এখন, আমরা একাধিক মান ফেরত দিতে 'জোড়া' পদ্ধতি ব্যবহার করি। এই 'পেয়ার' পদ্ধতিতে, আমরা দুটি ভেরিয়েবলের ডেটা টাইপ রাখি, এবং দুটিই এখানে 'ফ্লোট'। ভেরিয়েবলের নাম 'float_1' এবং 'float_2'। তারপর, আমরা 'জোড়া' এ ফিরে যাওয়ার জন্য দুটি মান প্যাক করি। এর পরে, আমরা এখানে 'main()' চালু করি এবং তারপর 'f_1, f_2' নামের দুটি 'float' ভেরিয়েবল ঘোষণা করি। 'char' ভেরিয়েবলটিকে এখানে 'myChar' হিসাবেও ঘোষণা করা হয়েছে। তারপর, আমরা 'My_Tuple()' ফাংশন দ্বারা ফেরত দেওয়া মানগুলি আনপ্যাক করি।







এর নীচে, আমরা প্রত্যাবর্তিত মানগুলি জোড়ায় সংরক্ষণ করি। আমরা 'My_Tuple' ফাংশনে '4.99, 8.98' এবং 'My_Pair' ফাংশনে '6.86, 3.22' সংরক্ষণ করি। তারপর, আমরা 'cout' ব্যবহার করি যা এর ভিতরে লেখা সমস্ত তথ্য মুদ্রণ করে।



কোড 1:



#include
ব্যবহার নামস্থান std ;
টিপল < ভাসা , ভাসা , চর > আমার_টুপল ( ভাসা f_1, ভাসা f_2 ) {
ফিরে make_tuple ( f_2, f_1, '$' ) ;
}
জোড়া < ভাসা , ভাসা > আমার_জোড়া ( ভাসা f_a, ভাসা f_b ) {
ফিরে make_pair ( f_b, f_a ) ;
}
int প্রধান ( ) {
ভাসা f_1, f_2 ;
চর মাইচার ;
টাই ( f_1, f_2, myChar ) = আমার_টুপল ( ৪.৯৯ , ৮.৯৮ ) ;
pair new_p = আমার_জোড়া ( ৬.৮৬ , 3.22 ) ;
cout << 'মান আমরা টিপল দ্বারা পাই :' ;
cout << f_1 << '' << f_2 << '' << মাইচার << endl ;
cout << 'মান আমরা পেয়ার দ্বারা পাই:' ;
cout << new_p প্রথম << '' << new_p. দ্বিতীয় ;
ফিরে 0 ;
}

আউটপুট :





'টুপলস' এবং 'পেয়ার' পদ্ধতি ব্যবহার করে আমরা এখানে যে মানগুলি পেয়েছি তা নীচে প্রদর্শিত হয়েছে। মনে রাখবেন যে এটি এখানে একাধিক মান প্রদান করে।



উদাহরণ 2: পয়েন্টার ব্যবহার করা

আমরা এখানে 'তুলনা' ফাংশনে তাদের ঠিকানা সহ প্যারামিটারগুলি পাস করি। আমরা “int” টাইপের “value_1” এবং “value_2” এবং “int* g_Address, int*s_Address” যোগ করি। এর পরে, আমরা 'যদি' শর্তটি ব্যবহার করি যেখানে আমরা একটি শর্ত যুক্ত করি যে 'মান_1' 'মান_2' এর চেয়ে বড়। এটি সন্তুষ্ট হলে, নিম্নলিখিত বিবৃতিটি কার্যকর করা হয়। যদি এটি না হয়, এটি নীচে যোগ করা বিবৃতিটিকে উপেক্ষা করে এবং 'অন্য' অংশের দিকে চলে যায়। এখন, “main()” চালু করার পর, আমরা “g_value”, “s_value”, “newValue1”, এবং “newValue2” নামের চারটি নতুন ভেরিয়েবল ঘোষণা করি।

এর পরে, আমরা সংখ্যাগুলি প্রবেশ করার জন্য একটি বার্তা প্রিন্ট করি এবং তারপরে 'cin' রাখি যা ব্যবহারকারীর কাছ থেকে দুটি মান পায়। ব্যবহারকারী যে মানগুলি প্রবেশ করে তা যথাক্রমে 'newValue1' এবং 'newValue2' ভেরিয়েবলে সংরক্ষিত হয়। এর পরে, আমরা 'তুলনা()' ফাংশনকে কল করি যা আমরা আগে তৈরি করেছি এবং এতে চারটি প্যারামিটার পাস করি। তারপরে, আমরা 'তুলনা' ফাংশন সম্পাদন করার পরে ফলাফল প্রদর্শন করি এবং এটি ব্যবহারকারীর প্রবেশ করা সংখ্যাগুলি থেকে বৃহত্তর সংখ্যা এবং ছোট সংখ্যা দেখায়।

কোড 2:

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
অকার্যকর তুলনা করা ( int মান_1, int মান_২, int * g_ঠিকানা, int * s_ঠিকানা )
{
যদি ( মান_1 > মান_2 ) {
* g_ঠিকানা = মান_1 ;
* s_ঠিকানা = মান_2 ;
}
অন্য {
* g_ঠিকানা = মান_2 ;
* s_ঠিকানা = মান_1 ;
}
}
int প্রধান ( )
{
int g_value, s_value, newValue_1, newValue_2 ;
cout << 'দুটি সংখ্যা লিখুন: ' <> newValue_1 >> newValue_2 ;
তুলনা করা ( newValue_1, newValue_2, এবং g_value, এবং s_value ) ;
cout << ' \n বৃহত্তর সংখ্যা হল ' << g_value << 'এবং ছোট সংখ্যা হল'
<< s_value ;
ফিরে 0 ;
}

আউটপুট :
ব্যবহারকারী এখানে '86' এবং '23' লিখছেন। 'এন্টার' চাপার পরে, এটি ফলাফল প্রদর্শন করে। এই ভাবে, আমরা একাধিক মান পেতে.

উদাহরণ 3: অ্যারে ব্যবহার করা

আমরা এখানে 'ComputeComparison()' ফাংশন তৈরি করি যেখানে আমরা 'int' টাইপ হিসাবে দুটি ভেরিয়েবল, 'num_1' এবং 'num_2' এবং 'my_arr[]' নামে একটি অ্যারে সন্নিবেশ করি। এর পরে, আমাদের কাছে 'if' শর্ত রয়েছে যা পরীক্ষা করে যে 'num_1' 'num_2' এর চেয়ে বড় কিনা। যদি এটি সত্য হয়, তাহলে 'সংখ্যা_1' 'my_arr[0]'-এ বরাদ্দ করা হয়েছে এবং 'num_2' 'my_arr[1]'-এ বরাদ্দ করা হয়েছে। কিন্তু শর্তটি সত্য না হলে, “else”-এর পরের বিবৃতিগুলি কার্যকর করা হয় যেখানে আমরা “num_2” কে “my_arr[0]” এবং “num_1” কে “my_arr[1]” বরাদ্দ করি।

এর পরে, আমরা এখানে “main()” কল করি এবং তারপরে আরও দুটি int ভেরিয়েবল ঘোষণা করি: “newNum_1” এবং “newNum_2”। এর পরে, '2' আকারের একটি অ্যারে ঘোষণা করা হয়। এর পরে, আমরা 'cin' এর সাহায্যে ব্যবহারকারীর কাছ থেকে দুটি নম্বর পাই এবং তারপরে 'ComputeComparison()' ফাংশনটি কল করি এবং নিম্নলিখিত ফলাফলটি প্রদর্শন করি। সুতরাং, এটি এখানে একাধিক মান প্রদান করে।

কোড 3:

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
অকার্যকর কম্পিউট তুলনা ( int সংখ্যা_1, int সংখ্যা_২, int my_arr [ ] )
{

যদি ( সংখ্যা_1 > সংখ্যা_২ ) {
my_arr [ 0 ] = সংখ্যা_1 ;
my_arr [ 1 ] = সংখ্যা_২ ;
}
অন্য {
my_arr [ 0 ] = সংখ্যা_২ ;
my_arr [ 1 ] = সংখ্যা_1 ;
}
}

int প্রধান ( )
{
int newNum_1, newNum_2 ;
int my_arr [ 2 ] ;

cout << 'তুলনার জন্য অনুগ্রহ করে দুটি সংখ্যা লিখুন' <> newNum_1 >> newNum_2 ;
কম্পিউট তুলনা ( newNum_1, newNum_2, my_arr ) ;
cout << ' \n বৃহত্তর সংখ্যা হল ' << my_arr [ 0 ] << ' এবং '
'ছোট সংখ্যা হল' << my_arr [ 1 ] ;

ফিরে 0 ;
}

আউটপুট :
আমরা এখানে '54' এবং '98' উভয় টাইপ করি এবং তারপর ফলাফল প্রদর্শন করতে 'Enter' টিপুন। আমরা যে সংখ্যাগুলি প্রবেশ করিয়েছি তা থেকে এটি বৃহত্তর এবং ছোট সংখ্যাগুলি দেখায়।

উদাহরণ 4: Tuples ব্যবহার

দুটি হেডার ফাইল এখানে অন্তর্ভুক্ত করা হয়েছে: 'টুপল' এবং 'iostream'। এর পরে, 'std' নামস্থান এখানে রাখা হয়েছে। এর পরে, আমরা 'টুপল' কীওয়ার্ড ব্যবহার করি এবং দুটি ডেটা প্রকার সন্নিবেশ করি যা 'int'। এর পরে, আমরা “findingValues()”নাম সহ একটি ফাংশন তৈরি করি এবং এর প্যারামিটার হিসাবে “intValue_1” এবং “intValue2” পাস করি।

তারপর, 'if' বসানো হয় যেখানে আমরা 'intValue_1 < intValue_2' শর্ত টাইপ করি। এর নীচে, আমরা 'রিটার্ন' কীওয়ার্ডটি ব্যবহার করি এবং 'make_tuple()' ফাংশনটি রাখি যেখানে উভয় ভেরিয়েবল 'intValue_1, intValue2_' প্যারামিটার হিসাবে যোগ করা হয়। তারপর, আমাদের কাছে 'অন্য' অংশ রয়েছে যেখানে আমরা 'make_tuple()' ফাংশনের সাথে আবার 'রিটার্ন' রাখি। কিন্তু এখানে, আমরা প্রথমে 'intValue_2' এবং তারপর 'intValue1' রাখি। এখন, আমরা 'main()' কে কল করি এবং 'new_value1' কে '5' দিয়ে এবং 'new_value2' কে '28' দিয়ে আরম্ভ করি।

নিম্নলিখিতটিতে, আমরা 'বৃহত্তর' এবং 'ছোট' নামের সাথে 'int' টাইপের আরও দুটি ভেরিয়েবল ঘোষণা করি। তারপর, আমরা 'tie()' ফাংশন রাখি এবং প্যারামিটার হিসাবে 'ছোট, বড়' ভেরিয়েবল পাস করি এবং এখানে 'ফাইন্ডিং ভ্যালুস()' ফাংশনটিকে কল করি। এর পরে, আমরা উভয় মান মুদ্রণ করি: বড় এবং ছোট সংখ্যা।

কোড 4:

#অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত
ব্যবহার নামস্থান std ;
tuple  finding Values ( int intValue_1, int intValue_2 )
{
যদি ( intValue_1 < intValue_2 ) {
ফিরে make_tuple ( intValue_1 , intValue_2 ) ;
}
অন্য {
ফিরে make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int প্রধান ( )
{
int new_value1 = 5 , new_value2 = 28 ;
int বড়, ছোট ;
টাই ( ছোট, বড় ) = ফাইন্ডিং ভ্যালুস ( new_value1, new_value2 ) ;
printf ( 'বৃহত্তর সংখ্যা হল %d এবং '
'ছোট সংখ্যা হল %d' ,
বড়, ছোট ) ;
ফিরে 0 ;
}

আউটপুট :

আমরা আমাদের কোডে যে সংখ্যাগুলি যোগ করি সেগুলি একই সাথে বৃহত্তর এবং ছোট মানগুলি প্রদর্শন করে। এইভাবে, আমরা সহজেই আমাদের কোডে একাধিক মান ফেরত দিতে পারি।

উপসংহার

এই নির্দেশিকাটি C++ কোডে 'একাধিক মান ফেরানো' সম্পর্কে। আমরা এই গাইডটিতে এই ধারণাটি পুঙ্খানুপুঙ্খভাবে অন্বেষণ করেছি এবং তিনটি কৌশল নিয়ে আলোচনা করেছি যা C++ প্রোগ্রামিং-এ একাধিক মান ফিরিয়ে আনতে সহায়তা করে। আমরা ব্যাখ্যা করেছি যে একাধিক মান টিপল, জোড়া, পয়েন্টার এবং অ্যারে কৌশল ব্যবহার করে ফেরত দেওয়া হয়। এই সমস্ত কৌশলগুলি এখানে পুঙ্খানুপুঙ্খভাবে বর্ণনা করা হয়েছে।