C++ ٹوپل

C Wpl



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

C++ پروگرامنگ لینگویج میں ٹوپل کیا ہے؟

سی ++ پروگرامنگ زبان میں ایک ٹیپل ایک ایسی چیز ہے جس میں آئٹمز کی ترتیب شدہ فہرست ہوتی ہے۔ یہ ایک غیر تبدیل شدہ ڈیٹا کی قسم ہے جس کا مطلب ہے کہ ٹیوپل میں موجود اقدار کو عمل کے کسی بھی موقع پر تبدیل نہیں کیا جا سکتا۔ ٹوپل کی قدر کوما سے الگ کیے گئے راؤنڈ () بریکٹ میں دی گئی ہے اور انڈیکس کے حوالے سے اس تک رسائی حاصل کی جا سکتی ہے۔ بہت سے فنکشنز ہیں جو کہ ایک ٹیوپل پر کیے جا سکتے ہیں، یعنی get()، swap()، tuple_size()، اور وغیرہ۔ مزید حصوں میں، ہم مثالوں کی مدد سے 4 فنکشنز کے کام کی وضاحت کریں گے۔

مثال 1:
اس مثال میں، ہم make_tuple() فنکشن کا استعمال کرکے ایک ٹیپل بنائیں گے۔ make_tuple() کو c++ پروگرام میں استعمال کیا جاتا ہے تاکہ ٹیپل کو ویلیو تفویض کیا جاسکے۔ وہ اقدار جو ٹیوپل کو تفویض کرنے کی ضرورت ہے وہ اسی ترتیب میں ہونی چاہئیں جس طرح وہ ٹیپل میں اعلان کی گئی تھیں۔ آئیے ذیل میں منسلک کوڈ کو دیکھیں کہ یہ سمجھنے کے لیے کہ make_tuple() فنکشن c++ پروگرام میں کیسے کام کرتا ہے۔







'include ' اور 'using namespace std' لائبریریوں کو پروگرام میں معیاری ان پٹ اور آؤٹ پٹ فنکشن جیسے cin اور cout کو استعمال کرنے کے لیے شامل کیا گیا ہے۔ 'include ' پروگرام میں ٹوپل کے استعمال کی اجازت دے گا۔ مکمل کوڈ مین () فنکشن میں فراہم کیا گیا ہے۔ ایک tuple 't' کو پانچ عناصر کے ساتھ قرار دیا جاتا ہے، ۔ ٹیپل کی اقدار کو اسی ترتیب پر عمل کرنے کی ضرورت ہے۔ جیسا کہ آپ مشاہدہ کر سکتے ہیں، ('a', 75, 5, 'z', 5.5) make_tuple() فنکشن میں اسی ترتیب میں ہیں جیسا کہ tuple کے لیے اعلان کردہ اقدار ہیں۔ اس کوڈ پر عمل درآمد کرنے کے بعد، آپ کو بدلے میں کچھ بھی نہیں ملے گا جس سے یہ ظاہر ہوتا ہے کہ عملدرآمد کامیاب ہے۔



# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
واپسی 0 ;
}



ذیل میں اسکرین شاٹ میں دی گئی نتیجہ خیز آؤٹ پٹ کو چیک کریں:





نوٹ کریں کہ پروگرام کے ذریعہ کچھ بھی واپس نہیں کیا گیا ہے۔ آئیے ٹیپل کی قدروں کو پرنٹ کرتے ہیں۔



مثال 2:
اس مثال میں، get() فنکشن ٹیپل پر اس کی اقدار کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ ٹیپلز کی قدریں صرف c++ پروگرامنگ زبان میں get() فنکشن کے ساتھ پرنٹ کی جا سکتی ہیں۔ نیچے کوڈ دیکھیں۔

نوٹ کریں کہ ہم نے وہی کوڈ اور نمونہ ڈیٹا استعمال کیا جیسا کہ ہم نے پچھلی مثال میں کیا تھا۔ make_tuple() فنکشن کا استعمال کرتے ہوئے، قدریں کامیابی کے ساتھ tuple کو تفویض کی جاتی ہیں۔ get() فنکشن 0 سے شروع ہونے والے انڈیکس نمبر کا حوالہ دے کر ٹیوپل کی ویلیوز تک رسائی کے لیے استعمال کیا جاتا ہے۔ ہر انڈیکس نمبر get() فنکشن کو دیا جاتا ہے اور tuple کی تمام ویلیوز cout اسٹیٹمنٹ کے ساتھ پرنٹ کی جاتی ہیں۔

# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
int میں ;
cout << 'ٹپل کی قدریں ہیں:' ;
cout << حاصل کریں < 0 > ( t ) << ' << حاصل کریں < 1 > ( t ) << ' << حاصل کریں < دو > ( t )
<< ' << حاصل کریں < 3 > ( t ) << ' << حاصل کریں < 4 > ( t ) << endl ;
واپسی 0 ;
}

ذیل میں دیئے گئے اسکرین شاٹ میں اس کوڈ کا آؤٹ پٹ چیک کریں:

