שפת C- שאלה בסיסית

shir1595

New member
שפת C- שאלה בסיסית

היי, אני בדיוק מתחילה ללמוד קצת שפת C, ויש לי את השאלה הבאה שניסיתי לפתור אותה ללא הצלחה... אשמח לעזרה!
כתוב תכנית הקולטת מספר תלת ספרתי , ומדפיסה מספר תלת ספרתי חדש באופן הבא:עבור כל ספרה זוגית יש להדפיס את הספרה העוקבת באופן מעגלי ועבור כל ספרה אי זוגית יש להדפיס את הספרה הקודמת באופן מעגלי.
הסבר לעוקב וקודם באופן מעגלי: המספר העוקב ל9 הוא 1.המספר הקודם ל -1 הוא 9.

מצ"ב מה שניסיתי לעשות...

 

BravoMan

Active member
למה את אומרת שללא הצלחה?

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

&nbsp
בכל אופן, היות ואת רק מתחילה, הנה כמה טיפים:
&nbsp
1. אל תתני למשתנים שמות עבריים! זה רק רק מבלבל ומקשה על קריאת הקוד.
השתמשי בשמות ברורים באנגלית.
אם את מתקשה עם אנגלית - תשקיעי בלימוד אנגלית! אי אפשר ללמוד תכנות בלי לדעת אנגלית ברמה טובה!
&nbsp
2. אל תקצי משתנים לשווא - כל בלבול בתרגיל שלך נוצר כי השתמש ביותר משתנים ממה שהיית צריכה באמת.
&nbsp
3. כשיש לך בעיה, ספרי מה הבעיה בצורה מדויקת!
אל תזרקי פה את כל הקוד ותגידי "הצילו, לא עובד!" זה לא מאפשר לעזור לך.
&nbsp
תכתבי איזה קלט הכנסת, איזה פלט ציפית לקבל, ומה קיבלת בפועל, ואז תני את קטע הקוד הרלוונטי.
&nbsp
4. אם יש משהו ספציפי בתרגיל שאינך מבינה, צייני מה הוא.
בפורום לא נהוג לפתור תרגילים, ולא תקבלי פתרון מלא, מה שאומר שאם לא תגידי מה בדיוק לא ברור בתרגיל, לא תקבלי כלום!
&nbsp
בכל מקרה,
בהצלחה בלימודים!
 

shir1595

New member
תגובה

קודם כל תודה!
בעיקרון הבנתי את התרגיל והבנתי איך הפלט אמור להיראות נניח וקלטתי 491 אז הפלט הוא 519 לא הבנתי איפה אמור להיכנס התנאי עם 9 ו-1 ואיך רושמים את זה.
הפלט בכלל לא עבד לי, התוכנה לא רצה ולפי הerror list לא מופיע בכלל שיש טעות.
לגבי המשתנים- אני יודעת באנגלית פשוט יותר היה לי נוח ככה הפעם, ולא הבנתי אילו משתנים הוקצו לחינם?

תודה!
 

BravoMan

Active member
קודם כל:

אם הקלט הוא 491, הפלט אמור להיות 589 לא 519.
&nbsp
עכשיו, מה זה אומר בדיוק, התוכנית לא רצה?
&nbsp
את לא מגיע בכלל לשלב שבו את קולטת את המספר?
ואין אף הודעת שגיאה בשום מקום?
 

shir1595

New member
הגיוני..

התבלבלתי לגבי המספר�� אני מגיעה לשלב שקולטים מספר, מכניסה את המספר התלת ספרתי שבחרתי ואז התוכנית נתקעת.. בנוסף, גם לא התייחסתי לקצוות של 9, 1 לא הבנתי איך רושמים את בזה בשפה..
 

BravoMan

Active member
אוקיי, בואי נראה:

בשביל מה את צריכה את כל המשתנים שמתחילים ב-new?
האם נתת ולו לאחד מהם ערך לפני שהתחלת להשתמש בהם בחישובים?
&nbsp
אם תעני לעצמך על שתי השאלות האלה, תראי גם למה יש בעיה בתוכנית!
&nbsp
הבדיקה של 1 ו-9 היא בדיקה רגילה, את כבר יודעת איך רושמים תנאים בשפת C, עשית זאת נכון לפחות 3 פעמים, את רק צריכה לנסח התנאי נכון לפי מה שביקשו בתרגיל.
 
למעלה