פורסם 2008 במרץ 1517 שנים האם יש אפשרות לקלוט מספר בעל כמה מספרים למערך. וכל מספר יהווה במערך משתנה. למי שלא הבין: המשתמש יכתוב 13245 והמסרים יקלטו מערך של נגיד [5]N זאת אומרת ש[0]N יהיה שווה ל1 וכו' עד ל[4]N יהיה שווה 5. אם כן איך כותבים את זה? תודה לעוזרים!!!
פורסם 2008 במרץ 1517 שנים אופציה א:מה ש-exercise אמר, אבל לזכור שאתה צריך להמיר אותם מתווים (char) למספרים. חוץ מזה, עדיף להשתמש ב-getchar או scanf.אופציה ב:לקלוט לתוך מספר אחד, ואז לבודד אותו לספרות באמצעות פעולות חילוק ומודולו.
פורסם 2008 במרץ 1517 שנים מחבר אופצייה א'- אם משתמשים בGETCH הוא מכניס את קוד הASKII של אותו מקש. ולא את המקש עצמו.... אופצייה ב'- איך בדיוק עושים את זה? ותודה על העזרה
פורסם 2008 במרץ 1517 שנים א. זה בדיוק מה שאמרתי. אתה צריך לדאוג להמיר אותם (ע"י חיסור '0').ב. אתה צריך להשתמש בפעולות חילוק ומודולו (הוצאת השארית מהחילוק). לדוגמה, הפעולה i%10 מחזירה לך את שארית החילוק של i ב-10, שזה ספרת האחדות של המספר.
פורסם 2008 במרץ 1517 שנים מחבר אוקיי הצלחתי... לקחתי את האפשרות א'. יותר פשוטה לפי דעתי... נ.ב אם אני הולך לפני אפשרות ב'. ונגיד מחלק את 12345 ב1000 אז יוצא 1.2345 אז אני צריך להשתמש במשתנה מסוג CHAR בשביל שהוא יקלוט רק מספר אחר אחרי הנקודה? ותודה על העזרה
פורסם 2008 במרץ 1517 שנים חילוק אינטג'רי של 12345 ב 1000 יתן לך 12 שלם. חילוק אינטג'רי (חילוק של משתנים מטיפוס int) יתן לך רק את החלק השלם ו"יזרוק" את השארית, גם אם היא גדולה מחצי.
פורסם 2008 במרץ 1517 שנים אופציה ג- לקרוא הכול תוך מחרוזת(עם scanf) ולהתייחס אליה בתור מערך.גם באופציה הזאת צריך להמיר מתווים למספרים.
פורסם 2008 במרץ 1617 שנים מחבר אוקיי קצת התבלבלתי אבל עכשיו הכל מובן. בשביל לפרק מספר למערך עושים את זה: for (i=0;i<5;i++) { b[i]=n%10; n=n/10; } ואז זה עובד טוב.... אופצייה ג'- לא כל כך הבנתי למה התכוונת. בכל אופן הלכתי על אפשרות א' הכי נוח לפי דעתי. אז עפתי למבחן שיהיה לי בהצלחה
פורסם 2008 במרץ 1617 שנים אופציה ג' דומה לאופציה א'. ההבדל הוא שבאופציה א' אתה קורא תו אחר תו, ובאופציה ג' אתה קורא את כולם במכה.
פורסם 2008 במרץ 1617 שנים מחבר אבל אם אני משתמש בSCANF וכותב שם %D %D %D %D %Dאז המשתמש יצטרך ללחוץ ENTER לאחר כל מספר שהו אמכניס. וכל הרעיון שהוא יכניס מספר אחד.... או שלא הבנתי כל כך את אפשרות ג'...נ.בהמבחן היה קל.
פורסם 2008 במרץ 1617 שנים באפשרות א, הכוונה הייתה להשתמש בלולאה, ולקלוט באמצעות c% ולא d%.באפשרות ג', הכוונה הייתה לקלוט באמצעות s% לתוך מחרוזת (מערך של char).
פורסם 2008 במרץ 1617 שנים אני אומר לך על דרך ג' (קליטת מחרוזת) ואז אתה בקלות לעובר עם לולאה על הקלט ופשוט עושה חיסור:ch[i] = ch[i] -'0';זה מכניס לך את הערך בצורת int לתוך המערך בצורה יותר יעילה כי כל תא מקבל מספר מ-0 עד 9 ו-char יותר חסכוני מ-intint זה 8 ביט לעומת 2 ביט של ה-charואת הלולאה אתה ממשיך עד שאתה מוצא '\0' (סוף מחרוזת) שזה פשוט הספרה 0whlie(ch[i] != 0)...
פורסם 2008 במרץ 1617 שנים int הוא 4 בתים, ו-char הוא בית אחד. אין לי מושג איך הגעת ל-8 ביט ו-2 ביט.חוץ מזה, כשתכתוב תוכניות למערכות עם מעט מקום, אז תדאג לחסוך. אל תנסה לחסוך בזכרון כשאתה כותב תוכנית של 3 שורות.
פורסם 2008 במרץ 1717 שנים מחבר באפשרות א, הכוונה הייתה להשתמש בלולאה, ולקלוט באמצעות c% ולא d%. באפשרות ג', הכוונה הייתה לקלוט באמצעות s% לתוך מחרוזת (מערך של char). אהה אוקיי..... הבנתי johndou , לא הכי למדנו את זה... למעשה לא למדנו את זה בכלל. את המחרוזת הזאת......
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.