الزحويالزحین بسن اهلل بزًبهِسبسیپیشزفتِ Advanced Programming داًشىذُهٌْذسیوبهپیَتز هذرس:آرشتَول توزیيشوبرُ 2 تبریختحَیل7:آببى لبلاساًجبمتوبریيهَاردسیزرابِدلتهطبلؼِوٌیذ: شوبرُیداًشجَییخَدرابِصَرتسیزبٌَیسیذ: بزًبهِّب درخطاٍّلّزیهاس //ID: your Student ID بزًبهِّبفبیلهزبَطِرادریهپَشِببًبمassignment#2_stdIDلزاردّیذ(وِ ّوِی بؼذاسًَشتي هیببشذ)ٍ سپس ایي پَشِ را فشزدُ وٌیذ.فبیل فشزدُ شذُ را بِ شوبرُی داًشجَیی شوب در آى stdID آدرس [email protected]ارسبلًوبییذ. ػٌَاى ایویل ببیذ بِ صَرت assignment#2_stdIDببشذ ،وِ در آى stdIDشوبرُ داًشجَیی شوب است. بزًبهِّب ٍ فبیل فشزدُ شذُ ٍ یب ػٌَاى ایویل فزستبدُ شذُ ،هَجب ػذم تصحیح ًبمگذاری فبیل اشتببُ در هیشَد. توزیيشوب بزًبهِّبیشوبببیذدلیمبًبِصَرتگفتِشذُدرهسئلِببشذ. ًحَُیٍرٍدیگزفتيٍخزٍجیدادى تستّبیًوًَِ هیشَدوِحتوبًیهببر بزًبهِّبیشوبتؼذادیتستدادُخَاّذشذ.تَصیِ بِّزیهاس بزًبهِّبیتبىبذّیذ. رابِ ًبمگذاری هٌبسب هتغیزّب را فزاهَش ًىٌیذ .بِ بزًبهِّبیتبى ٍ لسوتّبی هختلف گذاشتي وبهٌت بزای ًوزُایاسّزسؤالاست. وبهٌتگذاریجشٍ بزًبهِتبى. خصَصتَابغٍهتغییزّبیاصلی ًوزُیایيتوزیيوبستِخَاّذشذ. بزًبهِّب%20،اس بِاسایّزرٍستأخیزدرارسبل ًوزُیهٌفیتؼلكخَاّذگزفت. ًوزُیسؤال ، بزًبهِّبیهشببِبِهیشاى بِ هسئلِی شوبرُی ّ زگًَِ سؤال در هَرد توزیٌبت را بب ػٌَاى ] assignment#2_question[xوِ ] [x هَردًظزاست،بِآدرس[email protected]ارسبلوٌیذ . سؤال.1 درایيسَالشوبببیذوالسیبٌَیسیذوِاػذادهختلطراشبیِسبسیًوبیذً.بمایيوالسببیذ Complexببشذ. لسوت حمیمی ٍ هََّهی اػذاد هختلط ببیذ اس ًَع doubleببشذ .در ایي والس بز اسبس وبربزد ًَ 3ع ّConstructorستوِشوبببیذپیبدُسبسیًوبییذ . تَضیح Constructor همذارحمیمیٍهََّهیرابزابزببصفزلزارهیدّذ . ;)(Complex ;)Complex(const Complex &c لزارهیدّذ . ػذدهختلطسبختِشذُرابزابزػذدهختلطc همذارحمیمیٍهََّهیرابِتزتیببزابزbٍaلزارهیدّذ . ;)Complex(double a , double b = 0 شوب ببیذایيوالسرابِگًَِایپیبدُسبسیوٌیذوِ،اگزبِطَرهثبل Aیه instanceاسوالسفَقببشذ، ) A(1,4همذارحمیمیراٍ1همذارهََّهیرا4بگذارد**(.تَجِداشتِببشیذوِتٌْبراُتغییزهمذارحمیمیٍ هََّهیببیذاسّویيطزیكببشذٍاسخبرجاسوالسًببیذبِطَرهستمینبِلسوتحمیمیٍهََّهیدستزسی داشت ). ػولگزّبیسیزببیذبزایاػذادهختلطپشتیببًیشًَذ : ;Complex A,B; int c A+B , A-B , A*B , A+=B , A-=B , A++ , ++A , A-- , --A , A=B , A==B , A!=B , A+c , A-c , c + A …, c –A , c*A , ضوٌب)<<( stream extraction operator (<<)ٍ stream insertion operatorرابزایوالسفَق پیبدُسبسیوٌیذ . فزهتٍرٍدیٍخزٍجیبِایيصَرتاست : )(a , bوِبِتزتیبb ٍaوِاسجٌس ّdoubleستٌذهمذارحمیمیٍهََّهیػذدهختلطهبّستٌذ . ّبّویشِبِفزهتصحیحٍاردهیشًَذٍبِ spaceلبلٍبؼذاسوبهبّنتَجِوٌیذ). (**فزضوٌیذٍرٍدی ;Complex A ;)Complex B(A ;)Complex C(12 ;)Complex D(1,2 ;A = D ;)B(10 , 20 ;B=C+D ;B = D + 15 ;//B = 15 + D ;)B = ( C+A ) * (D++ ;B = A * 2 ;//B = 2 * A Enter 2 complex numbers )(3.5 , 4) (5 , 6 )(3.5 , 4) + (5 , 6) = (8.5 , 10 ;cout << "enter 2 complex numbers : " << endl ;cin >> A >> B ;cout << A << " + " << B << " = " << A+B << end سؤال.2 راپیبدُسبسی ًوبییذ .ایي دادُ سبختبر در ٍالغ ًَػی خبص اس در ایي توزیي شوب ببیذ دادُ سبختبر فزضی TMS ایاسجفتهزتبّبی )(key,value ًَػیدادُسبختبراًتشاػیاستوِبِصَرتهجوَػِ هیببشذMAP. MAP ّبحذاوثزیهببرتىزارهیشًَذًَ.ع ّvalue ٍkeyزچیشیهیتَاًذببشذٍلی است.بِطَریوِدرآىkey دردادُسبختبریوِشوبببیذطزاحیوٌیذ keyببیذاسجٌس value ٍ stringاسًَع intببشذ .دستزسیبِ ّvalueبفمطاسطزیك ّkeyبهیسزاستٍایيدرحبلیاستوِدستزسیبِ ّkeyباسطزیك ّvalueبغیز هوىي است. بِ طَر هثبل فزض وٌیذ وِ S یه TMS بِ صَرت ) }(“pedram”,10),(“shayan”,5),(“saman”,20است،درایيصَرتبِطَرهثبل S*“saman”+بزابزاستببٍ10لی]S[10هؼٌبییًذارد . ػولّبیسیزراپشتیببًیوٌذ : شوبببیذایيوالسرابِگًَِایپیبدُسبسیوٌیذتب فزضوٌیذ2B ٍAشیءاسوالس TMSاستٍcیه intوِهمبدیزآىّببِایيصَرتاست : B=,(“ali”,1),(“hadi”,3),(“erfan”,2)- ًتیجِدرایيهثبل }){(“hadi”,13),(“ali”,6 )A=,(“hadi”,10),(“ali”,5),(“saman”,20c=12 تَضیح ًتیجِیهTMSاستوِتشىیلشذُاس ػولگز/تببغ A+B ّkeyبیهشتزن BٍAوِvalueآًْب جوغ ّvalueبیهتٌبظزآى ّkeyبدرA ٍBاست . }){(“hadi”,7),(“ali”,4 ًتیجِیهTMSاستوِتشىیلشذُاس ّkeyبیهشتزن BٍAوِvalueآًْب تفبضل ّvalueبیهتٌبظزآى ّkeyبدرBٍAاست . A-B ”{(“hadi”,22),(“ali”,17),(“saman }),32 ًتیجِیهTMSاستوِّkeyبیّوبى راداردٍلیّوِی A شذُاًذ . ّvalueبیآىبِػالٍُ c A+c {(“hadi”,-2),(“ali”,})7),(“saman”,8 ّkeyبیّوبى ًتیجِیهTMSاستوِ Aراداردٍلیّوِی شذُاًذ . ّvalueبیآىهٌْبی c A-c }){(“hadi”,10),(“ali”,5 ًتیجِیهTMSاستوِتشىیلشذُاس ّkeyبیهشتزن ّvalue ٍBٍAز keyهسبٍی valueهتٌبظزدرAاست . A&B {(“hadi”,10),(“ali”,5),(“saman”, })20),(“erfan”,2 ًتیجِیهTMSاستوِتشىیلشذُاس ّkeyبیBٍAوِدرصَرتهشتزن بَدى ّkeyب؛ valueهَردًظز value شیAاستٍدرغیزایيصَرتvalue خَدراحفظهیوٌذ . A|B A={(“ali”,1),(“hadi”,3),(“erfan”, })2 AببBبزابزًیستپسهمذارصفزرابز هیگزداًذ . لزارهیدّذ . Aدلیمببزابز B A=B چههیوٌذّوِ ّkeyبٍ ّvalueبی هتٌبظزیىیببشذ(.بذیْیاستوِتؼذاد ّkeyبًیشببیذببّنبزابزببشذ ). A == B AببBبزابزًیستپسهمذاریهرابز هیگزداًذ . بزػىسA == B چَىجفت)ٍ(ali , 5جَددارد referenceایبِهتغیزهتٌبظزبز هیگزداًذ . اگز keyهَردًظزهَجَدببشذیه بِآىبزهیگزداًذٍدرغیز reference ایيصَرتkeyهَردًظزرابِTMSاضبفِ A != B A*“ali”+ چَىجفت)ٍ(reza , 5جَدًذارد؛ (ali , )5رابِAاضبفِهیوٌذ ٍ reference ایبِ valueآى(صفز)ببسهیگزداًذ . A={(“hadi”,10),(“ali”,5),(“sama })n”,20),(“reza”,0 A={(“hadi”,40),(“ali”,5),(“sama }) n”,20 A={(“hadi”,10),(“ali”,5),(“sama }) n”,20),(“sahar”,5 }” X={“ali”,”farnaz”,”hadi valueآىراصفزلزارهیدّذ . A*“reza”+ A*“hadi”+ = 40 A*“sahar”+ = 5 ًتیجِیهآرایِهزتبشذُصؼَدیاس ّkeyبیهَجَددرAاست . = String * X (string *) A } X={5,10,20 ًتیجِیهآرایِهزتبشذُصؼَدیاس ّvalueبیهَجَددر Aاست . Int * X = (int *) A 3 تؼذادجفتّبیهَجَددر Aرا بزهیگزداًذ . )(A.size ;}{= A راپبنهیوٌذبِ ّوِیػٌبصزدر A گًَِایوِsizeآىصفزگزدد . )(A.clear }) A={(“ali”,5),(“farnaz”,20 {(ali , 5),(saman , 20),(hadi , ;}) 10 اگزجفت)(“saman”,valueدرA.erase(“saman” A ) هَجَدببشذآىراپبنهیوٌذدرغیزایي صَرتاتفبلیًویافتذ. Aرابِفزهتسیزچبپهیوٌذ : { ( key1 , value1 ),(key2,value2),…, (key N , value })N به طوری که key1<key2<…<key N ;cout<<A تَجِ : همذاریوِبزهیگزداًٌذ const،بَدىیب درایي 2توزیيبِفزهتدلیكتَابغػولگز(پبراهتزّبیتبیغ ، ًبَدىپبراهتزّبٍهمذارّبییوِبزهیگزداًذٍخَدتَابغ)بسیبردلتًوبییذ. لسوت prototypeوالس خَد را در ٍ TMS.hلسوت Implementationآى را در TMS.cpp (تَجِوٌیذاسنفبیلّبّویيببشذ.بِوَچىیٍبشرگیحزٍفّنتَجِوٌیذ). بگذاریذ. تَاًیذبزایتستبزًبهِیخَدتببغ mainراّنبٌَیسیذ،اهّبدر ًیست.هی لشٍهیبًَِشتيتببغ main هیوٌیذ ًببیذ ٍ mainجَد داشتِ ببشذ .خَد هب تؼبغ mainرا بزای وذ شوب فبیلّبیی وِ submit خَاّینًَشت . هَفكببشیذ سبهبىدّمبى
© Copyright 2025 Paperzz