שאלה בשפת C. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה בשפת C.


ddnn

Recommended Posts

היי

אני צריך לכתוב תוכנית שתקלוט 200 מספרים חיוביים , התכנית תדפיס כפלט כמה מהמספרים שנקלטו הם תלת ספרתיים וגם מתחלקים ב-7 ללא שארית.

שתיי שאלות :

1. איך אני קולט רק מספרים חיובים ?

2. איך אני עושה התוכנית תדפיס כפלט כמה מהמספרים שנקלטו הם תלת ספרתיים וגם מתחלקים ב-7 ללא שארית ?

קישור לתוכן
שתף באתרים אחרים

1. קלוט מספר מספר (לולאת For של 200 איטרציות) כאשר כל פעם אתה מוודא ש Number>0, במידה ולא תגדיל את המונה של הלולאה ב-1

2. בצע על כל אחד מהם מודולוס שלוש פעמים בכדי לבדוק תלת ספרתיים, בצע מודולוס ב7 בכדי לבדוק חלוקה ב-7

וזה 90% מהעבודה, אני מקווה ותסתדר עם השאר

קישור לתוכן
שתף באתרים אחרים

תעשה log (אולי בבסיס עשר) למספר עם ceil לקבלת ערך עליון שלו.

מה? הוא מתחיל בתיכנות , אל תסבך אותו .

אני זוכר משהו בערך תפתחו תרעיון שלי , אז בודקים את המספר בWHILE ושם צריך לחלק אותו עד שמגיעים למס' אחד (הבנתם ? :smile1:)

קישור לתוכן
שתף באתרים אחרים

ברמת המתחיל עדיף שיתמקד במודולוס, אני מאמין שזה גם מה שהתרגיל בא ללמד.

אני מוכן להתערב שהוא לא ממש יידע מה לעשות עם הLog, למרות שזה פתרון מ-א-ד אלגנטי

קישור לתוכן
שתף באתרים אחרים

עדיין לא הבנתי איך

int numbers = ceil(log(num)/log(10));

מסבך משהו, אבל נגיד...

לחשב log ב-Floats זה הרבה יותר כבד מאשר לולאת While פשוטה עם חלוקה ב-10, זה מאוד לא יעיל.

בכל מקרה ב-<math.h> יש גם log10.

קישור לתוכן
שתף באתרים אחרים

היי

קבל תוכנית:

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;
}

מקווה שעזרתי :)

קישור לתוכן
שתף באתרים אחרים

cin לא קיים ב C , תשתמש ב scanf או משהו, וזה מזכיר לי שאם אני זוכר נכון יש ל scanf אפשרות לקלוט unsigned int,

נראה לי שזה u% או n%, בכל מקרה אפשר לבדוק את הערך ש scanf תחזיר וככה לדעת אם זה מספר שלילי או לא, לא ניסיתי

את זה אבל יש מצב שגם זה יעבוד, למרות שksg,h זה פחות כאב ראש פשוט לבדוק ש: value < 0 שווה ל 0.

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...