get() فنکشن ویلیوز کو اسی ترتیب سے پرنٹ کرتا ہے جیسا کہ وہ ٹیپل کو تفویض کیے گئے ہیں۔

مثال 3:
اس مثال میں، ہم tuple_size() فنکشن کے کام کا مظاہرہ کریں گے۔ نمونے کی مثال کی مدد سے، ہم وضاحت کریں گے کہ tuple_size فنکشن کا استعمال کرکے ٹیپل کا سائز کیسے حاصل کیا جائے۔ نیچے دیئے گئے کوڈ کو چیک کریں۔

کوڈ کی باقی لائنیں وہی ہیں جو پچھلی مثالوں میں استعمال کی گئی ہیں۔ یہاں tuple_size فنکشن ٹیپل کا سائز حاصل کرے گا۔ 'decltype' کا مطلب اعلان شدہ قسم ہے جو دیے گئے اظہار کی قسم کو جانچنے کے لیے استعمال ہوتی ہے۔

# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
int میں ;
cout << 'ٹپل کا سائز =' ;
cout << tuple_size < decltype ( t ) > :: قدر << endl ;
واپسی 0 ;
}

جب آپ اس کوڈ پر عمل کرتے ہیں، تو درج ذیل آؤٹ پٹ تیار ہو جائے گا:

ہم نے tuple کو 5 ویلیوز تفویض کیں اور tuple_size() فنکشن نے بھی tuple 5 کا سائز واپس کیا۔

مثال 4:
ہم tuple_cat() فنکشن کا استعمال کرکے ٹیپلز کو جوڑ سکتے ہیں اور ان سے ایک نیا ٹوپل بنا سکتے ہیں۔ یہاں، ہم tuple_cat() فنکشن کے استعمال کو دو ٹوپلز کو جوڑنے کے لیے دکھائیں گے۔

ذیل میں دیے گئے کوڈ میں، ہم نے دو ٹیپلز t1 اور t2 کا اعلان کیا اور ہر ٹیپل کو 3/3 ویلیوز تفویض کیں۔ پھر، ہم نے tuple_cat() فنکشن کا استعمال کیا تاکہ دونوں tuples کو جوڑیں اور ان میں سے ایک نیا tuple بنائیں۔ اس کے بعد، ہم نے صرف get() فنکشن کا استعمال کرتے ہوئے تمام ٹیپلز کی ویلیو پرنٹ کی۔ tuple_cat() فنکشن ان ٹیپلز کو لیتا ہے جن کو جوڑنے کی ضرورت ہوتی ہے، ہر ٹوپل کو تفویض کردہ اقدار کو جوڑتا ہے، اور اس سے ایک نیا ٹیپل بناتا ہے۔

نوٹ کریں کہ tuples t1 اور t2 کی 3/3 ویلیوز ہیں اور ہم نے ہر ویلیو کو get() فنکشن کا استعمال کرتے ہوئے انڈیکس 0 سے انڈیکس 2 کا حوالہ دے کر پرنٹ کیا ہے۔ تاہم، جب ان کو جوڑ دیا جائے گا، تو کل ویلیوز 6 ہوں گی۔ لہذا، ہمیں ضرورت ہے۔ انڈیکس کو 0 سے 5 تک پرنٹ کرنے کے لیے تاکہ تمام اقدار پرنٹ ہو جائیں۔ نیچے دیے گئے آؤٹ پٹ کو دیکھیں اور نوٹ کریں کہ tuple t1 پر 3 قدریں پرنٹ کی گئی ہیں۔ 3 قدریں ٹوپل 2 پر پرنٹ کی گئی ہیں۔ تاہم، 6 قدریں ٹوپل 3 سے پرنٹ کی گئی ہیں کیونکہ نئے ٹیوپل میں مربوط اقدار 6 ہیں۔

# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , تیرنا > t1 ( 'a' , 75 , 6.7 ) ;
ٹوپل < int , چار , تیرنا > t2 ( 10 , 't' , 77.9 ) ;
آٹو t3 = tuple_cat ( t1، t2 ) ;
cout << 'پہلے ٹوپل پر مشتمل ہے =  ' ;
cout << حاصل کریں < 0 > ( t1 ) << ' << حاصل کریں < 1 > ( t1 ) << ' << حاصل کریں < دو > ( t1 ) << endl << endl ;
cout << 'دوسرے ٹیپل پر مشتمل ہے =  ' ;
cout << حاصل کریں < 0 > ( t2 ) << ' << حاصل کریں < 1 > ( t2 ) << ' << حاصل کریں < دو > ( t2 ) << endl << endl ;
cout << 'نیا ٹوپل ہے =' ;
cout << حاصل کریں < 0 > ( t3 ) << ' << حاصل کریں < 1 > ( t3 ) << ' << حاصل کریں < دو > ( t3 ) << '
<< حاصل کریں < 3 > ( t3 ) << ' << حاصل کریں < 4 > ( t3 ) << ' << حاصل کریں < 5 > ( t3 ) << endl ;
واپسی 0 ;
}

یہاں آؤٹ پٹ ہے:

نتیجہ

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