פורסם 2014 באפריל 411 שנים שלום,יש לי קטע קוד בשפת c ואני צריך לסדר ארבעה משתנים מסוג int לפי הערך שלהם מהגדול ביותר לקטן ביותר לפי הסדר.רציתי לדעת איך אפשר לסדר את זה, כמובן שהערכים של המשתנים תלויים בקלט, שבסוף אציג אותם ברשימה מסודרים לפי הערך.אשמח אם תעזרו לי עם זה.תודה מראש
פורסם 2014 באפריל 411 שנים למה הכוונה ב"לסדר"? להדפיס?אם יש לך רק ארבעה משתנים אתה יכול עם כמה תנאים לסדר אותם.אתה יכול להציב אותם במערך ולמיין אותו.
פורסם 2014 באפריל 411 שנים מחבר כן הכוונה להדפיס.אני יודע למצוא את הערך הגדול ביותר ואת הערך הקטן ביותר אבל את האמצעים אני לא מצליח.
פורסם 2014 באפריל 411 שנים שוב, אם תציב אותם במערך, יהיה לך יותר קל אם תמיין אותם.במקרה אחר, תוכל תוכל להציב במשתנה עם הערך הכי נמוך שמצאת להציב מספר גבוה (את ההכי גבוה שנית לשים ב-int למשל)
פורסם 2014 באפריל 411 שנים מחבר זה לא מצמצם לי אופציות, בתאוריה אני יודע פחות או יותר מה לעשות אבל לא מצליח לשים את זה בקוד, אשמח אם תראו לי דוגמאות.אני צריך שידפיס לי בסוף בצורה הזאת.1. (שם המשנה) (ערך המשתנה).2. (שם המשנה) (ערך המשתנה)3. (שם המשנה) (ערך המשתנה)4. (שם המשנה) (ערך המשתנה)שאחד זה הכי גדול וארבע זה הכי קטן.שוב אני לא יודע מה יהיה ערך המשתנים זה תלוי בקלט.אשמח אם תראו לי בקוד.תודה מראש
פורסם 2014 באפריל 411 שנים אין לי זמן לכתוב קוד עכשיו אבל אני יכול להגיד לך שאם אתה לא מבין מה זה מערך כנראה שאתה לא צריך להשתמש בו...אתה צריך לטפל בזהים?אתה בכלל יכול להשתמש במערכים?אם כן: http://www.programmingsimplified.com/c/source-code/c-program-bubble-sort
פורסם 2014 באפריל 411 שנים מחבר בשביל לדעת מה הערך של כל משתנה, כך שאני רואה את המספרים אני גם אדע לאיזה משתנים הם שייכים.- - - תגובה אוחדה: - - -אני עוד לא למדתי את זה, מה שהבנתי מהמרצה זה שצריך לעשות את זה עם if-ים
פורסם 2014 באפריל 411 שנים קודם כל תכתוב משהו שמקבל את הכל ומדפיס את המשתנים שיש לך. נגיד תקרא להם A B C D ותראה שאתה מקבל את כולם ויוצא לך מה שרצית. אתה צריך לצייר עץ אפשריות שייתן לך את המבנה של ה IF (יעזור לך להבין). בעקרון תחפש את הכי גדול ובתוכו תחפש את השני ואז את השלישי והרביעי כבר שם אני לא רואה כרגע דרך יפה לכתוב את זה
פורסם 2014 באפריל 411 שנים הפתרון הקלאסי שניתן להרחיב לכל מספר של משתנים הוא להכניס את המשתנים למערך, ואז למיין אותו (בעזרת אלגוריתם מיון, כמובן).(בד"כ האיברים כבר יבואו במערך או במבנה דומה כלשהו.)למספר כזה קטן של איברים לא צריך אלגוריתם יעיל, אז ניקח את אחד ההכי פשוטים להבנה ולמימוש: bubble sort.הנה מימוש לדוגמה: http://www.cprogramming.com/tutorial/computersciencetheory/sorting1.html (תשים לב שאתה רוצה למיין את המשתנים בסדר הפוך מהמקובל, אז או שתצטרך להתאים טיפה את הקוד, או שתמיין כרגיל (אפילו עדיף) ואחר-כך תדפיס את המערך מהסוף להתחלה).הנה גרסא קצת יותר מסודרת של הקוד הנ"ל: http://pastebin.com/9PwtssqT.לפני שתסתכל על המימוש אולי כדי שתבין איך האלגוריתם פועל. אתה יכול להיעזר למשל בסרטון הזה.הערה: במימוש שהבאתי (שזה סתם קוד שמצאתי בגוגל) אין את ה-"limit" שיש בסרטון, ואז נוצר מצב שהאלגוריתם סתם עושה צעדים מיותרים, וזה די מטומטם (לא שזה משנה עבור מספר כזה קטן של איברים). אפשר בקלות רבה מאוד (ע"י הוספת שני תווים) להוסיף את השיפור שהזכרתי לקוד הנ"ל.עריכה:אני רואה שאתה רוצה להדפיס גם את שמות המשתנים.מבחינת העיקרון זה יישאר בדיוק כמו שרשמתי. מבחינת המימוש זה קצת יכער את הקוד, לפחות ב-C.בנוסף, אם במקום אלגוריתם מיון סטנדרטי אתה רוצה להשתמש ב-if-ים אז זה יצא די מסורבל (אפשר להוכיח שכדי למיין ככה מספיק לבצע 5 השוואות, זה קשור לעץ ש-Ligi הזכיר). במקרה בשביל 4 איברים זה עוד סביר.אם אתה רוצה רמז לגבי איך עושים את זה אז ככה: בהינתן ארבעה איברים a, b, c, d, תמיין את a ו-b בנפרד ואת c ו-d בנפרד ("תמיין" = תבין מי הגדול מבין השניים). כדי לעשות את זה מספיקות שתי השוואות (שני if-ים). אח"כ זה די פשוט. נערך 2014 באפריל 411 שנים על-ידי שכיר חרב
פורסם 2014 באפריל 411 שנים הוא לא יכול להשתמש במערכים כי עוד לא למדו אותו לכן הוא חייב לעשות ב IFכבר ערכתי את ההודעה (כשראיתי שהוא הוסיף את זה).בכל מקרה, לא יזיק ללמוד קצת לבד.
פורסם 2014 באפריל 411 שנים אני לא מבין למה אתה מסתבך (במיוחד אם עוד לא למדת מערכים ואם הורו לכם בפירוש להשתמש ב-IF) :תחשוב שהיית צריך לפתור את הבעיה במציאות. נניח, הלכת עם עוד 3 חברים למסעדה, ואתה רוצה להגיש למלצר את כרטיסי האשראי עם הסכום שכל אחד צריך לשלם, ואתה רוצה להגיד לו את הסכומים ע"פ סדר מהקטן לגדול כדי שהוא יזכור ---מה היית עושה?היית משווה כל סכום לכל סכום אחר, נכון?וגם ברור לך שהיית יכול לעשות "קיצור דרך", נכון?כי אם סכום A קטן מסכום B וסכום B קטן מסכום C,לא יכול להיות שסכום C קטן מ-A, נכון?כך היית יכול לבנות "אלגוריתם ידני" כביכול שאומר כיצד אפשר ע"י סט מסויים של השוואות של סכומים לדעת מי הקטן ביותר, מי אחריו, וכו' וכו'תבנה את האלגוריתם הזה על דףואז פשוט תתרגם את זה לקוד
פורסם 2014 באפריל 511 שנים מחבר אני כבר אמרתי שאני יודע איך למצוא את הראשון ואת האחרון. הבעיה היא אם אני רוצה לדעת מי השני או השלישי בגודלו, אני לא יכול להשוות את ארבע המשתנים כי הראשון הוא תמיד הכי גדול, אז איך אני יכול לכתוב קוד שיתעלם מהמשתנה הכי גדול וישווה רק את השלושה האחרים, ששוב אני לא יודע מי הכי גדול זה פשוט תלוי בקלט. אז יש איזה שהי דרך לכתוב את זה, אם תראו לי בקוד איך אפשר לכתוב למצוא רק את השני בגודלו אני כבר אצליח להבין לבד מה לעשות.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.