C++ میں ایک سے زیادہ اقدار کو کیسے واپس کریں۔

C My Ayk S Zyad Aqdar Kw Kys Waps Kry



C++ زبان ہمیں بہت سی خصوصیات فراہم کرتی ہے اور ہماری پروگرامنگ کو بہت آسان بناتی ہے۔ لیکن بعض اوقات، ہمیں C++ پروگرامنگ کے ساتھ کام کرتے ہوئے متعدد اقدار واپس کرنے کی ضرورت ہوتی ہے۔ بدقسمتی سے، C++ ہمیں اس خصوصیت کے ساتھ سہولت فراہم نہیں کرتا ہے۔ C++ میں متعدد اقدار واپس کرنے کے لیے، ہمیں مختلف تکنیکوں کا استعمال کرنا چاہیے۔ ہم ٹوپلز/پیئرز، پوائنٹرز اور اری کا استعمال کرتے ہوئے C++ میں متعدد اقدار واپس کر سکتے ہیں۔ ہم کوڈز اور وضاحتوں کے ساتھ اس گائیڈ میں ان تمام تکنیکوں کا بغور مطالعہ کریں گے۔

مثال 1: ٹوپلز/جوڑے کا استعمال

آئیے C++ میں متعدد اقدار کو واپس کرنے کے لیے کچھ عملی مظاہرہ کرتے ہیں۔ یہاں، ہم اپنے کوڈ میں متعدد اقدار کو واپس کرنے میں مدد کے لیے ٹیپلز/پیئرز تکنیک کا استعمال کرتے ہیں۔ C++ مختلف ہیڈر فائلز فراہم کرتا ہے جنہیں ہمیں اپنے کوڈ میں شامل کرنا ہوتا ہے۔ ہم یہاں 'bits/stdc++.h' شامل کرتے ہیں کیونکہ یہ C++ پروگرامنگ کی تمام لائبریریوں پر مشتمل ہے۔ پھر، نام کی جگہ یہاں شامل کی گئی ہے جو کہ 'std' ہے۔ اس کے بعد، ہم 'ٹپل' کلیدی لفظ استعمال کرتے ہیں جس میں ہم تین ڈیٹا کی قسمیں، دو فلوٹ ڈیٹا کی قسمیں، اور بقیہ ایک 'char' ڈیٹا کی قسم رکھتے ہیں۔ اس کے نیچے، ہم 'واپسی' کلیدی لفظ کا استعمال کرتے ہیں تاکہ ایک ٹیپل واپس کرنے کے لیے قدروں کو پیک کیا جا سکے۔

اب، ہم متعدد اقدار کو واپس کرنے کے لیے 'جوڑی' کا طریقہ استعمال کرتے ہیں۔ اس 'جوڑی' کے طریقہ کار میں، ہم نے دو متغیر کے ڈیٹا کی قسمیں رکھی ہیں، اور دونوں یہاں 'فلوٹ' ہیں۔ متغیرات کو 'float_1' اور 'float_2' کا نام دیا گیا ہے۔ پھر، ہم 'جوڑے' پر واپس جانے کے لیے دو قدریں پیک کرتے ہیں۔ اس کے بعد، ہم یہاں 'main()' کو استعمال کرتے ہیں اور پھر 'f_1, f_2' نام کے ساتھ دو 'float' متغیرات کا اعلان کرتے ہیں۔ 'char' متغیر کو یہاں 'myChar' بھی قرار دیا گیا ہے۔ اس کے بعد، ہم ان اقدار کو کھولتے ہیں جو 'My_Tuple()' فنکشن کے ذریعے واپس کی جاتی ہیں۔







اس کے نیچے، ہم لوٹی ہوئی قدروں کو جوڑوں میں محفوظ کرتے ہیں۔ ہم '4.99, 8.98' کو 'My_Tuple' فنکشن میں اور '6.86, 3.22' کو 'My_Pair' فنکشن میں اسٹور کرتے ہیں۔ پھر، ہم 'cout' کا استعمال کرتے ہیں جو اس کے اندر لکھی گئی تمام معلومات کو پرنٹ کرتا ہے۔



کوڈ 1:



