נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: חידה - כיצד להשתמש ללא מערך

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אלון
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 11 January 2008 בשעה 10:12 | IP רשוּם
ציטוט אלון

יש לקלוט מספר פעמים בו לולאת for תתבצע, בלולאה יש לקלוט את אותו מספר ציונים של תלמידים, ויש לציין כמה מן הציונים שהוכנסו גדולים מהממוצע ציונים הסופי (ללא שימוש במערכים).
 
למשל - הוכנס המספר 2, הלולאה תתבצע פעמיים ותבקש לקלוט 2 ציונים. אם הוכנסו הציונים 70 ו 90, הפלט צריך להיות 1, כי רק ציון אחד עבר את הממוצע שהוא 80.
כיצד ניתן לבצע זאת ללא שימוש במערך? ב c# , תודה!
חזרה לתחילת העמוד הצג את כרטיס החבר של אלון חפש הודעות אחרות של אלון בקר בדף הבית של אלון
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 11 January 2008 בשעה 14:25 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 11 January 2008 בשעה 22:05 | IP רשוּם
ציטוט אלון

אני מריץ לולאת for מ-0 עד המספר שאני קולט, וקולט ציון, מחשב סה"כ סכום ציונים ומחלק במספר הפעמים שרצה הלולאה, זה ייתן לי ממוצע, נכון?
עכשיו החלק שאני מתקשה בו, איך אוכל לדעת כמה מהמספרים שנקלטו היו גדולים מהממוצע? תודה
חזרה לתחילת העמוד הצג את כרטיס החבר של אלון חפש הודעות אחרות של אלון בקר בדף הבית של אלון
 
בחור נחמד
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 17 January 2008 בשעה 23:55 | IP רשוּם
ציטוט בחור נחמד

אלון כתב:
אני מריץ לולאת for מ-0 עד המספר שאני קולט, וקולט ציון, מחשב סה"כ סכום ציונים ומחלק במספר הפעמים שרצה הלולאה, זה ייתן לי ממוצע, נכון?
עכשיו החלק שאני מתקשה בו, איך אוכל לדעת כמה מהמספרים שנקלטו היו גדולים מהממוצע? תודה

אני חושב שזו לא אפשרי וזאת שאלה מכשילה, אבל זאת רק דעתי.
בכ"מ אם יש פיתרון יהיה נחמד אם תשים אותו פה, כי זה מעניין.
חזרה לתחילת העמוד הצג את כרטיס החבר של בחור נחמד חפש הודעות אחרות של בחור נחמד בקר בדף הבית של בחור נחמד
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 18 January 2008 בשעה 02:02 | IP רשוּם
ציטוט אלצ'קו

אלון כתב:
אני מריץ לולאת for מ-0 עד המספר שאני קולט, וקולט ציון, מחשב סה"כ סכום ציונים ומחלק במספר הפעמים שרצה הלולאה, זה ייתן לי ממוצע, נכון?
עכשיו החלק שאני מתקשה בו, איך אוכל לדעת כמה מהמספרים שנקלטו היו גדולים מהממוצע? תודה


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 21 January 2008 בשעה 00:02 | IP רשוּם
ציטוט בחור נחמד

אלצ'קו כתב:
אלון כתב:
אני מריץ לולאת for מ-0 עד המספר שאני קולט, וקולט ציון, מחשב סה"כ סכום ציונים ומחלק במספר הפעמים שרצה הלולאה, זה ייתן לי ממוצע, נכון?
עכשיו החלק שאני מתקשה בו, איך אוכל לדעת כמה מהמספרים שנקלטו היו גדולים מהממוצע? תודה


השאלה שלי הייתה איך תחשב ממוצע אם אתה לא יודע מראש כמה מספרים אתה הולך לקלוט.

