PDA

View Full Version : سوال: راهنمایی و سوال در مورد یک سوال انگلیسی



asma khanum
دوشنبه 22 تیر 1388, 16:05 عصر
سلام مجدد دارم خدمت دوستان عزیز و مدیر گرامی و نهایت تشکر رو دارم که راهنمایی هاشون واقعا مفید واقع می شوند


باز هم دوستانی که زبان انگلیسی و برنامه نویسی انها خ0وب هست لطفا کمکم کنین؟؟


من این برنامه رو فهمیدم راستش انقدر ساده هست که خجالت میکشم اینجا بیان کنم فقط چون متن انگلیسی هست فکر کنم در تفهیم اون مشکل دارم؟


این برنامه یه رشته اعدادی هست که بین اعداد 1 تا هر عدد دلخواه (تعداد اعداد ورودی دلخواه هست)عدد دریافت می کنه بعد تشخیص می دهد که j هست یا نه؟


البته من برداشتی که کردم اینه اعداد ورودی می تواند هر عدد صحیحی باشداگر عدد منفی داشتیمnot jully رو به ما می دهدفقط من مطمئن نیستم که برای اعداد منفیnot jullyمیده یا نه ؟


اگر دوستان لطف کنن روی سوال بهم کمک کنن نوشتنش با من؟


ممنون







A sequence of n > 0 integers is called a jolly jumper if the absolute values of the
differences between successive elements take on all possible values 1 through n−1. For
instance,
1 4 2 3
is a jolly jumper, because the absolute differences are 3, 2, and 1, respectively. The
definition implies that any sequence of a single integer is a jolly jumper.Write a program
to determine whether each of a number of sequences is a jolly jumper.
Input
Each line of input contains an integer n < 3, 000 followed by n integers representing the
sequence.
Output
For each line of input generate a line of output saying “Jolly” or “Not jolly”.
Sample Input
4 1 4 2 3
5 1 4 2 -1 6
Sample Output
Jolly
Not jolly

kiuhnmgtrdcv
دوشنبه 22 تیر 1388, 21:04 عصر
سلام دوست من
فرض کنید این ورودیتون باشه
2 4 7 9
داریم
7-9=4
4-7=3
2-4=2
باید اختلاف اعداد متوالی یه روند نزولی داشته باشه و بین بزرگترین و کوچکترین اعداد باشه در این مثال بین 7-9 تا عدد j باشه
برای نوشتن الگوریتمش باید اول ببینیم چند تا ورودی عدد داریم اینجا 4 تا پس 3 بار مقایسه میکنیم که ایا 2<3<4 هست و یا یا نه و هم چنین اختلاف اعداد از 9 کوچکتر است و از 2 بالاتر است یا نه
البته من اگر بجای شما بودم با استفاده از وقفه 1 تابع 21 اعداد را یکی یکی میگرفتم و از هم کم میکردم و میدیدم که ایا روند نزولی داره یا نه چون اگر بخواهیم ورودی این شکلی داشته باشیم مثل
2 4 7 9 چون به صورت رشته است باید اول این رشته ها رو به عدد تبدیل کنیم که کدمون طولانی تر میشه ولی میشه که رشته به عدد تبدیل کنیم بعد مقایسه ها رو انجام بدیم
برای تبدیل کردن رشته به عدد

mov ax,0
while_digit:cmp byte ptr[si],'0'
jl end_w
cmp byte ptr[si],'9'
jg end_w
mov cx,10
mul cx
mov cl,[si]
and cx,000fh
add ax,cx
inc si
jmp while_digit
end_w:
;other codes

که در کد بالا si اول buf رشته ما است مثلا
lea si ,buf
که میشه از تابع 0a وقفه 21 هم استفاده کرد

kiuhnmgtrdcv
چهارشنبه 24 تیر 1388, 12:13 عصر
برای اینکه اعدادی به این شکل 4 1 4 2 3 از ورودی بگیرید میتونید از یک تابع استفاده کنید که در ان تابع اول تعداد اعداد از کاربر بپرسه بعد یکی یکی اعداد را در یک ارایه بریزد