نقشہ C++ پر

Nqsh C Pr



C++ STL لائبریری ہمیں نقشہ کی کلاس فراہم کرتی ہے۔ نقشے کو ایسوسی ایٹیو کنٹینرز سمجھا جاتا ہے جو اشیاء کو ترتیب دی گئی کلیدی اقدار اور میپ شدہ اقدار کے جوڑے میں برقرار رکھتے ہیں۔ ایک ہی کلیدی قدر کے ساتھ دو میپ شدہ اقدار کبھی نہیں ہوسکتی ہیں۔ میپ کلاس بہت سے فنکشن فراہم کرتی ہے لیکن یہاں ہم اس پر بات کریں گے۔ map.at() فنکشن کلیدی قدر میں میپ شدہ عنصر کو فنکشن کے پیرامیٹر کے طور پر پاس کیا جاتا ہے جس کا استعمال کرتے ہوئے حوالہ دیا جاتا ہے۔ map.at() فنکشن جب ہم کسی ایسے عنصر تک پہنچنے کی کوشش کرتے ہیں جو کنٹینر کی حد کے اندر نہیں ہے، map.at() فنکشن کنٹینر کی رینج کا اندازہ کرتا ہے اور ایک استثنا دیتا ہے۔

map.at() فنکشن کا نحو

C++ میں map.at() فنکشن کو نافذ کرنے کے لیے ہمیں نیچے دیے گئے نحو پر عمل کرنے کی ضرورت ہے۔







Map_variable.at ( چابی / قدر کی جوڑی )



ہم نے نقشہ آبجیکٹ کا استعمال کیا ہے جس کا نام 'Map_variable' کے ساتھ ہے۔ پر() فنکشن یہ وہ عنصر واپس کرتا ہے جس کا براہ راست حوالہ دیا جاتا ہے اور مخصوص کلیدی قدر کی طرف اشارہ کرتا ہے۔ ڈیٹا کلید کا نقشہ زیادہ تر نقشے کی حد پر منحصر ہوتا ہے۔ اگر ایسا نہیں ہے تو، اس بات کا امکان ہے کہ عمل درآمد کے وقت کوئی استثنا یا غلطی واپس آ جائے گی جو اس بات کی نشاندہی کرتی ہے کہ قدر متعین حد سے باہر ہے۔ اب، ہم اس نحو کو C++ کوڈز میں یہ ظاہر کرنے کے لیے استعمال کریں گے کہ یہ کام کر رہا ہے۔



مثال 1: map.at() فنکشن کا استعمال

پروگرام map.at فنکشن کو ظاہر کرنے کے لیے لاگو کیا گیا ہے۔ ہم نے لنک کیا ہے۔ پر() کے ساتھ فنکشن نقشہ() فنکشن جو کچھ ان پٹ ویلیوز لیتا ہے اور اس کی فعالیت کو ظاہر کرتا ہے۔ اس کے لیے، ہم نے سی++ کے لیے ایک اور مطلوبہ ماڈیول کے ساتھ نقشہ ماڈیول درآمد کر کے پروگرام کے ہیڈر سیکشن کو بھر دیا ہے۔ پھر، ہم نے بلایا ہے مرکزی() نقشہ کلاس سے نقشہ کے اعلان کے لئے فنکشن۔ نقشے کے آبجیکٹ پر 'MyMap' کا لیبل لگا ہوا ہے۔ ہم نقشہ کی کلید اور قدر دے کر نقشوں کی فہرست بناتے ہیں۔





اس کے بعد، ہم نے درخواست کی map.at() فنکشن جو مخصوص سٹرنگ کو ایک عدد میں نقشہ بناتا ہے۔ پھر، ہم نے سے نتائج پرنٹ کیے map.at() for loop سے فنکشن۔ لوپ کے لیے 'آٹو' کلیدی لفظ کا حوالہ استعمال کرتا ہے۔ آٹو کلیدی لفظ اس بات کی نشاندہی کرتا ہے کہ شروع کرنے والا متغیر کی قسم کو اعلان کردہ سے خود بخود ہٹا دے گا۔ cout بیان جوڑوں کو اس ترتیب سے پرنٹ کرے گا جو سے واپس کیا گیا ہے۔ map.at() فنکشن

# شامل کریں

#include

#include


اہم int ( )

