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

נושא: שפת C

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 17 February 2005 בשעה 15:00 | IP רשוּם
ציטוט גיא

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

למשל: קלט:

100    2
90      4
80      7
70      15
60      9
50      2
1-       1-

פלט: 72.05128



חזרה לתחילת העמוד הצג את כרטיס החבר של גיא חפש הודעות אחרות של גיא בקר בדף הבית של גיא
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 17 February 2005 בשעה 15:36 | IP רשוּם
ציטוט SBD

אתה כאילו רוצה שנפתור לך את שיעורי הבית...? אם כן FORGET IT [לפחות ממני...]

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
גיא
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 17 February 2005 בשעה 15:45 | IP רשוּם
ציטוט גיא

זה לא שיעורי בית - בכל מקרה אני לא הכרחתי אותך :)
חזרה לתחילת העמוד הצג את כרטיס החבר של גיא חפש הודעות אחרות של גיא בקר בדף הבית של גיא
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 17 February 2005 בשעה 16:53 | IP רשוּם
ציטוט SBD

טוב אם זה לא שיעורי בית אז אני יסיבר לך אתה כבר תמיר את זה לשפת C:

אתה יוצר לולאה אשר תגמר כאאשר יקלטו זוג המספרים -1,-1 בתוך הלולאה אתה תחבר את הציון למשתנה כל שהוא [נגיד SUM] ותחבר לו גם את הערך הקודם שלו, כאילו

sum = sum + grade לדוגמא....., אחרי זה אתה תעלה משתנה חדש שבעצם יספור כמה מספרים יש [או אם השתמשת ב-FOR אז אתה לא צריך...] ופשוט תדפיס את

sum/i

 

מקווה שהבנת את העקרון...



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 17 February 2005 בשעה 20:20 | IP רשוּם
ציטוט ניר

SBD כתב:
אתה כאילו רוצה שנפתור לך את שיעורי הבית...? אם כן FORGET IT [לפחות ממני...]


חח SBD, אל תפחיד אנשים ששואלים שאלות, מותר :)

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

פתרון בגדול:
קוד:
int students_number = 0, total_sum = 0;
int temp1, temp2;

while (scanf("%d%d", temp1, temp2) == 2))
{
    students_number += temp1;
    total_sum += temp1*temp2;
}

return (double)total_sum / students_number;



דוגמא שלמה פה: שפת C
(עמוד 48)

זהו סוג שאלות של קבלת קלט "כל עוד יש קלט"
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 17 February 2005 בשעה 20:32 | IP רשוּם
ציטוט SBD

לפי השאלה שלו הוא לא ברמה כמו שכתבת (בלי להעליב גם אני לא ממש ברמה...) את זה אז אני יכתוב את אחרת אם לא אכפת לך :)

קוד:
scanf("%d,%d",&sNum,&grade)

while(sNum != (-1) && grade != (-1))
{
 sCount += sNum;
 SumG += sNum * grade;
 scanf("%d,%d",&sNum,&grade)
}

printf("%f",SumG/sCount);

בכל מקרה גבר אם אתה תפתור לכל אחד שיעורי בית זה לא ממש יהיה שווה :( אני בטוח שאם הוא היה חושב\לומד הוא היה פותר את זה בלי שום בעיה...



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 17 February 2005 בשעה 20:36 | IP רשוּם
ציטוט ניר

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 17 February 2005 בשעה 22:40 | IP רשוּם
ציטוט SBD

ד"א אחי בתשובה שאתה הבאת לו שמת את ה-SCANF בתוך הWHILE מה בעצם מחזיר ה-SCANF?

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 17 February 2005 בשעה 22:43 | IP רשוּם
ציטוט ניר


הפונקציה scanf מחזירה את מספר המשתנים שהיא קראה בהצלחה, או -1 במקרה שנגמר הקלט.
לדוגמא, הקוד הבא:
קוד:

    int x, y, z;
    z = scanf("%d%d", &x, &y);
    printf("%d\n", z);

הערך של z (הערך שהפונקציה scanf החזירה) במקרים שונים:

המשתמש הקליד    הערך של z
4 9            יוחזר 2
34 98            יוחזר 2
56 hhhh            יוחזר 1
xxx yyy            יוחזר 0
^z (שזה בעצם ctrl+z)    יוחזר -1


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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 18 February 2005 בשעה 04:16 | IP רשוּם
ציטוט ניר

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 18 February 2005 בשעה 09:05 | IP רשוּם
ציטוט SBD

סבבה הבנת הוא בודק אם הקלט מתאים לסוג שהייתה צריך לקבל....

אז לא הבנתי מה עשית בתוכנית שלך הרי זה אינסופי לא? הוא ביקש שיקלט -1-1 זה יפסק...



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 18 February 2005 בשעה 13:24 | IP רשוּם
ציטוט ניר

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 18 February 2005 בשעה 13:54 | IP רשוּם
ציטוט SBD

אם הייתי יודע שהפונקציה מחזירה את הדבר הזה ברור שהייתי משתמש בזה :) טוב לחפות למדתי משהו חדש היום ;)

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 

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

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

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