ﺳﺎﺧﺘﻤﺎن دادﻩ و اﻟﮕﻮرﯾﺘﻢ ﺗﻤﺮﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اول ﺁﺑﺎن ١٣٨۶ ﺳﻮال اول( ﯾﮏ ﮐﻼس stackﮐﻪ ﻣﺘﺪ هﺎﯼ زﯾﺮ را داﺷﺘﻪ ﺑﺎﺷﺪ را ﺑﻨﻮﯾﺴﻴﺪ. ) :Push(xﯾﮏ ﻋﻨﺼﺮ را اﺿﺎﻓﻪ ﻣﯽ ﮐﻨﺪ. .i )( :Topﻋﻨﺼﺮ ﺳﺮ را ﻧﻤﺎﯾﺶ ﻣﯽ دهﺪ. .ii )( :Popﻋﻨﺼﺮ ﺳﺮ را ور ﻣﯽ دارد و اﮔﺮ ﺧﺎﻟﯽ ﺑﻮد ﮐﺎرﯼ ﻧﻤﯽ ﮐﻨﺪ. .iii ﯾﮏ ﮐﻼس queueﮐﻪ ﻣﺘﺪ هﺎﯼ زﯾﺮ را داﺷﺘﻪ ﺑﺎﺷﺪ را ﺑﻨﻮﯾﺴﻴﺪ. ) :Push_back(xﯾﮏ ﻋﻨﺼﺮ را ﺑﻪ ﺗﻪ اﺿﺎﻓﻪ ﻣﯽ ﮐﻨﺪ. .iv )( :Frontﻋﻨﺼﺮ ﺳﺮ را ﻧﻤﺎﯾﺶ ﻣﯽ دهﺪ. .v ) :Pop(xﻋﻨﺼﺮ ﺳﺮ را ور ﻣﯽ دارد و اﮔﺮ ﺧﺎﻟﯽ ﺑﻮد ﮐﺎرﯼ ﻧﻤﯽ ﮐﻨﺪ. .vi ورودﯼ ﺧﺮوﺟﯽ: ورودﯼ ﺷﻤﺎ ﺷﺎﻣﻞ ﺗﻌﺪادﯼ ﺳﻄﺮ اﺳﺖ ﮐﻪ هﺮ ﮐﺪام اﺑﺘﺪا ﻧﺎم ﯾﮏ stackﻣﯽ ﺁﯾﺪ ﺳﭙﺲ ﻓﺎﻧﮑﺸﻦ ﻣﻮرد ﻧﻴﺎز ﺑﺮ روﯼ ﺁن و در ﭘﺎﯾﺎن ﺁرﮔﻮﻣﺎن )هﻤﻴﺸﻪ ﻋﺪد ﺻﺤﻴﺢ اﺳﺖ( ﺁن در ﺻﻮرت ﻧﻴﺎز .هﻤﭽﻨﻴﻦ ﺑﺮاﯼ ﺳﺎﺧﺘﻦ ﯾﮏ stackﯾﺎ queueﻣﯽ ﺁﯾﺪ و ﺳﭙﺲ دﺳﺘﻮر ) Creatﺧﻮدم ﻣﯽ داﻧﻢ eﻧﺪارد( و ﺳﭙﺲ ٠ﺑﻪ ﻣﻌﻨﯽ stackو ١ﺑﻪ ﻣﻌﻨﯽ .queue Exitهﻢ ﺑﻪ ﻣﻌﻨﯽ ﭘﺎﯾﺎن اﺳﺖ .در ﺧﺮوﺟﯽ ﻧﻴﺰ در هﺮ ﺧﺮوﺟﯽ هﺎﯼ ﺑﺮﻧﺎﻣﻪ ﺑﺮاﯼ دﺳﺘﻮراﺗﯽ ﮐﻪ ﺧﺮوﺟﯽ دارﻧﺪ ﻧﻤﺎﯾﺶ دادﻩ ﻣﯽ ﺷﻮد .ﺑﻪ ﻣﺜﺎل زﯾﺮ ﺑﻪ دﻗﺖ ﮐﻨﻴﺪ .ورودﯼ هﺎ ﻣﺸﮑﻠﯽ ﻧﺨﻮاهﻨﺪ داﺷﺖ. Output.txt 103 56 67 Input.txt A Creat 0 BB Creat 1 A Push 56 BB Push_back 67 A Push 103 BB Push_back 66 A Top A Pop A Top BB Front Exit ﺳﻮال دوم( ﺑﺮﻧﺎﻣﻪ اﯼ ﺑﻨﻮﯾﺴﻴﺪ ﮐﻪ ﺑﺎ ﮔﺮﻓﺘﻦ ﻣﺠﻤﻮﻋﻪ اﯼ از اﻋﺪاد ﻣﻴﺎﻧﻪ ﺁﻧﻬﺎ راﺑﻴﺎﺑﺪ .اﻟﮕﻮرﯾﺘﻢ ﺷﻤﺎ ﺑﺎﯾﺪ از ) o(nﺑﺎﺷﺪ و اﮔﺮ ﻧﻪ از ﻟﺤﺎظ زﻣﺎﻧﯽ در ﭘﺎﺳﺦ ﺑﻪ ﺗﺴﺖ هﺎ ﮐﻢ ﻣﯽ ﺁورد .وﻗﺘﯽ ﺗﻌﺪاد ﻋﻨﺎﺻﺮ زوج اﺳﺖ ﻣﻴﺎﻧﻪ ﻣﻴﺎﻧﮕﻴﻦ دو ﻋﻨﺼﺮ ﻣﻴﺎﻧﯽ اﺳﺖ. ورودﯼ ﺧﺮوﺟﯽ: ورودﯼ اﺑﺘﺪا ﯾﮏ ﻋﺪد ﺻﺤﻴﺢ ﺑﻪ ﻣﻌﻨﯽ ﺗﻌﺪاد اﻋﺪاد ورودﯼ درون ﻣﺠﻤﻮﻋﻪ اﺳﺖ و در هﻤﻴﻦ ﺗﻌﺪاد از ﺳﻄﺮهﺎﯼ ﺑﻌﺪﯼ اﻋﺪاد اﻋﺸﺎرﯼ ﺧﻮاهﻨﺪ ﺁﻣﺪ .ﺧﺮوﺟﯽ ﺗﻨﻬﺎ ﻣﻴﺎﻧﻪ اﯾﻦ ﻋﻨﺎﺻﺮ اﺳﺖ. Output.txt 3.7676 Input.txt 9 1.5 3.7676 -90.3 67.787 450.1 110.5 -87.4 0 23.4 ﺳﻮال ﺳﻮم ( اﯾﻦ ﺳﻮال ﻣﺮﺑﻮط ﺑﻪ ﺑﺨﺶ درﺧﺖ هﺎﺳﺖ ﺑﻨﺎﺑﺮ اﯾﻦ ﭘﺲ از ﻣﻄﺮح ﺷﺪن ﮐﺎﻣﻞ درس در ﮐﻼس در اﯾﻦ ﻣﮑﺎن ﻗﺮار ﻣﯽ ﮔﻴﺮد. ﻧﮑﺘﻪ: .١ﺑﺮﻧﺎﻣﻪ هﺎ را ﺑﺎ C++ﯾﺎ Javaﺑﻨﻮﯾﺲ. .٢ورودﯼ هﺎﯼ ﻣﺴﺎﺋﻞ از ﻓﺎﯾﻞ input.txtو ﺧﺮوﺟﯽ هﺎ در ﻓﺎﯾﻞ output.txtﻣﯽ ﺑﺎﺷﺪ. .٣ﮐﺪ ﺟﻮاب هﺮ ﺑﺮﻧﺎﻣﻪ را ﺗﺎ ٢۵ﺁﺑﺎن ﺑﺮاﯼ ﻣﻦ ﺑﻔﺮﺳﺖ. .۴اﮔﺮ C++ﻣﯽ ﻧﻮﯾﺴﯽ از stlو اﮔﺮ javaﻣﯽ ﻧﻮﯾﺴﯽ از APIهﺎﯼ ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﺗﻤﺎرﯾﻦ در اﯾﻦ ﺗﻤﺮﯾﻦ اﺳﺘﻔﺎدﻩ ﻧﮑﻦ. .۵ﭼﻮن ﺟﻮاﺑﻬﺎﯼ ﺷﻤﺎ ﻣﺎ ﻣﺎﺷﻴﻦ ﺗﺼﺤﻴﺢ ﻣﯽ ﺷﻮد ﻟﻄﻔﺎ ﺳﻴﻨﺘﮑﯽ ورودﯼ و ﺧﺮوﺟﯽ را ﮐﺎﻣﻞ رﻋﺎﯾﺖ ﮐﻦ و اﮔﺮ ﻧﻪ ﻣﻦ ﻣﺴﺌﻮل ﺁن ﻧﺨﻮاهﻢ ﺑﻮد. .۶ﻋﻤﻞ ﻗﺒﻴﺢ ﮐﭙﯽ ﮐﺮدن در ﺗﻤﺎرﯾﻦ ورﻗﯽ ﺑﺎ ﻋﺚ ﺗﻘﺴﻴﻢ ﻧﻤﺮﻩ ﺑﻴﻦ ﭼﻨﺪ ﻧﻔﺮ ﻣﯽ ﺷﻮد وﻟﯽ در ﺗﻤﺎرﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اﯾﻦ ﻋﻤﻞ ﻣﺘﺎﺳﻔﺎﻧﻪ ﺑﺎﻋﺚ ﺣﺬف ﻧﻤﺮﻩ ﺑﻴﻦ ﭼﻨﺪ ﻧﻔﺮ ﻣﯽ ﺷﻮد. .٧ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ.
© Copyright 2025 Paperzz