הוא ענה לך (:
בקיצור, הוא (כמוני) עשה את חישוב הממצוע בקלות.
מה שנותר (ואני טוען שזה בלתי אפשרי) זה אחרי זה גם לחשב כמה מהמספרים היו גדולים מהממצוע.
למה אני חושב שזאת משימה בלתי אפשרית?
כי אתה מאבד את הנתונים בסוף הFOR ומגיע לממוצע רק בסוף הFOR.
כמובן, תמיד יכול להיות שיש דרך אחרת לחשב את הממוצע ודרכה דווקא כן אפשר לחשב. (אבל האופציה הזאת לא ממש סבירה)
אולי הקוד שלי יעזור לך להבין קצת יותר טוב איך פתרנו את השלב הראישון בבעיה:
using System;
public class TotalSorce
{
    public static void Main(String[] args)
    {
        Console.WriteLine("Enter the number of the Sorces:");
        int Sorces = int.Parse(Console.ReadLine());
        int total = 1;
        Console.WriteLine("Enter the sorces:");
        for (int i = 1; Sorces == Sorces; i++)
        {
            int Sorce = int.Parse(Console.ReadLine());
            double total2 = (double)total + Sorce;
            if (i == Sorces)
            {
                Console.WriteLine("The total sorce: {0}", (double)total2 / Sorces);
                break;
            }
        }
        int None = int.Parse(Console.ReadLine());
    }
}           
חזרה לתחילת העמוד הצג את כרטיס החבר של בחור נחמד חפש הודעות אחרות של בחור נחמד בקר בדף הבית של בחור נחמד
 
vK Creator||אלי
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 21 January 2008
משתמש: מנותק/ת
הודעות: 4
נשלח בתאריך: 21 January 2008 בשעה 00:07 | IP רשוּם
ציטוט vK Creator||אלי

אממ.. אני "בחור נחמד" עכשיו נירשמתי כדי לסדר קצת את הקוד שהבאתי בהודעה הקודמת:
קוד:

using System;
public class TotalSorce
{
    public static void Main(String[] args)
    {
        Console.WriteLine("Enter the number of the Sorces:");
        int Sorces = int.Parse(Console.ReadLine());
        int total = 1;
        Console.WriteLine("Enter the sorces:");
        for (int i = 1; Sorces == Sorces; i++)
        {
            int Sorce = int.Parse(Console.ReadLine());
            double total2 = (double)total + Sorce;
            if (i == Sorces)
            {
                Console.WriteLine("The total sorce: {0}", (double)total2 / Sorces);
                break;
            }
        }
        int None = int.Parse(Console.ReadLine());
    }
}             

*הערכה חשובה: האפשרות להשתמש בWHILE במקום בFOR עדיפה במקרה הזה, אבל אני עשיתי ככה מתוך הרגל מגונה.
חזרה לתחילת העמוד הצג את כרטיס החבר של vK Creator||אלי חפש הודעות אחרות של vK Creator||אלי
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 23 January 2008 בשעה 19:47 | IP רשוּם
ציטוט אלצ'קו

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

ומה זה sorce?!
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
אלון
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 January 2008 בשעה 14:27 | IP רשוּם
ציטוט אלון

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

ומה זה sorce?!
 
צודק, הנה אפשרות שיכולה להתאים (בסיום הכנסת הציונים יש להקיש 999). מה הלאה? =\
 
קוד:
while (grade != 999)
{
counter++;
grade = int.Parse(Console.ReadLine());
sum += grade;
}
avg = Math.Round(sum / counter);
חזרה לתחילת העמוד הצג את כרטיס החבר של אלון חפש הודעות אחרות של אלון בקר בדף הבית של אלון
 
vK Creator||אלי
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 21 January 2008
משתמש: מנותק/ת
הודעות: 4
נשלח בתאריך: 24 January 2008 בשעה 20:36 | IP רשוּם
ציטוט vK Creator||אלי

הקוד שהבאתי עובד מ-ע-ו-ל-ה (תנסו)
מה שעשיתי זה דבר פשוט מאוד, ביקשתי שיקליד את מס' הפעמים שהוא הולך להכניס בהם ציונים ואז פשוט הכנסתי את אותו מס' בתור מקסימום בלולאה. (משמע אני לא יודע כמה קלטים יהיו, התוכנה תדע רק ברגע שהוא יכניס אותם)
תתעלמו מהשמות שנתתי למשתמשים (נתתי סתם שמות לא קשורים)
בכ"מ דיברתי עם המורה שלי למחשבים, וכמוני הוא סובר שאי אפשר  לעשות את המשימה השניה ללא שימוש במערכים.

חזרה לתחילת העמוד הצג את כרטיס החבר של vK Creator||אלי חפש הודעות אחרות של vK Creator||אלי
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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