עבור לתוכן

לולאות C#

Featured Replies

פורסם

אני צריך לעשות לולאה שקולטת 30 מס' מחשבת ומציגה כפלט את סכום המספרים הזוגיים שנקלטו

בלי להשתמש ב-WHILE רק ב-FOR

תודה

פורסם

אין בעיה . אתה צריך לעשות לולאה שתרוץ 30 פעמים . תקבל את המספר לתוך משתנה תבדוק אם הוא זוגי בעזרת פעולת השארית

מודולו- % ב-2 אם זה אפס זה אומר שאין שארית והוא זוגי. לכן אתה מוסיף אותו למשתנה אחר SUM וממשיך ככה . אחרי שזה רץ 30 פעמים תוציא את הפלט

פשוט לא?

פורסם
  • מחבר

איך אני עושה שזה ירוץ 30 פעם?

 for (i=0; i<=30; i+num) 

ככה?

פורסם

לא...לSUM אין קשר ל-i

אתה סופר עד שלושים לכן ++i

ואז אתה מציב תנאי בקשר לזוגיות ואז מוסיף לsum את הקלט

פורסם
  • מחבר

 using System;


class totalMisparimZogeem
{
static void Main(string[] args)
{
int i , sum, num;
const int NUM_OF_NUMBERS = 30;
Console.WriteLine("enter a number");
num=int.Parse (Console.ReadLine());
for (i=0; i<=NUM_OF_NUMBERS; i++)
if (num % 2 == 0)
{
sum = num+num;
Console.WriteLine("the sum is {0}", sum);
}
else
{
Console.WriteLine("its cant be");
}

}
}

עשיתי את זה וכל מס' זוגי שאני מכניס הוא מכפיל לי אותו ב-2 וכל מס' זוגי הוא מציג לי את הוראת הפלט מה הבעיה?

פורסם

עשית טעות , תחליף את sum = num+num;

ב - sum+= num

ובכלל טעית בכל הרעיון של הלולאה, אין צורך בקלט לפני הלולאה , זה מתאים ל while,

ושכחת לבצע גם קלט בלולאה עצמה לפני התנאי.

פורסם
  • מחבר

איזה קלט אני אמור לעשות לפני התנאי?

של ה-NUM?

פורסם

אלא מה....ככה שהוא יקלוט באמת 30 מספרים

פורסם

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

שים לב גם שכרגע הלולאה תרוץ 31 פעמים ולא 30 כי i מתחיל מ 0 ורץ על עוד i<=30. אם אתה מתחיל מ 0 אין צורך ב =, התנאי צריך להיות i<NUM_OF_NUMBERS.

דבר נוסף: כדי להוסיף את num ל sum אתה יכול להשתמש באופרטור += שהוא קיצור: sum += num יוסיף את num לערך הנוכחי של sum.

פורסם
      int num, sum = 0;
for (int i = 1; i <= 30; i++)
{
Console.WriteLine("Enter number {0}", i);
num = int.Parse(Console.ReadLine());
if (num % 2 == 0) sum += num;
}
Console.WriteLine("The sum is: " + sum);

ארכיון

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

דיונים חדשים