פורסם 2007 במרץ 2818 שנים הייאני צריך לכתוב תוכנית שתקלוט 200 מספרים חיוביים , התכנית תדפיס כפלט כמה מהמספרים שנקלטו הם תלת ספרתיים וגם מתחלקים ב-7 ללא שארית.שתיי שאלות :1. איך אני קולט רק מספרים חיובים ?2. איך אני עושה התוכנית תדפיס כפלט כמה מהמספרים שנקלטו הם תלת ספרתיים וגם מתחלקים ב-7 ללא שארית ?
פורסם 2007 במרץ 2818 שנים 1. קלוט מספר מספר (לולאת For של 200 איטרציות) כאשר כל פעם אתה מוודא ש Number>0, במידה ולא תגדיל את המונה של הלולאה ב-12. בצע על כל אחד מהם מודולוס שלוש פעמים בכדי לבדוק תלת ספרתיים, בצע מודולוס ב7 בכדי לבדוק חלוקה ב-7וזה 90% מהעבודה, אני מקווה ותסתדר עם השאר
פורסם 2007 במרץ 2818 שנים אני לא זוכר איך לבדוק אם המספר תלת ספרתי אבל כדי לבדוק אם המספר מתחלק ב7 ללא שארית אתה עושה ככה:if (x%7==0)
פורסם 2007 במרץ 2818 שנים תעשה log (אולי בבסיס עשר) למספר עם ceil לקבלת ערך עליון שלו. מה? הוא מתחיל בתיכנות , אל תסבך אותו . אני זוכר משהו בערך תפתחו תרעיון שלי , אז בודקים את המספר בWHILE ושם צריך לחלק אותו עד שמגיעים למס' אחד (הבנתם ? )
פורסם 2007 במרץ 2818 שנים עדיין לא הבנתי איךint numbers = ceil(log(num)/log(10));מסבך משהו, אבל נגיד...
פורסם 2007 במרץ 2818 שנים עדיין לא הבנתי איךint numbers = ceil(log(num)/log(10));מסבך משהו, אבל נגיד...לא הבנת איך זה מסבך ? הוא לא למד את זה ...
פורסם 2007 במרץ 2818 שנים עדיין לא הבנתי איךint numbers = ceil(log(num)/log(10));מסבך משהו, אבל נגיד...גם אם זה לא מסבך, למה צריך את החלוקה ב LOG10 ?
פורסם 2007 במרץ 2818 שנים ברמת המתחיל עדיף שיתמקד במודולוס, אני מאמין שזה גם מה שהתרגיל בא ללמד.אני מוכן להתערב שהוא לא ממש יידע מה לעשות עם הLog, למרות שזה פתרון מ-א-ד אלגנטי
פורסם 2007 במרץ 2818 שנים עדיין לא הבנתי איךint numbers = ceil(log(num)/log(10));מסבך משהו, אבל נגיד...לחשב log ב-Floats זה הרבה יותר כבד מאשר לולאת While פשוטה עם חלוקה ב-10, זה מאוד לא יעיל.בכל מקרה ב-<math.h> יש גם log10.
פורסם 2007 במרץ 2818 שנים היי קבל תוכנית: float number;int counter = 0; for(int i=0 ; i< 200 ; i++){ do { cin>>number; }while(number < 0); //keep getting number from user until it's positive if( number % 7 == 0 && //check if number divide by 7 with no reminder (number >= 100 && number <= 999) ) //check if number has 3 digits counter = counter +1;} מקווה שעזרתי
פורסם 2007 במרץ 2918 שנים cin לא קיים ב C , תשתמש ב scanf או משהו, וזה מזכיר לי שאם אני זוכר נכון יש ל scanf אפשרות לקלוט unsigned int, נראה לי שזה u% או n%, בכל מקרה אפשר לבדוק את הערך ש scanf תחזיר וככה לדעת אם זה מספר שלילי או לא, לא ניסיתי את זה אבל יש מצב שגם זה יעבוד, למרות שksg,h זה פחות כאב ראש פשוט לבדוק ש: value < 0 שווה ל 0.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.