std : : نقشہ < std::string,int > میرا نقشہ = {

{ 'سیب'، 0 } ،

{ 'انگور' ، 0 } ،

{ 'آم' ، 0 } }

MyMap.at ( 'سیب' ) = 5 ;

MyMap.at ( 'انگور' ) = 10 ;

MyMap.at ( 'آم' ) = 6 ;

کے لیے ( آٹو اور m: MyMap ) {

std::cout << m.first << ' : ' << m.second << '\n' ; }

< مضبوط > واپسی 0 ;

}



اب، ہمارے پاس مذکورہ پروگرام کے نتائج ہیں جو لاگو کرتا ہے۔ map.at() فنکشن تمام مخصوص عدد جو کہ رینج میں ہیں ہر سٹرنگ کے خلاف دکھائے جاتے ہیں۔

مثال 2: out_of_range Exception کے لیے map.at() فنکشن کا استعمال

ہم نے ایک مثالی پروگرام کے ذریعے کے استعمال پر تبادلہ خیال کیا ہے۔ map.at C++ میں فنکشن۔ اب، ہم نے ایک اور لاگو کیا ہے map.at پروگرام میں لیکن اس بار یہ وہ قدر لوٹائے گا جو نقشے کے اندر پیش کی گئی ہے اور کلید کے متعین نہ ہونے پر out_of_range کا استثنا بھی۔ جیسا کہ ہمیں استعمال کرنا ہے۔ map.at فنکشن، تو ہم نے ہیڈر میں میپ ماڈیول شامل کیا ہے۔ پھر، ہم نے مرکزی فنکشن کی وضاحت کی ہے جہاں 'باطل' کو پیرامیٹر کے طور پر پاس کیا جاتا ہے۔

مین فنکشن کے اندر، ہم نے میپ آبجیکٹ کو 'm1' بنا کر لسٹ کنسٹرکٹر کو شروع کیا ہے۔ نقشہ کی فہرست میں کلیدوں کے مختلف تار اور ان کے مقابلے میں عددی اقدار ہیں۔ پھر، ہم نے کلید 'i' کو اس سے گزر کر پرنٹ کیا۔ map.at فنکشن ہم نے ٹرائی کیچ بلاک کا استعمال کیا ہے۔ ٹرائی بلاک میں، ہم نے عدم موجودگی کی کلید پیش کی ہے۔ map.at فنکشن چونکہ کلید حد سے باہر ہے، لہذا ٹرائی بلاک غلطی کو پھینک دے گا۔

# شامل کریں

#include

نام کی جگہ کا استعمال کرتے ہوئے std؛

اہم int ( باطل ) {


نقشہ < چار، int > m1 = {

{ 'میں' ، 1 } ،

{ 'میں' ، دو } ،

{ 'این' ، 3 } ،

{ 'میں' ، 4 } ،

{ 'ایکس' ، 5 } ،

} ;



cout << 'نقشہ کی کلیدی قدر m1['i'] = ' << m1.at ( 'میں' ) << endl



کوشش کریں {

m1.at ( 'ی' ) ;

} پکڑنا ( const out_of_range اور اور ) {

cerr << 'غلطی' << e.what ( ) << endl

}



واپسی 0 ;

}

ہم آؤٹ پٹ اسکرین شاٹ سے اندازہ لگا سکتے ہیں کہ map.at() فنکشن صرف نقشے میں موجود چابیاں واپس کرتا ہے۔ رینج سے باہر کی چابیاں غلطی کو پھینک دیتی ہیں کیونکہ جب ہم نے کلید 'y' کو پاس کیا تو غلطی ظاہر ہوتی ہے۔ map.at فنکشن

مثال 3: عناصر تک رسائی کے لیے map.at() فنکشن کا استعمال

map.at فنکشن سے ہندسوں کے مخصوص عنصر کا استعمال کرتے ہوئے ایک عنصر تک رسائی حاصل کی جا سکتی ہے۔ آئیے مذکورہ بیان کو پورا کرنے کے لیے اس پروگرام کو نافذ کریں۔ ہم نے نقشہ ماڈیول کو پہلے ہیڈر سیکشن میں بیان کیا ہے کیونکہ اس تک رسائی کے لیے اس کی ضرورت ہے۔ map.at فنکشن پھر، ہمارے پاس مرکزی فنکشن ہے جہاں نقشہ کلاس نے نقشہ آبجیکٹ کو 'نقشہ' کے طور پر شروع کیا ہے۔ اس 'نقشہ' آبجیکٹ کے ساتھ، ہم نے تاروں کی کلیدیں تیار کی ہیں اور ان کو ہندسوں کی قدر تفویض کی ہے۔ اس کے بعد، ہم نے فون کیا map.at cout بیان کے ساتھ ایک فنکشن اور 'Example' کلید کو بطور ان پٹ پاس کیا۔

