נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: תרגיל בC

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אסף
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 19 November 2007 בשעה 09:12 | IP רשוּם
ציטוט אסף

אז ככה, צריך לקחת שני מספרים גדולים, כלומר להכניס אותם למערך בתור string ואז לבצע עליהם פעולות חיבור, חיסור וכפל.
מותר להשתמש רק בstrlen, strcpy, strcat, strcmp.
מה שאני שובר עליו את הראש, זה איך לעשות פעולות כאלו על string שהרי בתוך המערך הכל תווים, נכון?
מישהו יכול להביא לי רק את הרעיון איך לעשות את זה?
תודה מראש.
חזרה לתחילת העמוד הצג את כרטיס החבר של אסף חפש הודעות אחרות של אסף בקר בדף הבית של אסף
 
צחי@
משתמש חבר
משתמש חבר


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 19 November 2007 בשעה 09:29 | IP רשוּם
ציטוט צחי@

char המייצג ספרה ניתן להמרה ל-int ע"י:

קוד:

char c = '5';
int x = (int)(c - '0');   //x will be equal to 5

חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 
אסף
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 19 November 2007 בשעה 11:08 | IP רשוּם
ציטוט אסף

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


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 19 November 2007 בשעה 11:47 | IP רשוּם
ציטוט צחי@

אסף כתב:
יש שיטה אחרת חוץ מזה?

שיטה אחרת לעשות מה ?

להמיר מ-char ל-int ? זאת השיטה הפשוטה ביותר והיא לא דורשת שימוש בשום פונקציה - אני הייתי מנחש שהשיטה הזאת מותרת כי באמת אין פה התחכמויות.

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

חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 
אסף
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 19 November 2007 בשעה 22:30 | IP רשוּם
ציטוט אסף

סבבה, תודה אחי.
יש לי עוד שאלה, האם זה חוקי?
('char)(number % 10 + '0)
אני צריך להמיר מספר שלם לתו.
תודה מראש.
חזרה לתחילת העמוד הצג את כרטיס החבר של אסף חפש הודעות אחרות של אסף בקר בדף הבית של אסף
 
צחי@
משתמש חבר
משתמש חבר


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 20 November 2007 בשעה 08:21 | IP רשוּם
ציטוט צחי@

ניסית את זה ? זה עובד ? אז כנראה שזה חוקי :)
נשאלת השאלה מה המטרה שלך בהמרה הנ"ל - יכול להיות שאתה לא משיג אותה, אבל מבחינת התחביר של השפה ההמרה חוקית בהחלט.

מכיון ש-'0' הוא כבר char, אני מבצע את ההמרה ככה:
קוד:

char c = '0' + (char)(number % 10);


חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 
סבבה,תודה,עוד משהו..
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 November 2007 בשעה 17:38 | IP רשוּם
ציטוט סבבה,תודה,עוד משהו..

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


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 21 November 2007 בשעה 09:23 | IP רשוּם
ציטוט צחי@

תשתמש באותו אלגוריתם לחיסור ארוך שנלמד בבי"ס יסודי. תשלים את המספר הקצר יותר באפסים מובילים לאורך של המספר הארוך יותר.

למקרה שאתה לא זוכר, זאת אחת השיטות לעשות חיסור "ארוך":

http://online.edfac.unimelb.edu.au/485129/wnproj/subtract/decomtxt.htm

חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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