כותב |
|
גיא אורח

הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
אתה כאילו רוצה שנפתור לך את שיעורי הבית...? אם כן FORGET IT [לפחות ממני...]
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
גיא אורח

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


הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 17 February 2005 בשעה 16:53 | | IP רשוּם
|
|
|
|
טוב אם זה לא שיעורי בית אז אני יסיבר לך אתה כבר תמיר את זה לשפת C:
אתה יוצר לולאה אשר תגמר כאאשר יקלטו זוג המספרים -1,-1 בתוך הלולאה אתה תחבר את הציון למשתנה כל שהוא [נגיד SUM] ותחבר לו גם את הערך הקודם שלו, כאילו
sum = sum + grade לדוגמא....., אחרי זה אתה תעלה משתנה חדש שבעצם יספור כמה מספרים יש [או אם השתמשת ב-FOR אז אתה לא צריך...] ופשוט תדפיס את
sum/i
מקווה שהבנת את העקרון...
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר


הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
לפי השאלה שלו הוא לא ברמה כמו שכתבת (בלי להעליב גם אני לא ממש ברמה...) את זה אז אני יכתוב את אחרת אם לא אכפת לך :)
קוד:
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 ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר


הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 17 February 2005 בשעה 20:36 | | IP רשוּם
|
|
|
|
לפי מה שאני יודע זה עכשיו התקופה לפני המבחן בC בטכניון.
אם זה היה ש.ב., אז צודק.
אבל לפני המבחן - אני מאמין שהזמן של אנשים חשוב 
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על


הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 17 February 2005 בשעה 22:40 | | IP רשוּם
|
|
|
|
ד"א אחי בתשובה שאתה הבאת לו שמת את ה-SCANF בתוך הWHILE מה בעצם מחזיר ה-SCANF?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר


הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
סבבה הבנת הוא בודק אם הקלט מתאים לסוג שהייתה צריך לקבל....
אז לא הבנתי מה עשית בתוכנית שלך הרי זה אינסופי לא? הוא ביקש שיקלט -1-1 זה יפסק...
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר


הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
אם הייתי יודע שהפונקציה מחזירה את הדבר הזה ברור שהייתי משתמש בזה :) טוב לחפות למדתי משהו חדש היום ;)
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|