21-12-2010, 15:20
|
|
|
חבר מתאריך: 30.09.06
הודעות: 881
|
|
|
שאלה על תוצאה של רקורסיה
שלום
עשיתי שימוש ברקורסיה שמסתיימת כשהמספר הנבחר (על ידי משתמש) ומספר רנדומלי שווים.
יצאה תוצאה מוזרה, כשמסתכלים על התוצאות בסוף הריצה (בהשוואה או בקריסה), רואים שלושה מספרים שונים, שכל אחד בתורו נבחר מספר פעמים רצופות עד לסיום התכנית, במקום שייבחר מספר שונה כל פעם.
כשעשיתי Debugging, התוצאה הייתה שונה, כל פעם נבחר מספר רנדומלי אחר...
קוד:
static void Recursion(int userChosenNumber)
{
Random rnd = new Random();
int randomized = rnd.Next(1, 50);
Console.WriteLine("The random number is: {0}", randomized);
if (randomized == userChosenNumber)
{
Console.WriteLine("Hit! the chosen number is: {0}, the random number is: {1}", userChosenNumber, randomized);
Console.WriteLine("Press enter to exit");
Console.ReadLine();
}
else
{
Recursion(userChosenNumber);
}
דוגמה:
[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://img35.imageshack.us/img35/3538/90236333.jpg]
למה זה ככה? ומה הפיתרון לקבלת מספר רנדומלי?
|