ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي )(40153 f ﻣﺪرس :ﺣﻤﯿﺪ ﺿﺮاﺑﯽزاده داﻧﺸﮑﺪهي ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺗﻤﺮﯾﻦ ﺳﺮي ﻫﻔﺘﻢ ﻣﻬﻠﺖ ﺗﺤﻮﯾﻞ :ﭼﻬﺎرﺷﻨﺒﻪ 23آذر ،1390ﺳﺎﻋﺖ 9ﺻﺒﺢ ﻧﮑﺎت ﮐﻠﯽ ﮐﺪ ﻫﺮ ﺗﻤﺮﯾﻦ را در ﯾﮏ ﻓﺎﯾﻞ ﺟﺪاﮔﺎﻧﻪ و ﺑﺎ ﻧﺎم ﺧﻮاﺳﺘﻪ ﺷﺪه ﻗﺮار دﻫﯿﺪ .ﺑﺎﻻي ﻫﺮ ﻓﺎﯾﻞ ﻧﺎم ،ﻧﺎم ﺧﺎﻧﻮادﮔﯽ و ﺷﻤﺎرهي داﻧﺶﺟﻮﯾﯽ ﺧﻮد را ذﮐﺮ ﮐﻨﯿﺪ. ﺑﺮاي ارﺳﺎل ﺗﻤﺮﯾﻦﻫﺎ ﺑﻪ ﺳﺎﯾﺖ درس ﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ. ﮐﺎﻣﻨﺖﮔﺬاري ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎ ﺟﺰﺋﯽ از ﻧﻤﺮهي ﺗﻤﺮﯾﻦ ﺷﻤﺎﺳﺖ. ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﺗﻤﺮﯾﻦ ﺑﺎﯾﺪ ﺻﺮﻓﺎً ﺑﻪ زﺑﺎن ) Cو ﻧﻪ (C++ﻧﻮﺷﺘﻪ ﺷﺪه و ﺑﺎ ﮐﺎﻣﭙﺎﯾﻠﺮﻫﺎي اﺳﺘﺎﻧﺪارد ﺳﯽ ) (C99ﻗﺎﺑﻞ ﮐﺎﻣﭙﺎﯾﻞ ﺑﺎﺷﻨﺪ. در ﺻﻮرت ﺗﺎﺧﯿﺮ ،ﺑﻪ ازاي روز اول ٪30از ﻧﻤﺮهي ﺷﻤﺎ ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ .ﺗﺄﺧﯿﺮ ﺑﯿﺸﺘﺮ از ﺑﯿﺴﺖ و ﭼﻬﺎر ﺳﺎﻋﺖ ﻗﺎﺑﻞ ﻗﺒﻮل ﻧﯿﺴﺖ. ﻗﻄﻊ ﺑﻮدن اﯾﻨﺘﺮﻧﺖ ﺧﻮاﺑﮕﺎه ،ﮐﻨﺪي ﭘﺎﯾﮕﺎه اﯾﻨﺘﺮﻧﺘﯽ داﻧﺸﮑﺪه ،ﺗﻤﺎم ﺷﺪن ﮐﺎرت اﯾﻨﺘﺮﻧﺖ و … ﻫﯿﭻﮐﺪام دﻟﯿﻞ ﻣﻮﺟﻬﯽ ﺑﺮاي ﺗﺄﺧﯿﺮ ﻧﯿﺴﺘﻨﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﭘﯿﺸﻨﻬﺎد ﻣﯽﺷﻮد ﺟﻮابﻫﺎي ﺧﻮد را در داﻧﺸﮑﺪه ارﺳﺎل ﮐﻨﯿﺪ. ﻫﻢﻓﮑﺮي ﺑﺎ دﯾﮕﺮ داﻧﺶﺟﻮﯾﺎن ﻣﻮرد ﻗﺒﻮل اﺳﺖ ،اﻣﺎ ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ ﻣﯽﻓﺮﺳﺘﯿﺪ ﺑﺎﯾﺪ ﺑﻪﻃﻮر ﮐﺎﻣﻞ ﺗﻮﺳﻂ ﺧﻮدﺗﺎن ﻧﻮﺷﺘﻪ ﺷﺪه ﺑﺎﺷﻨﺪ .ﮐﻢﺗﺮﯾﻦ ﺗﺨﻄﯽ از اﯾﻦ ﻣﻮﺿﻮع ﺑﺎﻋﺚ درﯾﺎﻓﺖ ﻧﻤﺮهي -100ﺑﺮاي ﮐﻤﮏدﻫﻨﺪه و ﮐﻤﮏﮔﯿﺮﻧﺪه ﺧﻮاﻫﺪ ﺑﻮد و در ﺻﻮرت ﺗﮑﺮار ،ﻣﻨﺠﺮ ﺑﻪ ﺣﺬف درس و ﮔﺰارش ﺑﻪ ﮐﻤﯿﺘﻪي اﻧﻀﺒﺎﻃﯽ ﺧﻮاﻫﺪ ﺷﺪ. در ﺻﻮرت وﺟﻮد ﻫﺮﮔﻮﻧﻪ ﻣﺸﮑﻞ ،ﺳﻮاﻻت ﺧﻮد را از ﻃﺮﯾﻖ ﺳﯿﺴﺘﻢ ﭘﯿﺎﺗﺰا ﺑﺎ ﮐﻤﮏﻣﺪرﺳﯿﻦ در ﻣﯿﺎن ﺑﮕﺬارﯾﺪ. ﻣﺴﺌﻠﻪي اول :ﺣﺮﮐﺖ اﺳﺐﻫﺎ ﻧﺎم ﻓﺎﯾﻞknights.c : ﻫﺪف از اﯾﻦ ﺗﻤﺮﯾﻦ ﺣﻞ ﯾﮏ ﻣﺴﺌﻠﻪي ﻗﺪﯾﻤﯽ در ﺷﻄﺮﻧﺞ ﺑﻪ ﻧﺎم ﺣﺮﮐﺖ اﺳﺐﻫﺎ اﺳﺖ .ﯾﮏ ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ ﺧﺎﻟﯽ را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ .ﯾﮏ ﻣﻬﺮهي اﺳﺐ را در ﯾﮑﯽ از ﺧﺎﻧﻪﻫﺎي ﺷﻄﺮﻧﺞ ﻗﺮار ﻣﯽدﻫﯿﻢ .ﺳﺆال اﯾﻦ اﺳﺖ ﮐﻪ آﯾﺎ اﯾﻦ اﺳﺐ ﻣﯽﺗﻮاﻧﺪ ﺑﺎ ﺷﺮوع از اﯾﻦ ﺧﺎﻧﻪ و ﺑﺎ ﺣﺮﮐﺖﻫﺎي ﻣﺠﺎز )-Lﻣﺎﻧﻨﺪ( ﺗﻤﺎم ﺧﺎﻧﻪﻫﺎي ﺷﻄﺮﻧﺞ را ﯾﮏ ﺑﺎر و ﻓﻘﻂ ﯾﮏ ﺑﺎر ﺑﺎزدﯾﺪ ﮐﻨﺪ؟ ﭘﺎﺳﺦ اﯾﻦ ﻣﺴﺌﻠﻪ ﻫﻤﻮاره ﻣﺜﺒﺖ اﺳﺖ. ﯾﮏ روش ﺳﺎده ﺑﺮاي ﺣﻞ اﯾﻦ ﻣﺴﺌﻠﻪ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ :در ﻫﺮ ﻣﺮﺣﻠﻪ ،ﺗﻤﺎم ﺧﺎﻧﻪﻫﺎي ﻣﻤﮑﻦ ﮐﻪ اﺳﺐ ﻣﯽﺗﻮاﻧﺪ ﺑﺎ ﯾﮏ ﺣﺮﮐﺖ ﺑﻪ آنﻫﺎ ﺑﺮﺳﺪ را ﭘﯿﺪا ﻣﯽﮐﻨﯿﻢ )ﻣﺴﻠﻤﺎً اﯾﻦ ﺧﺎﻧﻪﻫﺎ ﻧﺒﺎﯾﺪ ﻗﺒﻼ ﺑﺎزدﯾﺪ ﺷﺪه ﺑﺎﺷﻨﺪ( .ﺳﭙﺲ ﺑﺮاي ﻫﺮ ﯾﮏ از اﯾﻦ ﺧﺎﻧﻪﻫﺎ ﺗﻌﺪاد ﺣﺮﮐﺎﺗﯽ ﮐﻪ اﺳﺐ ﻣﯽﺗﻮاﻧﺪ از آن ﺧﺎﻧﻪ اﻧﺠﺎم دﻫﺪ را ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﯿﻢ .ﺳﭙﺲ اﺳﺐ را ﺑﻪ ﺧﺎﻧﻪاي ﺣﺮﮐﺖ ﻣﯽدﻫﯿﻢ ﮐﻪ ﮐﻢﺗﺮﯾﻦ ﺗﻌﺪاد ﺣﺮﮐﺎت ﻣﻤﮑﻦ ﺑﻌﺪي را داﺷﺘﻪ ﺑﺎﺷﺪ .اﮔﺮ اﯾﻦ ﮐﻢﺗﺮﯾﻦ ﺗﻌﺪاد ﺑﺮاي دو ﺧﺎﻧﻪ ﻣﺴﺎوي ﺑﻮد ،ﻣﯽﺗﻮاﻧﯿﻢ ﻫﺮ ﯾﮏ از آن ﺧﺎﻧﻪﻫﺎ را ﺑﻪ دﻟﺨﻮاه اﻧﺘﺨﺎب ﮐﻨﯿﻢ. ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺎ درﯾﺎﻓﺖ ﻣﺨﺘﺼﺎت ﯾﮏ ﺧﺎﻧﻪ از ﺷﻄﺮﻧﺞ و ﺑﺎ اﺳﺘﻔﺎده از روش ﻓﻮق ﻣﺸﺨﺺ ﮐﻨﺪ ﮐﻪ ﭼﮕﻮﻧﻪ ﻣﯽﺗﻮان ﺑﺎ ﺷﺮوع از آن ﺧﺎﻧﻪ ،ﻫﺮ 64ﺧﺎﻧﻪي ﺷﻄﺮﻧﺞ را دﻗﯿﻘﺎً ﯾﮏ ﺑﺎر ﺑﺎزدﯾﺪ ﮐﺮد .ﺧﺮوﺟﯽ ﺑﺮﻧﺎﻣﻪ ﯾﮏ آراﯾﻪي دوﺑﻌﺪي اﺳﺖ ﮐﻪ در ﻫﺮ دراﯾﻪي آن ﻋﺪدي ﺑﯿﻦ 1ﺗﺎ 64ﻗﺮار داده ﺷﺪه اﺳﺖ ﮐﻪ ﻧﺸﺎندﻫﻨﺪهي ﺗﺮﺗﯿﺐ ﺑﺎزدﯾﺪ آن ﺧﺎﻧﻪ از ﺷﻄﺮﻧﺞ ﺗﻮﺳﻂ اﺳﺐ اﺳﺖ. ورودي ﻧﻤﻮﻧﻪ ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ +----+----+----+----+----+----+----+----+ | 5 | 52 | 3 | 22 | 47 | 56 | | 61 | 20 | 4 | 53 | 48 | 57 | 2 | 23 | 60 | 55 | +----+----+----+----+----+----+----+----+ | 6 | | 19 | 62 | 21 | 46 | 59 | 64 | 51 +----+----+----+----+----+----+----+----+ | 1 | 36 | 63 | 54 | 43 | 58 | 49 | | 24 +----+----+----+----+----+----+----+----+ | 7 | 40 | | 35 | 18 | 45 | 42 | 31 | 50 +----+----+----+----+----+----+----+----+ | | 28 | 25 | 32 | 37 | 44 | 41 | 10 | 13 +----+----+----+----+----+----+----+----+ | 8 | | 17 | 34 | 27 | 30 | 15 | 12 | 39 +----+----+----+----+----+----+----+----+ | 9 | 14 | 11 | | 26 | 29 | 16 | 33 | 38 +----+----+----+----+----+----+----+----+ ﺗﻤﺮﯾﻦ ﺳﺮي ﻫﻔﺘﻢ -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي +----+----+----+----+----+----+----+----+ Start row: 4 Start column: 2 1 ﻣﺴﺌﻠﻪي دوم :ﻣﺮﺗﺐﺳﺎزي ﺳﺮﯾﻊ ﻧﺎم ﻓﺎﯾﻞquick_sort.c : ﯾﮑﯽ از اﻟﮕﻮرﯾﺘﻢﻫﺎي ﭘﺮﮐﺎرﺑﺮد ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي Quick Sort ،ﯾﺎ ﻣﺮﺗﺐﺳﺎزي ﺳﺮﯾﻊ اﺳﺖ .در اﯾﻦ روش ،ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي ﻋﻨﺎﺻﺮ ﯾﮏ دﻧﺒﺎﻟﻪ ،ﯾﮑﯽ از آنﻫﺎ ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﯽ ﺑﻪ ﻋﻨﻮان ﻣﺤﻮر اﻧﺘﺨﺎب ﻣﯽﺷﻮد؛ ﺳﭙﺲ ﻋﻨﺎﺻﺮ آن دﻧﺒﺎﻟﻪ ﺑﻪ ﮔﻮﻧﻪاي ﻗﺮار ﻣﯽﮔﯿﺮﻧﺪ ﮐﻪ ﻫﻤﻪي ﻋﻨﺎﺻﺮ ﮐﻮﭼﮏﺗﺮ از ﻣﺤﻮر در آﻏﺎز دﻧﺒﺎﻟﻪ ،و ﻫﻤﻪي ﻋﻨﺎﺻﺮ ﺑﺰرگﺗﺮ ﯾﺎ ﻣﺴﺎوي ﻣﺤﻮر در اداﻣﻪ ﻗﺮار ﮔﯿﺮﻧﺪ .ﺑﻪ اﯾﻦ ﻋﻤﻞ ﺑﺨﺶﺑﻨﺪي ﮔﻔﺘﻪ ﻣﯽﺷﻮد .ﻣﺜﻼً در دﻧﺒﺎﻟﻪي زﯾﺮ: > < 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 ﻋﻨﺎﺻﺮي ﮐﻪ ﻗﺮار اﺳﺖ ﻣﺮﺗﺐ ﺷﻮﻧﺪ ،ﺑﺎ اﺷﺎرهﮔﺮﻫﺎي startو endﻣﺸﺨﺺ ﻣﯽﺷﻮﻧﺪ .ﻣﺜﻼً ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي آراﯾﻪي a ﺗﻤﺮﯾﻦ ﺳﺮي ﻫﻔﺘﻢ -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي 2 ﮐﻪ ﺑﻪ ﺻﻮرت ;] int a[1000ﺗﻌﺮﯾﻒ ﺷﺪه ،ﺗﺎﺑﻊ quick_sortﺑﻪ ﺻﻮرت زﯾﺮ ﻓﺮاﺧﻮاﻧﯽ ﻣﯽﺷﻮد: ;)quick_sort(a, a + 1000 ﺑﻪ ﻃﻮر ﮐﻠﯽ ﺑﺎ ﻓﺮاﺧﻮاﻧﯽ ) quick_sort(a + i, a + jﻋﻨﺎﺻﺮي از آراﯾﻪي aﮐﻪ اﻧﺪﯾﺴﺸﺎن در ﺑﺎزهي ) [i, jﻗﺮار دارد، ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺗﮑﻪ آراﯾﻪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه و ﻣﺮﺗﺐ ﻣﯽﺷﻮﻧﺪ. ﺗﺬﮐﺮ :در ﭘﯿﺎدهﺳﺎزي اﯾﻦ ﺗﺎﺑﻊ ﻧﺒﺎﯾﺪ آراﯾﻪي اﺿﺎﻓﯽ ﺗﻌﺮﯾﻒ ﮐﻨﯿﺪ. ﻣﺴﺌﻠﻪي ﺳﻮم :اﻓﺮاز رﺷﺘﻪ ﻧﺎم ﻓﺎﯾﻞstrtok.c : در ﮐﺘﺎﺑﺨﺎﻧﻪي اﺳﺘﺎﻧﺪارد ،string.hﺗﺎﺑﻌﯽ ﺑﻪ ﻧﺎم strtokوﺟﻮد دارد ﮐﻪ وﻇﯿﻔﻪي آن ﺷﮑﺴﺘﻦ ﯾﮏ رﺷﺘﻪي دادهﺷﺪه ﺑﻪ دﻧﺒﺎﻟﻪاي از ﭼﻨﺪ ﮐﻠﻤﻪ ﯾﺎ tokenاﺳﺖ ﮐﻪ اﯾﻦ ﮐﻠﻤﺎت ﺗﻮﺳﻂ »ﺟﺪاﮐﻨﻨﺪهﻫﺎ« )ﻫﻤﺎﻧﻨﺪ ﻓﺎﺻﻠﻪ ﯾﺎ ﻋﻼﺋﻢ ﺳﺠﺎوﻧﺪي( از ﻫﻢ ﺟﺪا ﺷﺪهاﻧﺪ .اﯾﻦ ﺗﺎﺑﻊ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ: ;)char *strtok(char *str, const char *delim در اوﻟﯿﻦ ﻓﺮاﺧﻮاﻧﯽ ،دو رﺷﺘﻪي strو delimﺑﻪ ﺗﺎﺑﻊ داده ﻣﯽﺷﻮﻧﺪ ﮐﻪ strﺣﺎوي رﺷﺘﻪي اﺻﻠﯽ ،و delimﺷﺎﻣﻞ ﺟﺪاﮐﻨﻨﺪهﻫﺎﺳﺖ .ﺧﺮوﺟﯽ اﯾﻦ ﺗﺎﺑﻊ اﺷﺎرهﮔﺮ ﺑﻪ اﺑﺘﺪاي اوﻟﯿﻦ ﮐﻠﻤﻪ در رﺷﺘﻪي strاﺳﺖ .ﻫﻤﭽﻨﯿﻦ ،ﺗﺎﺑﻊ در اﻧﺘﻬﺎي ﮐﻠﻤﻪ )ﺑﻪﺟﺎي اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﺟﺪاﮐﻨﻨﺪه ﺑﻌﺪ از ﮐﻠﻤﻪ( ﯾﮏ ﮐﺎرﮐﺘﺮ \0ﻗﺮار ﻣﯽدﻫﺪ .در ﻓﺮاﺧﻮاﻧﯽﻫﺎي ﺑﻌﺪي ،اﮔﺮ ﺑﻪ ﺟﺎي ،str ﻣﻘﺪار NULLﺑﻪ ﺗﺎﺑﻊ داده ﺷﻮد ،ﺗﺎﺑﻊ ﮐﺎر ﺧﻮد را ﺑﺮ روي رﺷﺘﻪي strﻗﺒﻠﯽ اداﻣﻪ ﻣﯽدﻫﺪ و اﺷﺎرهﮔﺮ ﺑﻪ اﺑﺘﺪاي ﮐﻠﻤﻪ ي ﺑﻌﺪي در strرا ﺑﺮﻣﯽﮔﺮداﻧﺪ .اﮔﺮ ﻫﻨﮕﺎم ﻓﺮاﺧﻮاﻧﯽ ﺗﺎﺑﻊ ،ﮐﻠﻤﻪي دﯾﮕﺮي در strﭘﯿﺪا ﻧﺸﻮد ،ﺗﺎﺑﻊ ﻣﻘﺪار NULLرا ﺑﺮﻣﯽﮔﺮداﻧﺪ. در اﯾﻦ ﺗﻤﺮﯾﻦ ﺷﻤﺎ ﺗﺎﺑﻊ strtokرا ﺷﺒﯿﻪﺳﺎزي ﻣﯽﮐﻨﯿﺪ .اﯾﻦ ﺗﺎﺑﻊ را دﻗﯿﻘﺎً ﺑﻪ ﺷﮑﻞ زﯾﺮ ﭘﯿﺎدهﺳﺎزي ﮐﻨﯿﺪ: ;)char *my_strtok(char *str, const char *delim ﻋﻤﻞﮐﺮد اﯾﻦ ﺗﺎﺑﻊ ﺑﺎﯾﺪ دﻗﯿﻘﺎً ﺷﺒﯿﻪ ﻋﻤﻞﮐﺮد ﺗﺎﺑﻊ strtokدر ﮐﺘﺎﺑﺨﺎﻧﻪي اﺳﺘﺎﻧﺪارد ﺑﺎﺷﺪ .ﻧﻤﻮﻧﻪاي از اﯾﻦ ﻋﻤﻞﮐﺮد در ﻗﻄﻌﻪﮐﺪ زﯾﺮ ﻧﻤﺎﯾﺶ داده ﺷﺪه اﺳﺖ. ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ Mona Ali and Zeinab are here ;"!char str[] = "Mona, Ali, and Zeinab are here ;" ;char delim[] = ".!, ;)char *token = strtok(str, delim { )while (token != NULL ;)printf("%s\n", token ;)token = strtok(NULL, delim } ﻧﮑﺘﻪ :ﺗﻮﺻﯿﻪ ﻣﯽﺷﻮد اﺷﺎرهﮔﺮ ﺑﻪ آﺧﺮﯾﻦ ﮐﺎراﮐﺘﺮ ﭘﺮدازشﻧﺸﺪه در رﺷﺘﻪي strرا ﺗﻮﺳﻂ ﯾﮏ ﻣﺘﻐﯿﺮ staticدر ﺗﺎﺑﻊ my_strtokﺑﺮاي اﺳﺘﻔﺎده در ﻓﺮاﺧﻮاﻧﯽﻫﺎي ﺑﻌﺪي ﻧﮕﻪداري ﮐﻨﯿﺪ. ﺗﻤﺮﯾﻦ ﺳﺮي ﻫﻔﺘﻢ -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻗﻄﻌﻪﮐﺪ ﻧﻤﻮﻧﻪ 3
© Copyright 2025 Paperzz