עבור לתוכן

בבקשה עזרה קטנה בתוכנה שבודקת פלינדרום בשפת C

Featured Replies

פורסם

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

תודה רבה לעוזרים.

פורסם

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

לדוגמא התאים שיבדקו במספר בינארי עם 5 ספרות:

0-4

1-3

2

אם מצאת אי שיוויון אחד איפשהו,סימן שהמספר לא פלינדרום.

פורסם
  • מחבר

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

ואז אני צריך להמיר אותו למספר בינארי

ואז לבדוק אם הוא פלינדרום

להמיר מספר עשרוני לבינארי אני יודע

אבל איך אני בודק אם זה פלינדרום אחרי שהמרתי אותו

את הקוד הזה הייתי רוצה לדעת איך לכתוב

פורסם

בדיוק כמו שכתבתי לך למעלה, באמצעות לולאה פשוטה.

המרה של int למחרוזת ניתן לבצע באמצעות הפונקצייה itoa

פורסם

^

אני לא יודע אם זה תקף בכל הגירסאות של itoa (אחרי הכל היא לא חלק מהסטנדרט), אבל לפי הרפרנס הנ"ל הפונקצייה מקבלת פרמטר שלישי של הבסיס:

http://www.cplusplus.com/reference/clibrary/cstdlib/itoa

במקרה שהCRT שאתה עובד איתו לא תומך בזה, אפשר לבצע את ההמרה לסטרינג בינארי בדרכים אחרות (עדיף שתנסה קודם לבד, אבל אם לא תצליח חיפוש קצר בגוגל יביא לך אלף ואחת דרכים)

פורסם

צודק, לא זכרתי את זה.

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

ארכיון

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

דיונים חדשים