Introduction to Programming Assignment 4 Due: 11:59 pm, Sunday, December 5, 2010 (14/9/1389). By: Sahar Harati BoshraTaheri 1 Fall 2010 Sharif University of Technology ﺗﻮﺿﻴﺤﺎت ﻗﺒﻞ از ﺷﺮوع ،ﻣﻮارد زﻳﺮ را ﺑﻪ دﻗﺖ ﺑﺨﻮاﻧﻴﺪ: در ﻫﺮ ﻳﻚ از ﺑﺮﻧﺎﻣﻪﻫﺎ ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺧﻮد را ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ: //ID: your student ID ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل: //ID:89654321 ﺑﻌﺪ از ﻧﻮﺷﺘﻦ ﻫﻤﻪي ﺑﺮﻧﺎﻣﻪﻫﺎ ،ﻓﺎﻳﻞ .cppﻫﻤﻪي آنﻫﺎ را در ﻳﻚ ﭘﻮﺷﻪ ﺑﺎ ﻧﺎم assignment#4_stdIDﻗﺮار دﻫﻴﺪ )ﻛﻪ در آن stdIDﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ(؛ ﻣﺜﻼ .assignment#4_89654321ﺳﭙﺲ اﻳﻦ ﭘﻮﺷﻪ را ﻓﺸﺮده ﻛﻨﻴﺪ .ﻓﺎﻳﻞ ﻓﺸﺮده ﺷﺪه را ﺑﻪ آدرس [email protected]ارﺳﺎل ﻧﻤﺎﻳﻴﺪ. Sharif University of Technology Fall 2010 2 ﺗﻮﺿﻴﺤﺎت )اداﻣﻪ( ﻋﻨﻮان اﻳﻤﻴﻞ ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت assignment#4_stdIDﺑﺎﺷﺪ ،ﻛﻪ در آن stdIDﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ. ﻧﺤﻮهي ورودي ﮔﺮﻓﺘﻦ و ﺧﺮوﺟﻲ دادن ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ دﻗﻴﻘﺎ ﺑﻪ ﺻﻮرت ﮔﻔﺘﻪ ﺷﺪه در ﻣﺴﺄﻟﻪ ﺑﺎﺷﺪ) .ﻣﺜﻼ ﺑﻪ ﻓﺎﺻﻠﻪﻫﺎ و ﺑﺰرگ و ﻛﻮﭼﻚ ﺑﻮدن ﺣﺮوف دﻗﺖ ﻛﻨﻴﺪ(. ﺑﻪ ﻫﺮ ﻳﻚ از ﺑﺮﻧﺎﻣﻪﻫﺎي ﺷﻤﺎ ﺗﻌﺪادي دادهي ﻧﻤﻮﻧﻪ ﺟﻬﺖ آزﻣﺎﻳﺶ ﺑﺮﻧﺎﻣﻪ ،داده ﺧﻮاﻫﺪ ﺷﺪ. ﺑﻨﺎﺑﺮاﻳﻦ ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛﻪ ﺣﺘﻤﺎ ﻳﻚ ﺑﺎر ﺗﺴﺖﻫﺎي ﻧﻤﻮﻧﻪ را ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﻳﺘﺎن ﺑﺪﻫﻴﺪ. ﺗﺬﻛﺮ :1ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺸﺎﺑﻪ ﻧﻤﺮهي ﻣﻨﻔﻲ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .ﺑﻨﺎﺑﺮاﻳﻦ اﻛﻴﺪا ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛﻪ ﻫﺮ داﻧﺸﺠﻮ ﺑﺮﻧﺎﻣﻪي ﺧﻮد را ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻧﻮﺷﺘﻪ و ﺣﺘﻲاﻻﻣﻜﺎن داراي اﻟﮕﻮرﻳﺘﻢ، ﻛﺪ و ﻧﺤﻮهي ﭘﻴﺎدهﺳﺎزي ﻣﺘﻔﺎوﺗﻲ ﺑﺎﺷﺪ. ﺗﺬﻛﺮ :2ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ در ﺻﻔﺤﻪي اول ذﻛﺮ ﺷﺪه اﺳﺖ ،ﻣﻬﻠﺖ ارﺳﺎل ﺑﺮﻧﺎﻣﻪ ﻫﺎﺑﻪ اﻳﻤﻴﻞ ﻣﺸﺨﺺﺷﺪه ،ﺳﺎﻋﺖ 23:59ﻳﻜﺸﻨﺒﻪ ) (89/9/14ﻣﻲﺑﺎﺷﺪ .ﺑﻪ ﺗﻤﺮﻳﻦﻫﺎﻳﻲ ﻛﻪ ﭘﺲ از اﻳﻦ ﺳﺎﻋﺖ ﺑﻪ آدرس ﻣﺸﺨﺺﺷﺪه ارﺳﺎل ﮔﺮدﻧﺪ ،ﻧﻤﺮهي ﺻﻔﺮ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ. Sharif University of Technology Fall 2010 3 ﻣﺴﺄﻟﻪي اول )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ(Variance.cpp : ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ 15ﻋﺪد ﺻﺤﻴﺢ از ورودي ﺑﺨﻮاﻧﺪ و وارﻳﺎﻧﺲ آﻧﻬﺎ را درﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ. ﺑﺮاي ﻣﺤﺎﺳﺒﻪي وارﻳﺎﻧﺲ ﻣﻲﺗﻮاﻧﻴﺪ از ﻓﺮﻣﻮل زﻳﺮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ: ﻛﻪ در آن ،ﻣﻴﺎﻧﮕﻴﻦ و nﺗﻌﺪاد اﻋﺪاد )در اﻳﻨﺠﺎ (15اﺳﺖ. ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﺗﺎﺑﻊ زﻳﺮ ﺑﺎﺷﺪ: ;)][double Var(int x Sharif University of Technology Fall 2010 4 ﻣﺴﺄﻟﻪي دوم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ(JollyJumper.cpp : ﻳﻚ ﺗﺮﺗﻴﺐ از nﻋﺪد Jolly Jumperﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد اﮔﺮ ﻗﺪرﻣﻄﻠﻖﻫﺎي ﺗﻔﺎﺿﻞ دو ﻋﺪد ﻣﺘﻮاﻟﻲ آن ،ﻫﻤﻪي اﻋﺪاد 1ﺗﺎ ) (n-1را ﺗﻮﻟﻴﺪ ﻛﻨﺪ .ﻣﺜﻼً 1،4،2،3 Jolly Jumperاﺳﺖ؛ زﻳﺮا ﻗﺪرﻣﻄﻠﻖ ﺗﻔﺎﺿﻞ ﻫﺮ دو ﻋﺪد ﻣﺘﻮاﻟﻲ آن ﺑﻪ ﺗﺮﺗﻴﺐ 3،2،1اﺳﺖ. ﻃﺒﻖ ﺗﻌﺮﻳﻒ ،ﻳﻚ ﻋﺪد ﺑﻪ ﺗﻨﻬﺎﻳﻲ Jolly Jumperاﺳﺖ. ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ n>3000و ﺑﻪ دﻧﺒﺎل آن nﻋﺪد از ورودي ﺑﺨﻮاﻧﺪ و ﻣﺸﺨﺺ ﻛﻨﺪ Jolly Jumperاﺳﺖ ﻳﺎ ﺧﻴﺮ. ورودي ﺧﺮوﺟﻲ Jolly Jolly Not Jolly Sharif University of Technology 41423 16 5 1 4 2 -16 Fall 2010 5 ﻣﺴﺄﻟﻪي ﺳﻮم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ(Matrix.cpp : ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دراﻳﻪﻫﺎي دو ﻣﺎﺗﺮﻳﺲ را از ورودي ﺑﺨﻮاﻧﺪ و ﻣﺎﺗﺮﻳﺲ ﺣﺎﺻﻞﺿﺮب ﻣﺎﺗﺮﻳﺲ اول در ﻣﺎﺗﺮﻳﺲ دوم را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ. ورودي :در ﺧﻂ اول اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ اول ) (m×nو در mﺧﻂ ﺑﻌﺪي دراﻳﻪﻫﺎي ﻣﺎﺗﺮﻳﺲ اول ،در ﺧﻂ )(m+2ام اﺑﻌﺎد ﻣﺎﺗﺮﻳﺲ دوم ) (t×lو در tﺧﻂ ﺑﻌﺪي دراﻳﻪﻫﺎي ﻣﺎﺗﺮﻳﺲ دوم را از ورودي ﺑﺨﻮاﻧﻴﺪ. ﺧﺮوﺟﻲ :دراﻳﻪﻫﺎي ﻣﺎﺗﺮﻳﺲ ﺣﺎﺻﻞﺿﺮب را ﭼﺎپ ﻛﻨﻴﺪ .اﮔﺮ ﺿﺮب دو ﻣﺎﺗﺮﻳﺲ اﻣﻜﺎنﭘﺬﻳﺮ ﻧﺒﻮد ،ﻋﻼﻣﺖ ؟ را ﭼﺎپ ﻛﻨﻴﺪ. Sharif University of Technology Fall 2010 6 ﻣﺴﺄﻟﻪي ﭼﻬﺎرم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ(Polynomial.cpp : ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ آراﻳﻪي ﺿﺮاﻳﺐ ﻳﻚ ﭼﻨﺪﺟﻤﻠﻪاي را از ورودي ﺑﺨﻮاﻧﺪ و آراﻳﻪي ﺿﺮاﻳﺐ ﻣﺸﺘﻖ و اﻧﺘﮕﺮال آن ﭼﻨﺪﺟﻤﻠﻪاي را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ. ورودي :در ﺧﻂ اول درﺟﻪي ﭼﻨﺪﺟﻤﻠﻪاي و در ﺧﻂ ﺑﻌﺪ ﺿﺮاﻳﺐ را ﺑﺨﻮاﻧﻴﺪ. ﺧﺮوﺟﻲ :در ﺧﻂ اول ﺿﺮاﻳﺐ ﻣﺸﺘﻖ و در ﺧﻂ ﺑﻌﺪي ﺿﺮاﻳﺐ اﻧﺘﮕﺮال را ﭼﺎپ ﻛﻨﻴﺪ. ﺧﺮوﺟﻲ 20 3 6 0 1 0.25 1 0 1 0 ورودي 4 51301 )ﻓﺮض ﻛﻨﻴﺪ ﺿﺮﻳﺐ ﺛﺎﺑﺘﻲ ﻛﻪ در اﺛﺮ اﻧﺘﮕﺮالﮔﻴﺮي ﺑﻪ دﺳﺖ ﻣﻲآﻳﺪ ﻫﻤﻴﺸﻪ ﺻﻔﺮ اﺳﺖ(. Sharif University of Technology Fall 2010 7 (ﻣﺴﺄﻟﻪي ﭼﻬﺎرم )اداﻣﻪ :ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﺗﻮاﺑﻊ زﻳﺮ ﺑﺎﺷﺪ double[] differentiate(double c[]); double[] integral(double c[]); 8 Fall 2010 Sharif University of Technology ﻣﺴﺄﻟﻪي ﭘﻨﺠﻢ )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ(Determinant.cpp : )ﻧﻤﺮهي اﺿﺎﻓﻲ( ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دراﻳﻪﻫﺎي ﻳﻚ ﻣﺎﺗﺮﻳﺲ 2ﺑﻌﺪي n*nرا از ورودي درﻳﺎﻓﺖ ﻛﻨﺪ و دﺗﺮﻣﻴﻨﺎن آنرا ﻣﺤﺎﺳﺒﻪ ﻛﺮده و در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ. دﺗﺮﻣﻴﻨﺎن را ﺑﻪ ﺻﻮرت ﺗﺎﺑﻊ ﺑﺎزﮔﺸﺘﻲ ﭘﻴﺎدهﺳﺎزي ﻛﻨﻴﺪ. ﻣﻲداﻧﻴﻢ ﻛﻪ: ﻛﻪ در آن M ،ﻣﺎﺗﺮﻳﺲ ﻛﻬﺎد Aﺑﻪ ازاء ﺳﻄﺮ iو ﺳﺘﻮن jاﺳﺖ. ﺑﻪ ﻋﻨﻮان ورودي در ﺧﻂ اول ﻋﺪد nو در ﻫﺮ ﻳﻚ از nﺳﻄﺮ ﺑﻌﺪ n ،ﻋﺪد اﻋﺸﺎري ﺑﺨﻮاﻧﻴﺪ و در ﺧﺮوﺟﻲ دﺗﺮﻣﻴﻨﺎن را ﭼﺎپ ﻛﻨﻴﺪ. Sharif University of Technology Fall 2010 9 (ﻣﺴﺄﻟﻪي ﭘﻨﺠﻢ )اداﻣﻪ ورودي 3 0.0 1.0 2.0 3.0 2.0 3.0 2.0 3.0 4.0 10 Fall 2010 ﺧﺮوﺟﻲ 4.0 Sharif University of Technology
© Copyright 2024 Paperzz