הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   אפשר עזרה עם שפת C? (https://hosts.co.il/forums/showthread.php?t=72952)

dor77 25-03-09 21:52

אפשר עזרה עם שפת C?
 
שלום..
אני לומד במסגרת מגמת אלקטרוניקה שפת c.
בעוד חודש וחצי יש לי בגרות, אני עושה קצת חזרה על החומר בגלל שיש לי קצת זמן בימים הקרובים.
יש לי שאלה מבגרות אלקטרוניקה ומחשבים ג', קיץ תשס"ח שאלון 215201:

"
מערך שגודלו צשעה תאים, מכיל את המספרים האלה:
0 , 8- , 7 , 0 , 9- , 40 , 3- , 20 , 10.5

כתוב תכנית בשפת C שתבצע את הפעולות האלה:

א. תגדיר מערך ןתציב את המספרים לתוכו.
ב. תחשב ותדפיס את סכום המספרים החיוביים הנמצאים התאי המערך.
ג. תמנה את מספר תאי המערך שתוכנם 0 ותדפיס את תוצאת המנייה.
הערה: יש לכתוב את התכנית תוך שימוש בלולאה/לולאות.

"

זהו..בעיקרון רק עכשיו התחלנו מערכים וקשת קשה לי..
יש לי שאלה..בגלל שיש מספר אחת ממשי, אני אמור להגדיר את המערכך מסוג float?
אשמח אם מישהו יכול לעזור לי בפיתרון..
הנה ההתחלה שלי (כמו שאמרתי רק עכשיו התחלנו מערכים):

PHP קוד:


include <stdio.h>
void main (void)
{
float a[9]={0,-8,7,0,-9,40,-3,20,10.5};
k=0;
w=0

k יספור את מספר השליליים
w יספור את מספר ה0 שיש.

זה סעיף א..אני לא ידוע איך להמשיך את התכנית..
איך אני אומר לתכנית לעבור בלולאה על כל המספרים ואם המספר שבתוך המערכך גדול מ0 שתוסיף לk אחד..(לספור כמה חיוביים יש).

בעיקרון איך התחלתי? הגדרתי מונים נכונים (k,w)?
אשמח מאוד להמשך השאלה.

הבגרות הזאת מאוד קשה, יש לי 2 שאלות בשפת c שאפשר להגיד שהם מתנה, כי זאת שפה די קלה, מה גם שיש לי ניסיון בphp והם שפות דומות מאוד.

ד"א עוד מישהו כאן ניגש? והאם מישהו מצא פתרונות לבחינות האלו? אין באף מקום, זה מטריףף!


תודה רבה.

nissim.g 26-03-09 09:37

תראה אני לא מבין בשפת C אבל
מצאתי אתר אולי יעזור לך
http://clang.eitan.ac.il/
בהצלחה בבגרות

mlnn 26-03-09 10:05

אני לא יודע c, אבל זה אמור להיות משהו כזה:
קוד:

for(int i=0; i<9; i++) {
        if(a[i]>0)
        k=k+a[i];
        if(a[i]==0)
        w++;
        }

אתה לא צריך לספור כמה שליליים יש.

Slash 26-03-09 13:26

לא כתבתי בC מי יודע כמה שנים אבל הינה:
קוד:

float numbers[9]={0,-8,7,0,-9,40,-3,20,10.5};
int count=0,sum=0;
for(int i=0;i<9;i++)
{
        if(numbers[i]>0)
        {
                sum+=numbers[i];
        }
        else
        {
                if(numbers[i]==0)
                        count++;
                       
        }               

}
printf("%d %d",sum,count);

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

dor77 26-03-09 17:32

תודה רבה לכולם.
השמות של המשתמשים סתם כי לא היה לי מה לכתוב ברגע השאלה..בבגרות אני יתן שמות נורמאליים למרות שלא יכולים להוריד את על זה נכון?

בכל אופן ממש תודה.

Slash 26-03-09 22:12

ציטוט:

נכתב במקור על ידי dor77 (פרסם 704980)
תודה רבה לכולם.
השמות של המשתמשים סתם כי לא היה לי מה לכתוב ברגע השאלה..בבגרות אני יתן שמות נורמאליים למרות שלא יכולים להוריד את על זה נכון?

בכל אופן ממש תודה.

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

Jerba 27-03-09 18:09

מה ברור שלא? אם תכתוב פונקציה עם משתנים X Y ו Z יורידו לך..

זה פשוט מכוער , כמו שיורידו על טענת כניסה ויציאה וכמו שיורידו שתעשה RETURN באמצע
WHILE או תקפיץ את הI באמצע FOR , אם תעשה ככה התוכנית תעבוד אבל זה חינוך לתכנות
נכון..

ועדיין יש בגרויות בC? זה לא הפך רק ל C# ו JAVA?

Slash 27-03-09 18:51

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


כל הזמנים הם GMT +2. הזמן כעת הוא 01:59.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