עבור לתוכן

זקוק לפתרון בתרגיל בשפת C

Featured Replies

פורסם

כתוב תכנית הקולטת זמן(מורכב מ-3 ערכים(3 מספרים): שעה, דקה, שנייה), בו טיל משוגר. אחר-כך תכנית שקולטת משך הזמן(בשניות –עוד מספר) שהטיל שוהה באוויר. יש לחשב ולהדפיס את מועד נחיתה(שעה, דקה, שנייה).

(יש להשתמש במשתנים מסוג long int )

דוגמא: (משמאל לימין)

קלט : 6 15 35 (6 שעות, 15 דקות, 35 שניות) 40 (שניות שהטיל באוויר)

פלט: 6 : 16 : 15 (מועד נחיתה)

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

תודה

פורסם

איך פותרים תרגיל כזה?

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

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

פורסם
  • מחבר

אוקיי זה מה שעשיתי (בוודאות זה לא נכון אפילו לא הייתי בכיוון):

 
#include<stdio.h>
int main()
{
long int s,d,h,t;
printf("taklid shaoot, dakoot, shnioot ve zman ha til baavir:");
scanf("%d%d%d%d",&s,&d,&h,&t);
printf("%d:%d:%d\n",s,d,60-h-t);
return 0;
}

פורסם

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

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

נניח שהיו מבטיחים לך שהזמן שהטיל שהה באוויר קטן מ-60 שניות, איך היית פותר את הבעיה?

פורסם
  • מחבר

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

ארכיון

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

דיונים חדשים