עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שאלה קטנה ב-C#

Featured Replies

פורסם

אוקי אני די מתחיל ב-C# נתנו לנו את התרגיל הבא:

צריך לכתוב תכנית שמגרילה 40 מספרים מ- מינוס 100 עד 50. הפלט הוא הערך המקסימלי שהוגרל וכמה מספרים בעלי ערך זהה הוגרלו.

בנתיים הצלחתי את כל התרגיל חוץ ממציאת כמה מספרים בעלי אותו הערך הוגרלו.

דרך אגב, השתמשתי במערכים ורנדום.

{

Random rnd = new Random();

int[] a = new int[41];

int i,max,same;

max=-101;

same=0;

Console.WriteLine("This prog. randomizes 40 numbers and calculates the MAX number.");

for (i = 1; i < 41; i++)

{

a = rnd.Next(-100, 50);

Console.Write("{0}.", i);

Console.WriteLine("{0}", a);

if (a > max)

max = a;

}

Console.WriteLine("The max number is {0} which appeares {1} times.", max, same);

}

same אמור להיות המשתנה של מספר הפעמים שהערך המקסימלי מופיע, אבל אני לא מוצא איך להשתמש בו. :(

(כן כן, C# של מתחילים ^^)

תודה רבה לעוזרים.

עריכה: משום מה הפורום מחק את כל הסוגריים מרובעים ו-i אחרי כל a.

פורסם

צריך למצוא מספרים בעלי אותו ערך שהוגרלו מהמקסימום?

ז"א אם הוגרל בין המספרים 49 (שלוש פעמים, הכי גבוהה) ו 20 (חמש פעמים) אז להציג רק את 49 שהוגרל 3 פעמים או גם את 20?

פורסם
  • מחבר

צריך למצוא מספרים בעלי אותו ערך שהוגרלו מהמקסימום?

ז"א אם הוגרל בין המספרים 49 (שלוש פעמים, הכי גבוהה) ו 20 (חמש פעמים) אז להציג רק את 49 שהוגרל 3 פעמים או גם את 20?

רק את 49 ובפלט שלוש פעמים. :)

פורסם


Random rnd = new Random();
int[] raffledNums = new int[40];
int i, max, min, raffledMaxNum,MaxNumDuplicator;
string MaxDuplicatedNumArrayIndex;

max = 50;
min = -100;
raffledMaxNum = -100;
MaxNumDuplicator = 0;
MaxDuplicatedNumArrayIndex = "Array(";

Console.WriteLine("This prog. randomizes 40 numbers and calculates the MAX number.\n");

for (i = 0; i < 40; i++)
{
raffledNums[i] = rnd.Next(min, max);
Console.WriteLine("{0} = {1}", i, raffledNums[i]);

if (raffledNums[i] > raffledMaxNum) // New max number
raffledMaxNum = raffledNums[i];
System.Threading.Thread.Sleep(100);
}

Console.WriteLine("\nCalculating results...");

for (i = 0; i < 40; i++)
{
if (raffledNums[i] == raffledMaxNum) // Same max number (duplicated)
{
MaxNumDuplicator++;

if (MaxNumDuplicator != 1)
MaxDuplicatedNumArrayIndex += ",";

MaxDuplicatedNumArrayIndex += i;
}
}
MaxDuplicatedNumArrayIndex += ");";

System.Threading.Thread.Sleep(1000);

Console.WriteLine("\nThe maximum number is: {0}", raffledMaxNum);
Console.WriteLine("The maximum number has been raffled {0} time(s).\nDuplicated max number array index: \"" + MaxDuplicatedNumArrayIndex + "\"", MaxNumDuplicator);
Console.Read();

שיפרתי לך את הלוגיקה של האפליקציה והוספתי את מה שהסתבכת בו, תהנה ומקווה שתלמד ממנו ;)

עריכה:

מצאתי באג שאם המספר הגבוהה ביותר שהוגרל נדרס על ידי מספר גבוהה יותר במהלך הלולאה, הוא לא עושה reset למונה של שמכיל כמה פעמים המספר הגבוהה ביותר חוזר על עצמו. הבאג תוקן בכך שהקוד שמחשב את המונה הועבר ללולאה משלו אחרי הלולאה המרכזית שמגרילה מספרים, ככה אנחנו בטוחים שהמספר הגבוהה ביותר הוא באמת הגבוהה ביותר שהוגרל.

וסתם בשביל הקטע הוספתי אפקט הגרלה בזמן אמת :P

פורסם
  • מחבר


Random rnd = new Random();
int[] raffledNums = new int[40];
int i, max, min, raffledMaxNum,MaxNumDuplicator;

max = 50;
min = -100;
raffledMaxNum = -100;
MaxNumDuplicator = 0;

Console.WriteLine("This prog. randomizes 40 numbers and calculates the MAX number.\n");

for (i = 0; i < 40; i++)
{
raffledNums[i] = rnd.Next(min, max);
Console.WriteLine("{0} = {1}", i, raffledNums[i]);

if (raffledNums[i] > raffledMaxNum) // New max number
raffledMaxNum = raffledNums[i];
System.Threading.Thread.Sleep(100);
}

Console.WriteLine("\nCalculating results...");

for (i = 0; i < 40; i++)
{
if (raffledNums[i] == raffledMaxNum) // Same max number (duplicated)
MaxNumDuplicator++;
}
System.Threading.Thread.Sleep(1000);

Console.WriteLine("\nThe maximum number is: {0}", raffledMaxNum);
Console.WriteLine("The maximum number has been raffled {0} time(s).", MaxNumDuplicator);
Console.Read();

שיפרתי לך את הלוגיקה של האפליקציה והוספתי את מה שהסתבכת בו, תהנה ומקווה שתלמד ממנו ;)

עריכה:

מצאתי באג שאם המספר הגבוהה ביותר שהוגרל נדרס על ידי מספר גבוהה יותר במהלך הלולאה, הוא לא עושה reset למונה של שמכיל כמה פעמים המספר הגבוהה ביותר חוזר על עצמו. הבאג תוקן בכך שהקוד שמחשב את המונה הועבר ללולאה משלו אחרי הלולאה המרכזית שמגרילה מספרים, ככה אנחנו בטוחים שהמספר הגבוהה ביותר הוא באמת הגבוהה ביותר שהוגרל.

וסתם בשביל הקטע הוספתי אפקט הגרלה בזמן אמת :P

תודה רבה. :xyxthumbs: עזרת לי מאוד.

פורסם

בבקשה :)

אין צורך לצ'טט הודעה מעל, בטח שלא כזאת גדולה.

וד"א, ערכתי שוב את הקוד שבתוצאות יכיל באילו index ים נמצאו מספרים שהוגרלו כמה פעמים.

(הפעם זה סופי.. עפתי לישון)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.