ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﻧﺤﻮه ارﺳﺎل ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺗﻤﺮﻳﻦ را در ﻳﻚ ﻓﺎﻳﻞ ﺑﻪ ﺻﻮرت HWxx.cpp ﻗﺮار دﻫﻴﺪ ﻛﻪ xxﺷﻤﺎره آن ﺗﻤﺮﻳﻦ ﻣﻲ ﺑﺎﺷﺪ .ﻣﺜﻼ ﻛﺪ ﺗﻤﺮﻳﻦ اول در ﻓﺎﻳﻠﻲ ﺑﻪ ﻧﺎم HW01.cppﻗﺮار ﻣﻲ ﮔﻴﺮد ،ﺳﭙﺲ ﺗﻤﺎﻣﻲ ﻛﺪﻫﺎي ﺧﻮد را ﻛﻨﺎر ﻫﻢ ﻗﺮار داده و آن ﻫﺎ را zipﻧﻤﺎﻳﻴﺪ و اﺳﻢ ﻓﺎﻳﻞ زﻳﭗ را ﺑﻪ ﺻﻮرت HW4_STDID.zipﻗﺮار دﻫﻴﺪ ،ﻛﻪ STDIDﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ ﻣﺜﻞ HW4_8912345.zipو آنرا در ﻣﻮﻋﺪ ﻣﻘﺮر ﺑﻪ آدرس اﻳﻤﻴﻞ [email protected] ارﺳﺎل ﻧﻤﺎﻳﻴﺪ. ﺗﻮﺟﻪ :1ﺑﻪ ﺗﻤﺮﻳﻨﺎﺗﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﺎﻏﺬي ﺗﺤﻮﻳﻞ ﺷﻮﻧﺪ ،ﻳﺎ اﺳﻜﻦ ﺷﻮﻧﺪ ،ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ .ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ در ﻓﺮﻣﺖ ﻓﺎﻳﻞ cppﻧﻮﺷﺘﻪ ﺷﺪه و ﺑﺎ ﻳﻚ ﻛﺎﻣﭙﺎﻳﻠﺮ C/C++ﺗﺴﺖ و اﺟﺮا ﺷﺪه ﺑﺎﺷﻨﺪ. ﺗﻮﺟﻪ :2از ارﺳﺎل ﻓﺎﻳﻞ اﺟﺮاﻳﻲ ) (.exeﺑﻪ ﻫﻤﺮاه ﺳﻮرس ،ﺧﻮدداري ﻛﻨﻴﺪ .ﺳﻴﺴﺘﻢ gmailو اﻛﺜﺮ ﺳﺮوﻳﺲﻫﺎي اﻳﻤﻴﻞ از درﻳﺎﻓﺖ ﻓﺎﻳﻞ اﺟﺮاﻳﻲ )ﺣﺘﻲ اﮔﺮ در داﺧﻞ ﻓﺎﻳﻞ .zipﺑﺎﺷﻨﺪ( ﺧﻮدداري ﻣﻲﻛﻨﺪ .ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺴﺌﻮﻟﻴﺖ ﻧﺮﺳﻴﺪن ﭼﻨﻴﻦ اﻳﻤﻴﻞﻫﺎﻳﻲ ﺑﻌﻬﺪه داﻧﺸﺠﻮ اﺳﺖ. ﺗﻮﺟﻪ :3از ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎ ﺑﻪ ﮔﺮوه درس ﺧﻮدداري ﻛﻨﻴﺪ! و ﺣﺘﻤﺎ ﺑﻪ ﻫﻨﮕﺎم وارد ﻧﻤﻮدن آدرس اﻳﻤﻴﻞ ﮔﻴﺮﻧﺪه )ﺑﺨﺼﻮص در (gmail دﻗﺖ ﻛﻨﻴﺪ ،ﺗﺎ اﺷﺘﺒﺎﻫﺎ آدرس ﮔﺮوه ﺑﻪ ﺟﺎي آدرس اﻳﻤﻴﻞ ﺗﻤﺮﻳﻦﻫﺎ وارد ﻧﺸﺪه ﺑﺎﺷﺪ. روش ارزﻳﺎﺑ ارزﻳﺎﺑﻲ ﻋﻨﻮان * %100 در زﻣﺎن ﻣﻘﺮر * %60 ﺗﺎ 1روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر * %30 ﺑﻴﺶ از ﻳﻚ روز و ﺗﺎ 3روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر * %20 ﺑﻴﺶ از ﺳﻪ روز و ﺗﺎ ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر * %0 ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر )ﻧﻤﺮه ﻛﺎﻣﻞ ﺗﻤﺮﻳﻦ( * -1 ﺗﻘﻠﺐ ،ﻛﭙﻲ ﺑﺮداري و ﻣﻮاردي از اﻳﻦ ﻗﺒﻴﻞ *درﺻﺪﻫﺎي ﻓﻮق ﻧﺴﺒﺖ ﺑﻪ ﻧﻤﺮه ﻛﺴﺐ ﺷﺪهي ﺗﻤﺮﻳﻦ ﺗﻮﺳﻂ داﻧﺶﺟﻮ ﻣﻲﺑﺎﺷﺪ. ﺗﻮﺟﻪ :اﻳﻦ ﺗﻤﺮﻳﻦ داراي 100ﻧﻤﺮه ﺑﻮده و ﺷﺎﻣﻞ 6ﺳﺆال اﺳﺖ. ) (1 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﺗﺬﻛﺮ ﻣﻬﻢ :رﻋﺎﻳﺖ ﻣﻮارد زﻳﺮ اﻟﺰاﻣﻲ اﺳﺖ .در ﺻﻮرت ﻋﺪم رﻋﺎﻳﺖ آﻧﻬﺎ ،ﺣﺘﻲ در ﺻﻮرت درﺳﺖﺑﻮدن ﺑﺮﻧﺎﻣﻪ ﺑﻪ داﻧﺸﺠﻮ ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﻤﻲﮔﻴﺮد: اﺳﻢ ﻓﺎﻳﻞ zipﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺨﺶﻫﺎي ﺑﺎﻻ ﺗﻮﺿﻴﺢ داده ﺷﺪ ﺑﺎﻳﺪ ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﻪ ﻓﺮﻣﺖ HW4_86202228.zipﺗﻌﻴﻴﻦ ﺷـﻮد .ﻫـﺮ ﻳﻚ از ﻣﻮارد زﻳﺮ اﺷﺘﺒﺎه اﺳﺖ : oﺣﺮوف ﻛﻮﭼﻚ ﺑﺮاي :HW hw4_86202228.zip oﺧﻂ ﺗﻴﺮه ﺑﻪ ﺟﺎي HW4‐86202228.zip :underline HW4.zip o ... 86202228.zip o اﺳﺎﻣﻲ ﻓﺎﻳﻞﻫﺎي ﺗﻤﺮﻳﻦ ﻧﻴﺰ ﺑﺎﻳﺪ ﺑﺎ ﻓﺮﻣﺖ درﺳﺖ وارد ﺷﻮﻧﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل . HW03.cpp :ﻣﻮارد زﻳﺮ ﺗﺼﺤﻴﺢ ﻧﻤﻲﺷﻮﻧﺪ : hw03.cpp o HW3.cpp o HW03.c o HW_03.cpp o .... ورودي و ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ دﻗﻴﻘﺎً ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺻﻮرت ﺳﺆال ﺗﻮﺿﻴﺢ داده ﺷﺪ ﺑﺎﺷﻨﺪ .ﻫﻴﭻ ﺧﺮوﺟﻲ اﺿﺎﻓﻪاي ﻧﺒﺎﻳـﺪ ﭼـﺎپ ﺷـﻮد .ﺑـﺮاي ﺟﺪاﻛﺮدن دو ﻋﺪد ﭘﺸﺖ ﺳﺮ ﻫﻢ در ﺧﺮوﺟـﻲ ،از ﻳـﻚ ﻓﺎﺻـﻪ ) (spaceاﺳـﺘﻔﺎده ﻛﻨﻴـﺪ .ﺑـﺮاي ﭼـﺎپ ﺧﺮوﺟـﻲ در ﺳـﻄﺮ ﺟﺪاﮔﺎﻧـﻪ از ﻳـﻚ endl) newlineﻳﺎ (\nاﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﭼﺎپ ﻣﻮاردي ﻣﺎﻧﻨﺪ » «Enter a number:ﻳﺎ ﭼﺎپ دو \nاﺷﺘﺒﺎه اﺳﺖ . ﭘﺲ از ﭼﺎپ ﺧﺮوﺟﻲ ﻣﻮرد ﻧﻈﺮ ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﺗﻤﺎم ﺷﻮد .ﻫﺮ ﻳﻚ از ﻣﻮارد زﻳﺮ ﻣﻮﺟﺐ ﻏﻠﻂﺷﺪن ﺑﺮﻧﺎﻣﻪ ﺧﻮاﻫﺪ ﺷﺪ : oاﺳﺘﻔﺎده از getchو system pauseو ﻳﺎ cinدر اﻧﺘﻬﺎي ﺑﺮﻧﺎﻣﻪ )در ﺻﻮرت اﺳﺘﻔﺎده ،ﻗﺒﻞ از ارﺳﺎل ﺑﺮﻧﺎﻣﻪ آﻧﻬﺎ را ﭘﺎك ﻛﻨﻴﺪ و ﻳﺎ ﻛﺎﻣﻨﺖ ﻛﻨﻴﺪ (. oدرﻳﺎﻓﺖ ورودي ﺑﻌﺪي ﺑﺮاي اﺟﺮاي ﻣﺠﺪد ﻛﺪ ﺑﺎﻳﺪ ﻛﺎﻣﭙﺎﻳﻞ ﺷﻮد و ﺧﻄﺎي ﻧﺤﻮي ) (syntaxﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ . از ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي ﻏﻴﺮاﺳﺘﺎﻧﺪارد ﻣﺎﻧﻨﺪ conio.hاﺳﺘﻔﺎده ﻧﻜﻨﻴﺪ . در ﺻﻮرت وﺟﻮد دﺳﺘﻮر " #include "stdafx.hدر اﺑﺘﺪاي ﺑﺮﻧﺎﻣﻪ ،آﻧﺮا ﻗﺒﻞ از ارﺳﺎل ﺑﺮﻧﺎﻣﻪ ﺣﺬف و ﻳﺎ ﻛﺎﻣﻨﺖ ﻛﻨﻴﺪ . ) (2 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﺗﻤﺮﯾﻦ اوّل -ﻫﻴﺴﺘﻮﮔﺮام ﻓﺮاواﻧ ﺣﺮوف ) ۱۵ﻧﻤﺮه(: ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻧﺎم ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ را از ورودي اﺳﺘﺎﻧﺪارد ) (cinدرﻳﺎﻓﺖ ﻛﺮده و ﭘﺲ از ﺑﺎزﻛﺮدن ﻓﺎﻳﻞ ﻣﻮرد ﻧﻈﺮ ،ﻧﻤﻮدار ﻓﺮاواﻧﻲ ﺣﺮوف ﻣﺘﻦِ داﺧﻞ ﻓﺎﻳﻞ را در ﺧﺮوﺟﻲ اﺳﺘﺎﻧﺪارد ) (coutﭼﺎپ ﻛﻨﺪ .ﻓﺮض ﻛﻨﻴﺪ ﻓﺎﻳﻞ ﻣﻮرد ﻧﻈـﺮ ﺷـﺎﻣﻞ ﺣـﺪاﻗﻞ 0و ﺣـﺪاﻛﺜﺮ 1000 ﻛﺎراﻛﺘﺮ اﺳﺖ .ﻫﻤﭽﻨﻴﻦ ﻣﺘﻦ ﺗﻨﻬﺎ از ﺣﺮوف ﻛﻮﭼﻚ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻫﻤﺮاه ﻳﻚ ﺳﺮي ﻋﻼﺋﻢ ﻧﮕﺎرﺷﻲ ﻣﺎﻧﻨـﺪ ﻧﻘﻄـﻪ ) (.و وﻳﺮﮔـﻮل ﺗﺸـﻜﻴﻞ ﺷﺪه اﺳﺖ .ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﻓﻘﻂ ﺣﺮوف اﻧﮕﻠﻴﺴﻲ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﻋﻼﺋﻢ ﻧﮕﺎرﺷﻲ را ﻧﺎدﻳﺪه ﺑﮕﻴﺮد. ورودي :ﻧﺎم ﻓﺎﻳﻞ ﻣﺘﻨﻲ )ﻣﺜﻼ (text.dat :ﺧﺮوﺟﻲ :ﻫﻴﺴﺘﻮﮔﺮام ﻓﺮاواﻧﻲ ﺣﺮوف – در ﻫﺮ ﺳﻄﺮ اﺑﺘﺪا ﺑﺎﻳﺪ ﻧﺎم ﺣﺮف ﺳﭙﺲ ﻋﻼﻣﺖ "": و ﺳﭙﺲ ﺑﻪ اﻧﺪازهي ﻓﺮاواﻧﻲ آن ﺣﺮف در ﻣﺘﻦ ﺳﺘﺎره ﭼﺎپ ﺷﻮد) .ﻫﻴﭻ spaceاي در ﺧﺮوﺟﻲ ﻧﺒﺎﻳﺪ ﭼﺎپ ﺷﻮد و ﭘﺲ از ﻫﺮ ﺧـﻂ ﺑﺎﻳـﺪ ﻳﻚ newlineزده ﺷﻮد( – ]ﻟﻄﻔﺎ ﻓﺮﻣﺖ ﺧﺮوﺟﻲ را ﻋﻴﻨﺎً رﻋﺎﻳﺖ ﻛﻨﻴﺪ[. ﺧﺮوﺟﻲ ﻣﺘﻨﺎﻇﺮ ﻣﺤﺘﻮاي ﻧﻤﻮﻧﻪ ﻓﺎﻳﻞ text.dat **********************************************a: *********** ******b: ***********************c: ***************d: **********************************************e: *************** **********f: *************g: ****************h: ********************************i: j: *k: ***********************l: ******************m: *********************************n: *******************************o: *******p: ***q: ************************************r: *********************************s: ***********************************************t: **********u: *v: ***w: *x: **********y: z: in formal languages, which are used in mathematical logic and theoretical computer science, a string is a finite sequence of symbols that are chosen from a set or alphabet. in computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. the latter may allow its elements to be mutated and/or the length changed, or it may be fixed (after creation). a string is generally understood as a data type and is often implemented as a byte (or word) array that stores a sequence of elements, typically characters, using some character encoding. ) (3 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﺗﻤﺮﯾﻦ دوم -ﮐﻼس ﺑﺮای ﻣﺎﺗﺮﯾﺲﻫﺎ ) ۲۰ﻧﻤﺮه(: ﻳﻚ ﻛﻼس ﺑﺮاي ﻋﻤﻠﻴﺎت ﺑﺮ روي ﻣﺎﺗﺮﻳﺲﻫﺎ ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ .ﻋﻨﺎﺻﺮ اﻳﻦ ﻣﺎﺗﺮﻳﺲ اﻋﺪاد ﺻﺤﻴﺢ ﻫﺴﺘﻨﺪ .ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از اﻳـﻦ ﻛـﻼس، ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﻃﻼﻋﺎت ﻣﺎﺗﺮﻳﺲﻫﺎ و ﻧﻮع ﻋﻤﻠﻴﺎت ﺑﺮ روي آﻧﻬﺎ را از ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ ﺧﻮاﻧﺪه ،ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ را ﺑـﺮ روي آﻧﻬـﺎ اﻧﺠﺎم داده و ﻧﺘﻴﺠﻪ را در ﻳﻚ ﻓﺎﻳﻞ ﺧﺮوﺟﻲ ﺑﻨﻮﻳﺴﺪ. .1ﺗﻌﺮﻳﻒ ﻛﻼس ﻣﺎﺗﺮﻳﺲ :ﻧﺎم اﻳﻦ ﻛﻼس را Matrixﮔﺬاﺷﺘﻪ و ﺗﻮاﺑﻊ زﻳﺮ را در آن ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ: Description ﺗﺎﺑﻊ ﺳﺎزﻧﺪهي ﻣﺎﺗﺮﻳﺲ ،ﻛﻪ اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ را ﺑﻪ »ﺻﻔﺮ« ﻣﻘﺪاردﻫﻲ اوﻟﻴﻪ ﻣﻲﻛﻨﺪ. Function Prototype Matrix (); ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﺗﺎﺑﻊ ،ﻋﻨﺎﺻﺮ ﻣﺎﺗﺮﻳﺲ از ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ ﺧﻮاﻧﺪه ﻣﻲﺷـﻮﻧﺪ؛ اﺑﺘـﺪا دو ﻋﺪد از ﻓﺎﻳﻞ ورودي ﺧﻮاﻧﺪه ﻣﻲﺷﻮد )ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل و ( ﻛـﻪ ﺑـﻪ ﺗﺮﺗﻴـﺐ ﻋﻨﺼـﺮ ،از ﺳﻄﺮ و ﺳﺘﻮن ﻣﺎﺗﺮﻳﺲ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﻨﺪ .ﺳﭙﺲ ﺑـﻪ ﺗﻌـﺪاد ﻓﺎﻳﻞ ﺧﻮاﻧﺪه ﻣﻲﺷﻮد. void readFromFile (); اﻳﻦ ﺗﺎﺑﻊ ﻋﻨﺎﺻﺮ ﻣﺎﺗﺮﻳﺲ را در ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ ﻣﻲﻧﻮﻳﺴـﺪ؛ اﺑﺘـﺪا دو ﻋـﺪد ﻣﻌـﺮف ﺳﻄﺮ و ﺳﺘﻮن ﻣﺎﺗﺮﻳﺲ ،و ﺑﻌﺪ از آن ﻋﻨﺎﺻﺮ ﻣﺎﺗﺮﻳﺲ در ﻓﺎﻳﻞ ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮﻧﺪ . void writeToFile(); )10 , (1 اﻳﻦ ﺗﺎﺑﻊ ﻣﺎﺗﺮﻳﺴﻲ ﺑﺎ ﻧﺎم matrix2را ﺑﻪ ﻋﻨﻮان آرﮔﻮﻣﺎن درﻳﺎﻓﺖ ﻛﺮده و ﻣـﺎﺗﺮﻳﺲ Matrix sum (const Matrix& matrix2) const; ﻓﻌﻠﻲ را ﺑﺎ matrix2ﺟﻤﻊ ﻣﻲﻛﻨﺪ و ﻧﺘﻴﺠـﻪ را ﺑﺮﻣـﻲﮔﺮداﻧـﺪ) .ﺑـﺮ روي ﻣـﺎﺗﺮﻳﺲ اﺻﻠﻲ ﺗﺎﺛﻴﺮ ﻧﻤﻲﮔﺬارد(. در ﺻﻮرﺗﻲ ﻛﻪ اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ اﺻﻠﻲ ﺑـﺎ matrix2ﻧﺎﺳـﺎزﮔﺎر ﺑﺎﺷـﺪ )ﻳﻌﻨـﻲ ﺳـﻄﺮ و ﺳﺘﻮن دو ﻣﺎﺗﺮﻳﺲ ﺑﺮاﺑﺮ ﻧﺒﺎﺷﻨﺪ( ،ﺑﺎﻳﺪ ﭘﻴﻐﺎم ﺧﻄـﺎي Dimensions mismatch در ﺧﺮوﺟﻲ اﺳﺘﺎﻧﺪارد ) (coutﭼﺎپ ﺷﺪه و ﺑﺮﻧﺎﻣﻪ ﺧﺎﺗﻤﻪ ﻳﺎﺑﺪ. اﻳﻦ ﺗﺎﺑﻊ ﻣﺎﺗﺮﻳﺴﻲ ﺑﺎ ﻧﺎم matrix2را ﺑﻪ ﻋﻨﻮان آرﮔﻮﻣﺎن درﻳﺎﻓﺖ ﻛﺮده و ﻣـﺎﺗﺮﻳﺲ Matrix multiply (const Matrix& matrix2) const; ﻓﻌﻠﻲ را در matrix2ﺿﺮب ﻣﻲﻛﻨﺪ و ﻧﺘﻴﺠﻪ را ﺑﺮﻣﻲﮔﺮداﻧﺪ. در ﺻﻮرﺗﻲ ﻛﻪ اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ ﻓﻌﻠﻲ ﺑﺎ اﺑﻌﺎد matrix2ﻧﺎﺳﺎزﮔﺎر ﺑﺎﺷﺪ )ﻳﻌﻨﻲ ﺳـﺘﻮن ﻣﺎﺗﺮﻳﺲ اول ﺑﺎ ﺳﻄﺮ ﻣﺎﺗﺮﻳﺲ دوم ﺑﺮاﺑﺮ ﻧﺒﺎﺷﺪ( ،ﺑﺎﻳﺪ ﭘﻴﻐﺎم ﺧﻄﺎي Dimensions mismatchﭼﺎپ ﺷﺪه و ﺑﺮﻧﺎﻣﻪ ﺧﺎﺗﻤﻪ ﻳﺎﺑﺪ. Matrix transposed() const; اﻳﻦ ﺗﺎﺑﻊ ﺗﺮاﻧﻬﺎدهي ﻣﺎﺗﺮﻳﺲ ﻓﻌﻠﻲ را ﺑﺮﻣﻲﮔﺮداﻧﺪ . ) (4 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ ﺑﻴﻦ 1ﺗﺎ 10ﻫﺴﺘﻨﺪ. .2ﻋﻤﻠﻴﺎت ﺑﺮ روي ﻣﺎﺗﺮﻳﺲ :ﻧﻮع ﻋﻤﻠﻴﺎت ﺑﺮ روي ﻣﺎﺗﺮﻳﺲﻫﺎ ﺑﺎ ﻳﻚ ﺷﻤﺎره ﻣﺸﺨﺺ ﻣﻲﺷﻮد .اﻳﻦ ﺷـﻤﺎره و ﻋﻤﻠﻴـﺎت ﻣﺘﻨـﺎﻇﺮ آن در ﺟﺪول زﻳﺮ ﻟﻴﺴﺖ ﺷﺪهاﻧﺪ: ﺷﺮح ﺑﺮﻧﺎﻣﻪ دو ﻣﺎﺗﺮﻳﺲ را از ﻓﺎﻳﻞ ورودي درﻳﺎﻓﺖ ﻛﻨﺪ )ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ ،(readFromFileآﻧﻬﺎ را ﺑﺎ ﻫﻢ ﺟﻤﻊ ﻛﺮده و ﻧﺘﻴﺠﻪ را در ﻓﺎﻳﻞ ﺧﺮوﺟﻲ ﺑﻨﻮﻳﺴﺪ )ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ .(writeToFile ﺑﺮﻧﺎﻣﻪ دو ﻣﺎﺗﺮﻳﺲ را از ﻓﺎﻳﻞ ورودي درﻳﺎﻓﺖ ﻛﺮده ،آﻧﻬﺎ را در ﻫﻢ ﺿﺮب ﻛﺮده و ﻧﺘﻴﺠﻪ را در ﻓﺎﻳﻞ ﺧﺮوﺟﻲ ﺑﻨﻮﻳﺴﺪ. ﺑﺮﻧﺎﻣﻪ ﻳﻚ ﻣﺎﺗﺮﻳﺲ از ﻓﺎﻳﻞ ورودي درﻳﺎﻓﺖ ﻛﺮده و ﺗﺮاﻧﻬﺎدهي آن را در ﻓﺎﻳﻞ ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ. ﻋﻤﻠﻴﺎت ﺷﻤﺎره Sum 1 Multiply 2 Transpose 3 .3ﻓﺎﻳﻞﻫﺎي ورودي و ﺧﺮوﺟﻲ :ﻧﺎم ﻓﺎﻳﻞ ورودي input.txtاﺳﺖ .در اﺑﺘﺪاي اﻳﻦ ﻓﺎﻳﻞ ﻣﺘﻨﻲ ،ﺷﻤﺎرهي ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ ﻗﺮار دارد .در اداﻣﻪي ﻣﺤﺘﻮاي اﻳﻦ ﻓﺎﻳﻞ ،ﻣﺸﺨﺼﺎت ﻣﺎﺗﺮﻳﺲ ﺑﻪ ﺻﻮرت ﻣﺠﻤﻮﻋﻪاي از اﻋﺪاد ذﺧﻴﺮه ﺷﺪه اﺳﺖ )ﻛﻪ ﺑﺴﺘﻪ ﺑﻪ ﻧﻮع ﻋﻤﻠﻴﺎت ،اﻃﻼﻋﺎت ﻳﻚ ﻳﺎ دو ﻣﺎﺗﺮﻳﺲ وﺟﻮد دارد( .ﺑﻪ اﻳﻦ ﺻﻮرت ﻛﻪ اﺑﺘﺪا اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ اول ﺑﻪ ﺻﻮرت دو ﻋﺪد ﺻﺤﻴﺢ و در اداﻣﻪ ﻣﻘﺎدﻳﺮ ﻋﻨﺎﺻﺮ ﻣﺎﺗﺮﻳﺲ اول ﺑﻪ ﺗﺮﺗﻴﺐ ﺳﻄﺮ ﺑﻪ ﺳﻄﺮ ﻗﺮار دارد .در ﺻﻮرﺗﻲ ﻛﻪ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﺿﺮب ﻳﺎ ﺟﻤﻊ ﺑﺎﺷﺪ ،در اداﻣﻪي اﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎت ﻣﺎﺗﺮﻳﺲ دوم ﺑﻪ ﻫﻤﺎن ﺻﻮرت ﻗﺒﻠﻲ آﻣﺪه اﺳﺖ .ﺗﻤﺎﻣﻲ اﻋﺪاد ﺑﺎ ﻳﻚ ﻓﺎﺻﻠﻪ ) (Spaceاز ﻫﻤﺪﻳﮕﺮ ﺟﺪا ﺷﺪهاﻧﺪ. ﺑﻌﺪ از اﻳﻨﻜﻪ ﺑﺮﻧﺎﻣﻪ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ را اﻧﺠﺎم داد ،ﻣﺎﺗﺮﻳﺲ ﻧﺘﻴﺠﻪ را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ writeToFileدر ﻓﺎﻳـﻞ ﺧﺮوﺟـﻲ ﻣـﻲﻧﻮﻳﺴـﺪ. ﻓﺎﻳﻞ ﺧﺮوﺟﻲ ،ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ ﺑﺎ ﻧﺎم output.txtاﺳﺖ و ﺗﻤﺎﻣﻲ اﻋﺪاد ﺑﺎ ﻳﻚ ﻓﺎﺻﻠﻪ ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ و ﺑﻪ ﺗﺮﺗﻴﺐ ﺳﻄﺮ ﺑﻪ ﺳـﻄﺮ ﻧﻮﺷـﺘﻪ ﻣﻲﺷﻮﻧﺪ )ﺑﺪون ﻧﻮﺷﺘﻦ .(newline ﻣﺜﺎلﻫﺎﻳﻲ از ﻧﺤﻮهي ورودي و ﺧﺮوﺟﻲ اﻳﻦ ﺑﺮﻧﺎﻣﻪ در ﺟﺪاول زﻳﺮ آﻣﺪه اﺳﺖ. ﻣﺤﺘﻮاي ﻓﺎﻳﻞ output.txt ﻣﺤﺘﻮاي ﻓﺎﻳﻞ input.txt 2 2 20 14 56 41 2 2 3 1 2 3 4 5 6 3 2 6 5 4 3 2 1 ) (5 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﻣﺤﺘﻮاي ﻓﺎﻳﻞ output.txt ﻣﺤﺘﻮاي ﻓﺎﻳﻞ input.txt 2 2 2 6 8 6 1 2 2 1 2 3 4 2 2 1 4 5 2 ﻣﺤﺘﻮاي ﻓﺎﻳﻞ output.txt ﻣﺤﺘﻮاي ﻓﺎﻳﻞ input.txt 1 2 2 1 2 3 4 3 2 6 5 4 3 2 1 )ﭼﻴﺰي در ﻓﺎﻳﻞ ﻧﻮﺷﺘﻪ ﻧﻤﻲﺷﻮد و ﭘﻴﻐﺎم Dimensions mismatchدر ﺧﺮوﺟﻲ اﺳﺘﺎﻧﺪارد ﭼﺎپ ﻣﻲﺷﻮد(. ﺗﻤﺮﯾﻦ ﺳﻮم -ﻣﺮﺗﺐﺳﺎزی اﻋﺪاد ) ۱۵ﻧﻤﺮه(: ﻳﻜﻲ از روشﻫﺎي ﻣﺮﺗﺐﺳﺎزي ﻋﻨﺎﺻﺮ ﻳﻚ آراﻳﻪ ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ در ﻫﺮ ﻧﻮﺑﺖ ﻋﻨﺼـﺮ ﻣـﺎﻛﺰﻳﻤﻢ را ﭘﻴـﺪا ﻛـﺮده و ﺑـﻪ آﺧـﺮ آراﻳـﻪ ﻣﻲﺑﺮﻳﻢ .ﺗﺎﺑﻌﻲ ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ را ﺑﺮ روي آراﻳﻪاي از اﻋﺪاد ﺻﺤﻴﺢ ﭘﻴﺎده ﻛﻨﺪ .ﻳﻌﻨﻲ در ﻫﺮ ﺑﺎر اﺟﺮا ،ﻋـﺪد ﻣﺎﻛﺰﻳﻤﻢ را ﭘﻴﺪا ﻛﺮده و ﺑﻪ آﺧﺮ آراﻳﻪ ﻣﻨﺘﻘﻞ ﻛﻨﺪ .ﺳﭙﺲ ﺧﻮد را ﺑﺮ روي ﺑﺎﻗﻴﻤﺎﻧﺪهي آراﻳﻪ ﻓﺮاﺧﻮاﻧﻲ ﻛﻨـﺪ .ﺑﺮﻧﺎﻣـﻪاي ﺑﻨﻮﻳﺴـﻴﺪ ﻛـﻪ ﺑـﺎ اﺳﺘﻔﺎده از اﻳﻦ ﺗﺎﺑﻊ ،ﻃﻮل و اﻋﻀﺎي ﻳﻚ آراﻳﻪ را از ﻛﺎرﺑﺮ ﺑﮕﻴﺮد و آن را ﺑﻪ روش ﻓﻮق ﻣﺮﺗﺐ ﻛﻨﺪ و ﺑﻌﺪ ﻋﻨﺎﺻﺮ آراﻳﻪي ﻣﺮﺗﺐﺷـﺪه را ﺑـﺎ ﻳﻚ ﻓﺎﺻﻠﻪ از ﻫﻢ در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ) .ﻃﻮل آراﻳﻪ ﺑﻴﻦ 1ﺗﺎ (100 ﻣﺜﺎل ﺧﺮوﺟﻲ ﻣﺜﺎل ورودي 1 2 3 4 5 5 5 2 4 3 1 ﺗﻤﺮﯾﻦ ﭼﻬﺎرم -ﻣﺮﺗﺐﺳﺎزی رﺷﺘﻪﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از اﺷﺎرهﮔﺮ ) ۱۵ﻧﻤﺮه(: ﺑﺮﻧﺎﻣﻪي ﺗﻤﺮﻳﻦ ﺳﻮم را ﻃﻮري ﺗﻐﻴﻴﺮ دﻫﻴﺪ ﻛﻪ آراﻳﻪاي از رﺷﺘﻪﻫﺎ را ﻣﺮﺗﺐ ﻛﻨﺪ .اﻳﻨﻜﺎر را ﺑﺎ اﺳﺘﻔﺎده از ﺟﺎﺑﺠﺎﻛﺮدن 1اﺷﺎرهﮔﺮ رﺷـﺘﻪﻫـﺎ اﻧﺠﺎم دﻫﻴﺪ .ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ اﺑﺘﺪا ﺗﻌﺪاد رﺷﺘﻪﻫﺎ را ﮔﺮﻓﺘﻪ و ﺳﭙﺲ ﻫﺮ رﺷﺘﻪ را در ﻳﻚ ﺳﻄﺮ درﻳﺎﻓﺖ ﻧﻤﺎﻳﺪ .در ﭘﺎﻳﺎن ،رﺷﺘﻪﻫﺎ را ﺑـﻪ ﺻـﻮرت ﻣﺮﺗﺐﺷﺪهي اﻟﻔﺒﺎﻳﻲ در ﺧﺮوﺟﻲ ،ﻫﺮ ﻛﺪام در ﻳﻚ ﺳﻄﺮ ﭼﺎپ ﻧﻤﺎﻳﺪ .ﺗﺎﺑﻊ ﻣﺮﺗﺐﺳﺎزي ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﻲ ﺑﺎﺷﺪ. ﻣﺜﺎل ﺧﺮوﺟﻲ ﻣﺜﺎل ورودي C++ Programming String sort sample Test This is my fourth homework. 4 C++ Programming Test This is my fourth homework. String sort sample Swap 1 ) (6 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﺗﻤﺮﯾﻦ ﭘﻨﺠﻢ -ﻣﻌﮑﻮس رﺷﺘﻪ ) ۱۵ﻧﻤﺮه(: ﻳﻚ ﺗﺎﺑﻊ ﺑﺎزﮔﺸﺘﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ رﺷﺘﻪ را ﺑﻪ ﻋﻨﻮان آرﮔﻮﻣﺎن ورودي ﺑﮕﻴﺮد و ﻣﻌﻜﻮس آن را ﺑـﻪ ﻋﻨـﻮان ﺧﺮوﺟـﻲ ﺑﺮﮔﺮداﻧـﺪ .ﺳـﭙﺲ ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ در ﻳﻚ ﺣﻠﻘﻪ ﺷﺮوع ﺑﻪ ﺧﻮاﻧﺪن ﺗﻌﺪادي رﺷﺘﻪ ﻛﻨﺪ و ﻫﺮ ﺑﺎر ﭘﺲ از ﮔﺮﻓﺘﻦ رﺷﺘﻪ ،ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﺗﺎﺑﻊ ﻣﻌﻜﻮس آن را ﺑﻪ دﺳﺖ آورده و ﭼﺎپ ﻛﻨﺪ) .در ﭘﺎﻳﺎن ﻫﺮ رﺷﺘﻪ ﻳﻚ newlineﭼﺎپ ﺷﻮد (.ﺑﺎ ورود رﺷﺘﻪ exitﺑﺮﻧﺎﻣﻪ ﭘﺎﻳﺎن ﻣﻲﻳﺎﺑﺪ. ﻣﺜﺎل ﺧﺮوﺟﻲ ﻣﺜﺎل ورودي Test tseT Sample code edoc elpmaS exit ﺗﻤﺮﯾﻦ ﺷﺸﻢ -ﻣﺮﺗﺐﺳﺎزی ﺳﺮﯾﻊ ) ۲۰ﻧﻤﺮه(: ﻳﻜﻲ از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﭘﺮﻛﺎرﺑﺮد ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي Quick Sortﻳﺎ ﻣﺮﺗﺐﺳﺎزي ﺳﺮﻳﻊ 2اﺳﺖ .در اﻳﻦ روش ،ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي ﻋﻨﺎﺻﺮ ﻳﻚ دﻧﺒﺎﻟﻪ ،ﻳﻜﻲ از آﻧﻬﺎ ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ ﺑﻪ ﻋﻨﻮان ﻣﺤﻮر 3اﻧﺘﺨﺎب ﻣﻲﺷﻮد؛ ﺳﭙﺲ ﻋﻨﺎﺻﺮ آن دﻧﺒﺎﻟﻪ ﺑﻪ ﮔﻮﻧﻪاي ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ ﻛﻪ ﻫﻤﻪي ﻋﻨﺎﺻﺮ ﻛﻮﭼﻚﺗﺮ از ﻣﺤﻮر در آﻏﺎز دﻧﺒﺎﻟﻪ ،و ﻫﻤﻪي ﻋﻨﺎﺻﺮ ﺑﺰرگﺗﺮ ﻳﺎ ﻣﺴﺎوي ﻣﺤﻮر در اداﻣﻪ ﻗﺮار ﮔﻴﺮﻧﺪ .ﺑﻪ اﻳﻦ ﻋﻤﻞ ﺑﺨﺶﺑﻨﺪي 4 ﮔﻔﺘﻪ ﻣﻲﺷﻮد .ﻣﺜﻼً در دﻧﺒﺎﻟﻪي زﻳﺮ: < 1, 100, 5, 3, 2, 10, 4 > اﮔﺮ ﻋﺪد 5ﺑﻪ ﻋﻨﻮان ﻣﺤﻮر اﻧﺘﺨﺎب ﺷﻮد ،ﭘﺲ از ﻋﻤﻞ ﺑﺨﺶﺑﻨﺪي دﻧﺒﺎﻟﻪي زﻳﺮ ﺣﺎﺻﻞ ﻣﻲﺷﻮد: < 1, 3, 2, 4, 5, 100, 10 > اﻛﻨﻮن اﮔﺮ ﺗﺎﺑﻊ ﻣﺮﺗﺐﺳﺎزي ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﻲ روي دو ﺑﺨﺶ زﻳﺮ )ﻛﻪ ﺣﺎﺻﻞ از ﺑﺨﺶﺑﻨﺪي اﺳﺖ( اﺟﺮا ﺷﻮد: < 1, 3, 2, 4 >, < 100, 10 > در اﻳﻦ ﺻﻮرت ﻛﻞ دﻧﺒﺎﻟﻪ ﺑﻪ ﺻﻮرت ﻣﺮﺗﺐ در ﺧﻮاﻫﺪ آﻣﺪ. در اﻳﻦ ﺗﻤﺮﻳﻦ ﺷﻤﺎ ﺑﺎﻳﺪ ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﺑﺎزﮔﺸﺘﻲ ﻣﺮﺗﺐﺳﺎزي ﺳﺮﻳﻊ ،آراﻳﻪاي از اﻋﺪاد ﺻﺤﻴﺢ را ﻣﺮﺗﺐ ﻛﻨﺪ. اﻳﻦ ﺗﺎﺑﻊ را دﻗﻴﻘﺎً ﺑﻪ ﺻﻮرت زﻳﺮ ﭘﻴﺎدهﺳﺎزي ﻛﻨﻴﺪ: void quick_sort(int *start, int *end); http://en.wikipedia.org/wiki/Quicksort#Algorithm 2 Pivot 3 Partitioning 4 ) (7 ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )(۴۰-۱۵۳) (C/C++ )Introduction to Programming (C/C++ ﺑﻪﻧﺎﻡ ﺧﺪﺍ ﻣﺪرس :ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ :ﺳﺎﻋﺖ ،۱۵:۳۰روز ﭘﻨﺠﺸﻨﺒﻪ ۱۳۹۰/۱۰/۲۲ ﺗﻤﺮﻳﻦ ﺷﻤﺎره ۴ ﻋﻨﺎﺻﺮي ﻛﻪ ﻗﺮار اﺳﺖ ﻣﺮﺗﺐ ﺷﻮﻧﺪ ،ﺑﺎ اﺷﺎرهﮔﺮﻫﺎي startو endﻣﺸﺨﺺ ﻣﻲﺷﻮﻧﺪ .ﻣﺜﻼً ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي آراﻳﻪي aﻛﻪ ﺑﻪ ﺻﻮرت ;] int a[1000ﺗﻌﺮﻳﻒ ﺷﺪه ،ﺗﺎﺑﻊ quick_sortﺑﻪ ﺻﻮرت زﻳﺮ ﻓﺮاﺧﻮاﻧﻲ ﻣﻲﺷﻮد: quick_sort(a, a + 1000); ﺑﻪ ﻃﻮر ﻛﻠﻲ ﺑﺎ ﻓﺮاﺧﻮاﻧﻲ ;) quick_sort(a + i, a + jﻋﻨﺎﺻﺮي از آراﻳﻪي aﻛﻪ اﻧﺪﻳﺴﺸﺎن در ﺑﺎزهي ) [i, jﻗﺮار دارد ،ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺗﻜﻪآراﻳﻪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه و ﻣﺮﺗﺐ ﻣﻲﺷﻮﻧﺪ. ﺗﺬﻛﺮ :در ﭘﻴﺎدهﺳﺎزي اﻳﻦ ﺗﺎﺑﻊ ﻧﺒﺎﻳﺪ آراﻳﻪي اﺿﺎﻓﻲ ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ.5 »ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ« http://en.wikipedia.org/wiki/Quicksort#In‐place_version 5 ) (8
© Copyright 2026 Paperzz