ﺳﺎﺧﺘﻤﺎن دادﻩ و اﻟﮕﻮرﯾﺘﻢ ﺗﻤﺮﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ دوم ﺁذر 1386 ﺳﻮال اول( هﺪف اﯾﻦ ﺳﻮال ﺗﻤﺮﯾﻦ ﭘﻴﺎدﻩ ﺳﺎزﯼ ﮐﻠﯽ ﻣﻔﺎهﻴﻢ درﺧﺖ اﺳﺖ. ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﯾﺪ ﺑﺘﻮاﻧﺪ ﯾﮏ درﺧﺖ ﺟﺴﺘﺠﻮﯼ ﺑﺎﯾﻨﺮﯼ را ﺑﺴﺎزد ،ﺑﻪ ﺁن ﻋﻨﺼﺮ اﺿﺎﻓﻪ ﮐﻨﺪ ،در ﺁن ﺟﺴﺘﺠﻮ ﮐﻨﺪ ،ﻋﻨﺼﺮﯼ از ﺁن را ﺣﺬف ﻧﻤﻮدﻩ و اﻧﻮاع ﭘﻴﻤﺎﯾﺶ هﺎ را روﯼ ﺁن اﻧﺠﺎم دهﺪ. ﻋﻨﺎﺻﺮ اﯾﻦ درﺧﺖ اﻋﺪاد ﺻﺤﻴﺢ هﺴﺘﻨﺪ. ورودﯼ ﺧﺮوﺟﯽ: ورودﯼ ﺷﻤﺎ ﺷﺎﻣﻞ ﺗﻌﺪادﯼ ﺳﻄﺮ اﺳﺖ .در هﺮ ﮐﺪام از ﺳﻄﺮهﺎﯼ ﺑﻌﺪ ﯾﮑﯽ از دﺳﺘﻮرهﺎﯼ add, search, delete, inorder, preorder, postorderﻣﯽ ﺁﯾﺪ و ﺑﺮاﯼ ﺳﻪ دﺳﺘﻮر add, search, deleteﯾﮏ ﻋﺪد ﺻﺤﻴﺢ ﺑﻌﺪ اﯾﻦ دﺳﺘﻮرهﺎ ﻣﯽ ﺁﯾﻨﺪ .ﺧﺮوﺟﯽ هﺮ دﺳﺘﻮر در ﯾﮏ ﺳﻄﺮ ﭼﺎپ ﻣﯽ ﺷﻮد )اﮔﺮ ﺧﺮوﺟﯽ داﺷﺘﻪ ﺑﺎﺷﺪ( و ﺧﺮوﺟﯽ search ﺑﻪ ﺻﻮرت 0در ﺻﻮرت ﻋﺪم وﺟﻮد و 1در ﺻﻮرت وﺟﻮد ﻣﯽ ﺑﺎﺷﺪ .ﺑﺮاﯼ ﺳﻪ دﺳﺘﻮر inorder, preorder, postorderاﻋﺪاد در ﯾﮏ ﺳﻄﺮ ﺑﺎ ﭘﻴﻤﺎﯾﺶ ﺧﻮاﺳﺘﻪ ﺷﺪﻩ ﻧﻤﺎﯾﺶ دادﻩ ﺷﻮﻧﺪ .ﺑﻪ ﻣﺜﺎل زﯾﺮ دﻗﺖ ﮐﻨﻴﺪ. Output.txt 1 0 3 4 5 6 Input.txt add 6 add 3 add 4 add 5 search 6 search 1 preorder ﺳﻮال دوم( هﺪف اﯾﻦ ﺳﻮال ﺑﻪ ﮐﺎر ﮔﻴﺮﯼ ﻋﻤﻠﯽ درﺧﺖ اﺳﺖ. ﯾﮏ دﯾﮑﺸﻨﺮﯼ اﻧﮕﻠﻴﺴﯽ ﺑﻪ اﻧﮕﻠﻴﺴﯽ ﺑﻪ ﮐﻤﮏ درﺧﺖ ﺑﻨﻮﯾﺴﻴﺪ .ﺑﺮاﯼ اﯾﻦ ﺳﻮال ﻻزم اﺳﺖ ﯾﮏ ﺻﻔﺤﻪ ﻧﻪ ﺑﻴﺸﺘﺮ ﺗﻮﺿﻴﺢ دهﻴﺪ ﮐﻪ از ﭼﻪ روﺷﯽ و ﭼﮕﻮﻧﻪ اﺳﺘﻔﺎدﻩ ﮐﺮدﻩ اﯾﺪ) .راهﻨﻤﺎﯾﯽ هﺎﯼ ﻻزم در ﺳﺮ ﮐﻼس ﺣﻞ ﺗﻤﺮﯾﻦ اﯾﻦ هﻔﺘﻪ( ورودﯼ ﺧﺮوﺟﯽ: ﯾﮏ ﻓﺎﯾﻞ دادﻩ هﺎﯼ دﯾﮑﺸﻨﺮﯼ ﺑﻪ ﺷﻤﺎ دادﻩ ﻣﯽ ﺷﻮد ﮐﻪ ﺷﺎﻣﻞ ﻟﻐﺖ و ﻣﻌﻨﯽ ﺁن اﺳﺖ )ﻟﻐﺎت ﻓﺎﺻﻠﻪ ﻧﺪارﻧﺪ و ﺗﻨﻬﺎ ﯾﮏ ﻓﺎﺻﻠﻪ ﺑﻴﻦ ﻟﻐﺖ و ﻣﻌﻨﯽ ﺁن ﻣﯽ ﺑﺎﺷﺪ( و ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎ ﮔﺮﻓﺘﻦ ورودﯼ از ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﻣﻌﻨﯽ ﺁﻧﺮا ﭼﺎپ ﮐﻨﺪ .ورودﯼ و ﺧﺮوﺟﯽ از .standard IO Input.txt hello hi data facts structure building ﻧﮑﺘﻪ: .1 .2 .3 .4 .5 .6 .7 ﺑﺮﻧﺎﻣﻪ هﺎ را ﺑﺎ C++ﯾﺎ Javaﺑﻨﻮﯾﺲ. ورودﯼ هﺎﯼ ﻣﺴﺎﺋﻞ از ﻓﺎﯾﻞ input.txtو ﺧﺮوﺟﯽ هﺎ در ﻓﺎﯾﻞ output.txtﻣﯽ ﺑﺎﺷﺪ. ﮐﺪ ﺟﻮاب هﺮ ﺑﺮﻧﺎﻣﻪ و ﮔﺰارش ﺳﻮال دو را ﺗﺎ 25ﺁذر ﺑﺮاﯼ ﻣﻦ ﺑﻔﺮﺳﺖ و اﮔﺮ اﺑﻬﺎﻣﯽ هﻢ هﺴﺖ ﺑﻪ ﻣﻦ ﭘﺴﺖ اﻟﮑﺘﺮوﻧﻴﮑﯽ ﺑﻔﺮﺳﺖ. اﮔﺮ C++ﻣﯽ ﻧﻮﯾﺴﯽ از stlو اﮔﺮ javaﻣﯽ ﻧﻮﯾﺴﯽ از APIهﺎﯼ ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﺗﻤﺮﯾﻦ در ﺳﻮال اول اﺳﺘﻔﺎدﻩ ﻧﮑﻦ. ﭼﻮن ﺟﻮاﺑﻬﺎﯼ ﺷﻤﺎ ﻣﺎ ﻣﺎﺷﻴﻦ ﺗﺼﺤﻴﺢ ﻣﯽ ﺷﻮد ﻟﻄﻔﺎ ﺳﻴﻨﺘﮑﺲ ورودﯼ و ﺧﺮوﺟﯽ را ﮐﺎﻣﻞ رﻋﺎﯾﺖ ﮐﻦ و اﮔﺮ ﻧﻪ ﻣﻦ ﻣﺴﺌﻮل ﺁن ﻧﺨﻮاهﻢ ﺑﻮد. ﻋﻤﻞ ﻗﺒﻴﺢ ﮐﭙﯽ ﮐﺮدن در ﺗﻤﺎرﯾﻦ ورﻗﯽ ﺑﺎ ﻋﺚ ﺗﻘﺴﻴﻢ ﻧﻤﺮﻩ ﺑﻴﻦ ﭼﻨﺪ ﻧﻔﺮ ﻣﯽ ﺷﻮد وﻟﯽ در ﺗﻤﺎرﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اﯾﻦ ﻋﻤﻞ ﻣﺘﺎﺳﻔﺎﻧﻪ ﺑﺎﻋﺚ ﺣﺬف ﻧﻤﺮﻩ ﺑﻴﻦ ﭼﻨﺪ ﻧﻔﺮ ﻣﯽ ﺷﻮد. ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ )واﻋﻈﯽ(
© Copyright 2025 Paperzz