עבור לתוכן

זקוק לעזרה עם כמה תרגילים בC

Featured Replies

פורסם

אני לא מצליח לפתור כמה תרגילים ולא יודע איך לגשת לשאלות, ולא ממש מבין את הנוסח, אני אשמח לעזרה מי שיוכל :D

[attachment deleted by admin]

פורסם

נתחיל מהשאלה הראשונה. היא אמורה להיות די פשוטה.

לקלוט מספר מהמשתמש אתה יודע?

לבדוק אם מספר מתחלק במספר אחר, אתה יודע?

פורסם
  • מחבר

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

פורסם

אתה יודע רקורסיה?

פורסם

את הרביעי פשוט מאוד לפתור ברקורסיה.

פורסם
  • מחבר

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

פורסם

סוא נעבור על השאלות אחת-אחת, בלי לחץ:

שאלה אחת:

מבקשים ממך לקלוט מספר, אני מניח שאתה צריך להשתמש ב scanf, ולבדוק אם הוא ראשוני.

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

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

והנה קוד שאמור לעשות את העבודה הזו:

void main()
{
int i, num, prime;
scanf(&num);
for(i = 2, prime = 1; i < num - 1 && prime == 1;
{
if(num%i == 0)
prime = 0;
}
printf("The number is");
if(prime == 1) printf(" not ");
printf("prime number.\n");
}

שים לב: הקוד לא עבר קומפילציה, ואני מעולם לא השתמשתי ב printf ו- scanf, אז כדאי שתבדוק את הקוד.

הרבה אנשים יסבירו לך שהקוד הזה לא יעיל, מכיוון שאפשר תמיד לרוץ עם הלולאה רק כל עוד i<num/2, או כל עוד i קטן מהשורש של num, אבל זה לא באמת משנה משהו.

שאלה שתיים:

מצטער, אבל אין לי כוח להסביר, תנסה להבין לבד ותעקוב אחרי הקוד.

void main()
{
int i, water, tkoofa = 0, counter = 0;
for(i = 0; i < 365; i++)
{
scanf(&water);
if(water < 0)
printf("Error\n");
else
if(water == 0)
{
if(tkoofa == 0)
{
tkoofa = 1;
counter = counter + 1;
}
}
else \\if (water>0)
tkofa = 0;
}
printf("periods without rain:\t", "&d", period);
}

מצטער, עייפתי.

לילה טוב.

ארכיון

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

דיונים חדשים