עבור לתוכן

עזרה בתרגיל בC#

Featured Replies

פורסם

השאלה היא:

כתוב תוכנית הקולטת מספרים שלמים חיוביים, התוכנית תסתיים בקליטת הערך 1-.

התכנית תדפיס את ערכו של המספר הקטן ביותר בסדרה, ואת מקומו.

using System;
class Program
{
static void Main(string[] args)
{
int a,counter=0,minum=100;
a = int.Parse(Console.ReadLine());
while[b](a => 0)[/b]
{
if (a < minum)
{
minum = a;
counter++;
}
a = int.Parse(Console.ReadLine());
}

}
}

הוא אומר לי כאן שהa :

Cannot convert lambda expression to type bool because it is not a delegate type

A local variable named 'a' cannot be declared in this scope because it would 
give a different meaning to 'a', which is already used
in a 'parent or current' scope to denote something else

לא בדיוק הבנתי איך להשלים את זה אבל בעקרון אני מבין מה צריך לעשות רק לא מצליח להגיע לתשובה הנכונה(איפה שמודגש שם נמצא הERROR)

אשמח לעזרה.

תודה רבה.

פורסם

אני ממליץ לך בהגדרת הפרוייקט ב VS 2008 לדאוג שאתה עושה פרוייקט ל .NET FRAMEWORK 2.0 ולא 3.5 כמו שמוגדר עכשיו (ובגלל זה השגיאה הלא קשורה). בכל מקרה, תחליף בין המיקום של ה שווה ו גדול מ, וזה יסדר את הבעיה.

פורסם
  • מחבר

אותה בעיה נשארה גם כאשר שיניתי את הסימן וגם שהעברתי ל2.0 כנראה הבעיה היא אחרת

פורסם

תקרא את הקוד החדש.

פורסם
  • מחבר

מה?

פורסם

התכוונתי שתשים את הקוד החדש פה.

פורסם
  • מחבר

מה זאת אומרת את הקוד החדש אחרי שהעברתי ל2.0?

הוא כותב לי את אותם שגיאות..

פורסם

תראה את הקוד עם הסימן החדש, אלא אם כן לא שינית אותו.

פורסם
  • מחבר

using System;
class Program
{
static void Main(string[] args)
{
int a,counter=0,minum=100,counter1;
a = int.Parse(Console.ReadLine());
while (a >= 0)
{
counter1++;
if (a <= minum)
{
minum = a;
counter++;
}
a = int.Parse(Console.ReadLine());
}

}
}

זה מה שהתכוונת?

פורסם

כן, האם זו כל התוכנית ? אם כן, מה השגיאה עכשיו ?

פורסם
  • מחבר

אותן שגיאות בדיוק כמו למעלה..

פורסם

לא יודע לא ניסיתי להתעמק

אבל אני כבר רואה בעיה

אתה עושה counter1++ שהוא לא מוגדר בכלל

כלומר אין שום ערך ב counter1

מה אתה רוצה שהמחשב יוסיף לו 1 אבל כמה יש בתוכו?

אתה יודע מה, בהסתכלות שניה אני אפילו לא יודע מה אתה מנסה לעשות?

למה כל כך הרבה משתנים, לולאה מפגרת

אני אתקן לך את הקוד


using System;
class Program
{
static void Main(string[] args)
{
int a,minum=100,counter=0;
a = int.Parse(Console.ReadLine());
while((a = int.Parse(Console.ReadLine()))>0){
if(a <= minum){minum=a;}
counter++;}
}
}

פורסם
  • מחבר

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

הקאונטר1 הוא=0 וחשבתי על זה כדי לחשב את מקומו של המספר הקטן ביותר בסדרה אבל הבנתי שגם זה לא נכון

אז אין לי מושג מה לעשות..

פורסם

למחוק

פורסם
  • מחבר

הבנתי מה הכוונה אבל משהו חסר

איזה מקום הוא בסדרה?(הסדרה זה כל המספרים שנכנסו לא רק המספרים שעברו את הIF)

ואין לי מושג איך לעשות את זה

ארכיון

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

דיונים חדשים