#include
استعمال کرتے ہوئے نام کی جگہ std ;
ٹوپل < تیرنا , تیرنا , چار > میرا_ٹوپل ( تیرنا f_1، تیرنا f_2 ) {
واپسی make_tuple ( f_2، f_1، '$' ) ;
}
جوڑی < تیرنا , تیرنا > میرا_جوڑا ( تیرنا f_a، تیرنا f_b ) {
واپسی بنائیں_جوڑا ( f_b، f_a ) ;
}
int مرکزی ( ) {
تیرنا f_1,f_2 ;
چار myChar ;
ٹائی ( f_1، f_2، myChar ) = میرا_ٹوپل ( 4.99 , 8.98 ) ;
جوڑا new_p = میرا_جوڑا ( 6.86 , 3.22 ) ;
cout << 'قدریں ہم ٹیپلز کے ذریعہ حاصل کرتے ہیں :' ;
cout << f_1 << ' << f_2 << ' << myChar << 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' متغیر میں محفوظ ہوتی ہیں۔ اس کے بعد، ہم 'compare()' فنکشن کو کہتے ہیں جو ہم نے پہلے بنایا تھا اور اس میں چار پیرامیٹرز پاس کرتے ہیں۔ پھر، ہم 'موازنہ' فنکشن کو انجام دینے کے بعد نتیجہ ظاہر کرتے ہیں اور یہ ان نمبروں سے زیادہ اور چھوٹی تعداد کو ظاہر کرتا ہے جو صارف داخل کرتا ہے۔

کوڈ 2:

# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
باطل موازنہ ( int قدر_1، int قدر_2، int * جی_ایڈریس، 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' درج کرتا ہے۔ 'Enter' دبانے کے بعد، یہ نتیجہ دکھاتا ہے۔ اس طرح، ہم ایک سے زیادہ اقدار حاصل کرتے ہیں.

مثال 3: صف کا استعمال

ہم یہاں 'ComputeComparison()' فنکشن بناتے ہیں جس میں ہم دو متغیرات، 'num_1' اور 'num_2' کو 'int' قسم کے طور پر داخل کرتے ہیں اور 'my_arr[]' نام کی ایک صف بھی۔ اس کے بعد، ہمارے پاس 'اگر' شرط ہے جو یہ جانچتی ہے کہ آیا 'num_1' 'num_2' سے بڑا ہے یا نہیں۔ اگر یہ درست ہے تو، 'num_1' کو 'my_arr[0]' اور 'num_2' کو 'my_arr[1]' کو تفویض کیا گیا ہے۔ لیکن اگر شرط درست نہیں ہے تو، 'اور' کے بعد کے بیانات پر عمل درآمد کیا جاتا ہے جس میں ہم 'num_2' کو 'my_arr[0]' اور 'num_1' کو 'my_arr[1]' تفویض کرتے ہیں۔

اس کے بعد، ہم یہاں 'main()' کو کال کرتے ہیں اور پھر دو مزید int متغیرات کا اعلان کرتے ہیں: 'newNum_1' اور 'newNum_2'۔ اس کے بعد، سائز '2' کی ایک صف کا اعلان کیا جاتا ہے. اس کے بعد، ہم 'cin' کی مدد سے صارف سے دو نمبر حاصل کرتے ہیں اور پھر 'ComputeComparison()' فنکشن کو کال کرتے ہیں اور درج ذیل نتیجہ ظاہر کرتے ہیں۔ تو، یہ یہاں ایک سے زیادہ قدریں لوٹاتا ہے۔

کوڈ 3:

# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
باطل کمپیوٹ موازنہ ( int نمبر_1، int نمبر_2، int my_arr [ ] )
{

اگر ( نمبر_1 > نمبر_2 ) {
my_arr [ 0 ] = نمبر_1 ;
my_arr [ 1 ] = نمبر_2 ;
}
اور {
my_arr [ 0 ] = نمبر_2 ;
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: ٹوپلز کا استعمال

دو ہیڈر فائلیں یہاں شامل ہیں: 'tuple' اور 'iostream'. اس کے بعد، 'std' نام کی جگہ یہاں رکھی گئی ہے۔ اس کے بعد، ہم 'tuple' کلیدی لفظ استعمال کرتے ہیں اور دو ڈیٹا کی قسمیں داخل کرتے ہیں جو کہ 'int' ہیں۔ اس کے بعد، ہم 'findingValues()' نام کے ساتھ ایک فنکشن بناتے ہیں اور 'intValue_1' اور 'intValue2' کو اس کے پیرامیٹرز کے طور پر پاس کرتے ہیں۔

پھر، 'if' رکھا جاتا ہے جہاں ہم 'intValue_1 < intValue_2' حالت ٹائپ کرتے ہیں۔ اس کے نیچے، ہم 'return' کلیدی لفظ استعمال کرتے ہیں اور 'make_tuple()' فنکشن رکھتے ہیں جس میں دونوں متغیرات کو 'intValue_1, intValue2_' پیرامیٹر کے طور پر شامل کیا جاتا ہے۔ پھر، ہمارے پاس 'دوسرے' کا حصہ ہے جس میں ہم 'make_tuple()' فنکشن کے ساتھ دوبارہ 'return' لگاتے ہیں۔ لیکن یہاں، ہم پہلے 'intValue_2' اور پھر 'intValue1' رکھتے ہیں۔ اب، ہم 'main()' کو کال کرتے ہیں اور 'new_value1' کو '5' کے ساتھ اور 'new_value2' کو '28' کے ساتھ شروع کرتے ہیں۔

مندرجہ ذیل میں، ہم 'int' کی قسم کے مزید دو متغیرات کا اعلان کرتے ہیں جن کے نام ہیں 'smaller' اور 'smaller'۔ پھر، ہم 'tie()' فنکشن رکھتے ہیں اور 'چھوٹے، بڑے' متغیر کو پیرامیٹر کے طور پر پاس کرتے ہیں اور یہاں 'findingValues()' فنکشن کو بھی کہتے ہیں۔ اس کے بعد، ہم دونوں اقدار پرنٹ کرتے ہیں: بڑی اور چھوٹی تعداد۔

کوڈ 4:

# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
ٹیپل  فائنڈنگ ویلیوز ( 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++ پروگرامنگ میں متعدد اقدار کو واپس کرنے میں معاون ہیں۔ ہم نے وضاحت کی کہ ٹیپلز، جوڑوں، پوائنٹرز، اور سرنی کی تکنیکوں کو استعمال کرکے متعدد قدریں واپس کی جاتی ہیں۔ ان تمام تکنیکوں کو یہاں پوری طرح سے بیان کیا گیا ہے۔