06-10-2008, 20:29
|
|
|
חבר מתאריך: 19.10.07
הודעות: 65
|
|
קודם כל, תשתמשי בהזחות - לא נוח לקרוא קוד שנראה בצורה הזו.
לסעיף א', מה שאני אעשה זה פשוט אצור אובייקט של Random ובכל איטרציה אקרא לr.Next(0, 21);
קוד:
Random rnd = new Random();
for (int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i].Fill(rnd.Next(0, 21)); // יגריל מספר בין 0 ל20
לסעיף ב', הוא קצת יותר מורכב.
מה שתצטרכי לעשות זה פעולה שתחזיר לך את המקסימום (או שבכדי לחסוך בלולאה הזו, פשוט תבצעי את זה בלולאה של סעיף א') בצורה הבאה:
קוד:
int max = 0, temp = 0; // 0 is the lowest value
Random rnd = new Random();
for (int i = 0; i < NUM_OF_BUCKETS; i++)
{
if(max < (temp = rnd.Next(0, 21)) // שימי לב שאני גם מציב ערך לtemp פה, שלא תתבלבלי
max = temp;
buckets[i].Fill(temp);
}
// some code....(now all of our buckets are filled with random values between 0 to 20)
for(int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i].Fill(max);
בהצלחה.
נערך לאחרונה ע"י eXeCuTeR+ בתאריך 06-10-2008 בשעה 20:38.
|