# شامل کریں

#include

#include

نام کی جگہ کا استعمال کرتے ہوئے std؛

اہم int ( )

{

نقشہ < سٹرنگ، int > نقشہ؛

نقشہ [ 'میرے' ] = 1 ;

نقشہ [ 'c++' ] = دو ;

نقشہ [ 'نقشہ' ] = 3 ;

نقشہ [ 'مثال' ] = 4 ;

cout << Map.at ( 'مثال' ) ;

واپسی 0 ;

}

ہندسوں کا عنصر میں مخصوص کلید کے خلاف لوٹا جاتا ہے۔ map.at فنکشن نتیجہ '4' کی قدر دیتا ہے کیونکہ یہ ہندسہ نقشے کے کلیدی عنصر 'مثال' کو تفویض کیا گیا ہے۔

مثال 4: عناصر میں ترمیم کے لیے map.at() فنکشن کا استعمال

آئیے کلیدی قدر سے وابستہ قدر میں ترمیم کرنے کی ایک سادہ مثال پر غور کریں۔ ہم نے میپ کلاس کو کال کرکے اور آبجیکٹ 'M1' بنا کر نقشے کی فہرست بنائی ہے۔ ہم نے نقشے کی ہر کلید کے خلاف سٹرنگ ویلیو تفویض کی ہے۔ پھر، ہمیں استعمال کرنا ہوگا map.at فنکشن میں map.at فنکشن، ہم نے مخصوص کیز کا استعمال کیا ہے اور ان کیز کے خلاف نئی سٹرنگ ویلیوز تفویض کی ہیں۔ اب، ان اقدار میں پچھلے ایک کے ساتھ ترمیم کی جائے گی۔ for loop کی مدد سے، ہم نے نقشے سے ہر ایک عنصر کو دہرایا ہے اور اسے آؤٹ پٹ کے طور پر ظاہر کیا ہے۔

# شامل کریں

#include

#include


نام کی جگہ کا استعمال کرتے ہوئے std؛


اہم int ( )

{

نقشہ < int، سٹرنگ > M1 = {

{ 10 , 'c++' } ,

{ بیس , 'جاوا' } ,

{ 30 , 'ازگر' } ,

{ 40 , 'csharp' } ,

{ پچاس , 'کھلا' } } ;




M1.at ( بیس ) = 'ٹینسر فلو' ;

M1.at ( 30 ) = 'لینکس' ;

M1.at ( پچاس ) = 'اسکالا' ;

cout << ' \n عناصر:' << endl

کے لیے ( آٹو اور x: M1 ) {

cout << x.پہلے << ' : ' << x.second << '\n' ;

}


واپسی 0 ;

}

نوٹ کریں کہ آؤٹ پٹ کے طور پر حاصل کردہ اقدار نے نئی تفویض کردہ سٹرنگ ویلیوز میں ترمیم کی ہے۔ map.at فنکشن اپ ڈیٹ شدہ اقدار ذیل میں اسنیپ شاٹ میں دکھائی گئی ہیں۔

نتیجہ

مضمون map.at فنکشن کے بارے میں ہے۔ ہم نے map.at() فنکشن کی فعالیت اس کے نحو کے ذریعے فراہم کی ہے اور مثال کو C++ کمپائلر کے ساتھ لاگو کیا گیا ہے۔ map.at() فنکشن انتہائی مفید ہے کیونکہ یہ عنصر کی رسائی کی اجازت دیتا ہے اور ایک واضح استثناء یا غلطی کو واپس کرتا ہے جو اس صورت حال کو بیان کرتا ہے جو اس وقت پیدا ہوتی ہے جب طریقہ کو بلایا جا رہا ہو۔ مزید برآں، ہم map.at فنکشن کے ذریعے وجود کی کلید کے خلاف نئی قدریں تفویض کر سکتے ہیں۔