עבור לתוכן

אשמח לעזרה- אני ממש לא יודע מה לעשות

Featured Replies

פורסם

אני לומד תכנות במסגרת לימודי הנדסה שנה א', זה חובה. אני לומד בשפת C , תכנות כנראה זה לא הצד החזק שלי או שאני לא מבין את מי שמלמד (לא למדתי תכנות בבית הספר וכו')

יש לי 2 בקשות ואני אשמח אם תוכלו לעזור לי

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

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

השאלות הם:

א--- בתרגיל זה נממש כלי שממיר מספר הקסדצימאלי (כלומר, בבסיס 16) דו-ספרתי למספר דצימאלי (כלומר, בבסיס עשרוני).

התוכנית תקלוט מהמשתמש מספר הקסדצימאלי דו-ספרתי (כרצף של 2 תווים) ותדפיס את המספר הדצימאלי שמיוצג על ידי תווים אלו. לאחר הדפסת המספר הדצימאלי, התכנית תסתיים.

הערה: ניתן להניח שהקלט תקין וכל התווים מהמשתמש הן ספרות או האותיות A,B,C,D,E,F

דוגמאות הרצה (תוכנית, משתמש):

Please enter a 2-digit hexadecimal number:

10

The decimal value is 16

Please enter a 2-digit hexadecimal number:

05

The decimal value is 5

Please enter a 2-digit hexadecimal number:

E2

The decimal value is 226

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

למשל, סכום הספרות של המספר 1234 הוא 30 כי: 30 = 12+22+32+42.

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

דוגמאות הרצה (תוכנית, משתמש):

Please enter a number:

1234

The sum of squares is:

30

Please enter a number:

1001

The sum of squares is:

2

אני למשל עשיתי דבר כזה לשאלה 2 ( כמובן שזה לא טוב כי זה לא יוצא ):

#include <stdio.h>

int main()

{

int a, b, c, d , sum ;

printf("Enter an integer\n");

scanf("%d", &a);

printf("Enter an integer\n");

scanf("%d", &b);

printf("Enter an integer\n");

scanf("%d", &c);

printf("Enter an integer\n");

scanf("%d", &d);

sum=a*a+b*b+c*c+d*d

printf("Answer: %d+%d+d+d = %d\n", a, b,c,d sum);

}

return 0;

}

אני ממש אשמח לעזרה.

ותודה

פורסם

1. לא מכיר.

2. יש מספר דרכים לפתור את השאלה הזו. כדי לכוון אותך כדאי לדעת אילו נושאים למדת קודם.

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

בכל מקרה, המתרגל שלך בטח ביקש שתזין את המספר בפעם אחת ולא בחלקים. (אחרת אין כמעט מה לעשות..) כלומר, 1234 ולא 1, 2, 3, 4.

דבר נוסף, כשאתה מצרף קוד תשתמש בתגית 'קוד' - אייקון של סולמית. כך זה יראה את הקוד בצורה מיטבית.

פורסם

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

פורסם
  • מחבר

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

לדוגמא:

יש פונקציות כגון scanf , double ולכול אחד מהם (או שלא) סימונים אחרים כמו %d g% , if% וכו', אני לא מבין מתי אני אני אמור להשתמש במה ואיך בכלל, והאם לכל פונקציה כזאת אני אמור להתאים סימן אחר וכו'.

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

נגיד במה שהעלתי כבייכול לתשובה 2 מה לא בסדר? איך אני אמור לשנות את זה? (גם את זה עשיתי כבייכול ע"י תבנית שהוא הביא כדוגמא, אך זה לא בסדר בכל מקרה)

נערך על-ידי MOOMOY

פורסם

בלבלת פה דברים לא קשורים. scanf זה פונקציה שקוראת קלט מהמשתמש, double זה בכלל טיפוס של משתנה.

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

ארכיון

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

דיונים חדשים