ورود

نسخه کامل مشاهده نسخه کامل : کمک از همه برنامه نویسان P30World



alishahbazi
11-04-2007, 09:45
با سلام خدمت هم دوستان
من یک برنامه توسط پاسکال دارم مینویسم و میخواهم که 5 عدد به طور اتفاقی برایم چاپ کند به گونه ای که هیچ کدام از این 5 عدد با هم دیگر مساوی نباشند .

این هم کد مربوطه که من این شر ط ها را نوشتم و دوستان یک نگاه بندازید ببینید چه جوری و من چه کاری بایستی بکنم.


Program ALI;
Var
Rnd:Array[1..5] of Byte;
Begin
Randomize;
Rnd[1]:=Random(10);writeln(Rnd[1]);
Rnd[2]:=Random(10);writeln(Rnd[2]);
Rnd[3]:=Random(10);writeln(Rnd[3]);
Rnd[4]:=Random(10);writeln(Rnd[4]);
Rnd[5]:=Random(10);writeln(Rnd[5]);
{-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-____========}
If ((Rnd[1])=(Rnd[2])) Or ((Rnd[1])=(Rnd[3])) Or ((Rnd[1])=(Rnd[4])) Or ((Rnd[1])=(Rnd[5])) Then
Begin
Rnd[1]:=Random(10);writeln(Rnd[1]);
End
Else
If ((Rnd[2])=(Rnd[1])) Or ((Rnd[2])=(Rnd[3])) Or ((Rnd[2])=(Rnd[4])) Or ((Rnd[2])=(Rnd[5])) Then
Begin
Rnd[2]:=Random(10);writeln(Rnd[2]);
End
Else
If ((Rnd[3])=(Rnd[2])) Or ((Rnd[3])=(Rnd[1])) Or ((Rnd[3])=(Rnd[4])) Or ((Rnd[3])=(Rnd[5])) Then
Begin
Rnd[3]:=Random(10);writeln(Rnd[3]);
End
Else
If ((Rnd[4])=(Rnd[2])) Or ((Rnd[4])=(Rnd[3])) Or ((Rnd[4])=(Rnd[1])) Or ((Rnd[4])=(Rnd[5])) Then
Begin
Rnd[4]:=Random(10);writeln(Rnd[4]);
End
Else
If ((Rnd[5])=(Rnd[2])) Or ((Rnd[5])=(Rnd[3])) Or ((Rnd[5])=(Rnd[4])) Or ((Rnd[5])=(Rnd[5])) Then
Begin
Rnd[5]:=Random(10);writeln(Rnd[5]);
End
{Exit IF}
Readln;
End.



با تشکرات فراوان (علی شهبازی):31: :31: :31:

hamidreza_buddy
12-04-2007, 19:47
من پاسکال بلد نیستم ولی تقریباً فهمیدم چیکار کردی.

خوب به جای اینکه برای هر کدام جدا حساب کنی همه را در یک حلقه بذار. اون موقع می تونی به جای 5 هر عددی بدی.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته شبه کد هست و فقط جوری نوشتم که متوجه منظورم بشی.
در ضمن اعداد رندوم بین صفر تا ده هستن یا هر عددی می تونن باشن؟

Mehran NZ
14-04-2007, 04:23
علی جان منکه دیوانه شدم نفهمیدم چیکار کردی خودم برنامش رو نوشتم واست میذارم با یه حلقه مشکل حل میشه
تحلیل کد:
randomize رو اول بذار تا هر بار که برنامه اجرا می شه اعداد فرق کنن
بعقیش هم که دیگه واضحه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

alishahbazi
17-04-2007, 09:34
با سلام خدمت دوستان P30World و دوستان عزیزم (مهران و حمیدرضا ) که به سوال من جواب دادند

آقایون من اول از همه یک معذرت خواهی بزرگ به شماها بدهکارم که خیلی وقت است که نمیتونم بیام تو سایت.

من این روش های شما رو بکار بردم ولی من میخواهم که پنج مقدار رو به برنامه بدم (بعنوان ورودی) و این پنج مقدار که من وارد کردم به ترتیب از Rnd[1] تا آخر باهم مقایسه بشوند.

ممنون از همه دوستان (علی شهبازی)