עבור לתוכן

2 שאלות שפת C

Featured Replies

פורסם

בקובץ 2010tar4

אני לא מבין למה זה מדפיס 4 ולא 5 בשורה מספר 13

4 לחלק 3 כפול 4 =5.3333 או 16/3

בקובץ 2010tar1

בשורה מספר 17-18

יש 2 הדפסות של ptr פעם ראשונה זה מדפיס 5 פעם שניה זה מדפיס משהו אחר

ואני לא מבין למה זה משתנה?

תודה מראש :)

[attachment deleted by admin]

פורסם

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

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

פורסם
  • מחבר

תודה :)

מהט ביום ראשון ואני עובר על מבחני מהט

יש לי עוד שאלה

סעיף ב (קובץ)

הבעיה שלי היא שאני לא ידע מה\כמה גדלים יש

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

22 25 30 ...

0 0 0 ...

(אבל אני היה צריך להשתמש relloc כדי להגדיל אותו כל פעם שאני מוצא גודל חדש)

ניראה לי שזה קצת יותר מדי עבודה בלגן:)

והאפשרות השניה היא לקבוע 10-15 גדלים של מסך ולעבוד לפי זה (לא יודע אם יקבלו את זה )

אוו שיש דרך טובה יותר שלא עברה לי בראש מקווה שאתה יכל לעזר :)

[attachment deleted by admin]

פורסם

למה אתה צריך לדעת כמה גדלים יש? אתה רק צריך למצוא את הגודל המקסימלי.

פורסם
  • מחבר

לא ביקשו את הגודל המקסימלי

רוצים לדעת לאיזה גודל היה יותר מכירות

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

הרעיון שלי עובד כך

לולאה שרצה על כל 3000 המכירות

לולאה נוספת שרצה על 40 פרטי הטליוזיות

ולואה אחרונה שרצה על המערך של הגדלים ומקדמת את השורה מתחת ++ כשווה לגודל של אותה מכירה :)

היום בבוקר הבנתי אך לעשות את זה

אני פשוט יצור מערך דו מימדי של 1-70

זה 3 לולאות אבל לא בעיה לעשות את זה :)

היה מספר תאים מיותרים אבל זה לא ממש משנה

אם היה לי רשימה של הגדלים היתי יכל לצור מערך קטן יותר

פורסם

צודק, לא הבנתי נכון את השאלה.

לא הבנתי איך הגעת ל-70 (זה הגודל המקסימלי?) אבל אם יש לך פתרון שעובד, סבבה :xyxthumbs:

פורסם
  • מחבר

סתם 70 אני יכל לעשות עד 200 זה לא ישנה (למורת שאני חושב שלא תמצא בחנות יותר מ 70 :)

יש לי עוד שאלה :) (קובץ)

למין את המערך אין בעיה

למצוא את המספר הגדול ביותר ולבדוק כמה ספרות יש לו גם אין בעיה

להדפיס אם רווח :

רציתי בהתחלה לעשות

 
and put int size between them %d
like
%2d // will print with 2 space between

size int זה מספר הספרות

אבל זה לא ממש עבד :) מקבל רק מספרים לא משתנים

יש דרך לכתוב את זה ש d% יקבל משתנים?

הדרך השניה להשתמש בלולאה שתעשה רווח לפני כל הדפסה (לא ממש אוהב את הפתרון הזה )

[attachment deleted by admin]

פורסם

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

כלומר, במקום לעשות:

printf("%2d", x);

אתה יכול לעשות:

printf(s, x);

כאשר s הוא מחרוזת (כלומר *char) שמכילה בדיוק מה שאתה צריך. את המחרוזת s אתה יכול לבנות באמצעות sprintf.

פורסם
  • מחבר

sprintf

לא יצא לי להשתמש בזה אני יחפש ב google

תודה :)

ארכיון

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

דיונים חדשים