עבור לתוכן

שאלה קלה ב-c אבל הסתבכתי

Featured Replies

פורסם

שאלה ממש קלה בתחילת הדרך של לימודי תיכנות באוניברסיטה, ממש מבוא להכל

אבל משום מה אין לי מושג איך לכתוב את הקוד לשאלה הזו:

נתון המשתנה num ובו מספר שלם.

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

אז אני לא מבין אם לעשות sqrt או pow או שניהם ביחד ואיך

תודה מראש

פורסם

לפי נוסח השאלה הכוונה לשניהם.

השאלה היא איזה נושא שלמדתם אתה אמור לממש:

1. שימוש בפונקציות ספריה .

2. לולאות (ואז עלייך לממש את פונקציות הספריה).

פורסם
  • מחבר

בינתיים מדובר רק על פונקציות סיפריה קצת לפני לולאות

אני אנסח שוב את השאלה:

השלם את ההוראות המתאימות לכל אחד מהסיפורים הבאים:

סיפור 1: נתון המשוואה num ובו מספר שלם.

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

סיפור 2: נתונים אורכי צלעות המלבן במשתנים a,b.

כתוב הוראה להשמת אורך האלכסון של המלבן ב-c

(את האלכסון יש לחשב באמצעות משפט פיתגורס:

c==sqrt a,2+b,2

זהו

אין לי מושג מה הם רוצים ממני אז אם אתה תוכל לכתוב לי קוד מלא אני אודה לך מאוד

פורסם

אם זו השאלה אז לטעמי הבנת נכון את שרצו.

1. צור שורת פקודה של printf ובה תשתמש בpow על num וכך תדפיס את הריבוע.

באותה צורה - צור שורת פקודה של printf ובה תשתמש בsqrt על num וכך תדפיס את השורש.

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

אל תשכח לבצע #include לספריות המתאימות.

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

פורסם
  • מחבר

זה שיעורי בית להגשה ליום ראשון ורק על השאלה הזו אני תקוע

כל וואריאציה שניסיתי לסדר כמו שאמרת עם pow,sqrt רשמה לי טעויות

נראה לי שלא הבנתי את המלל בשאלה

רק אם אני אראה את הקוד אני אבין

ככה אני גם בhtml ו-- visual basic

רק שאני רואה את התשובה אני מבין את השאלה

קצת דיסלקט.....חחחחחחחח :lol:

פורסם

השקעתי בשבילך 5 דקות.

אתה חייב לי...

#include <math.h>
#include <stdio.h>

void main(void)
{
int num;
printf("Please enter base number ");
scanf("%d", &num);

printf("The Square Root of %d is : %.3f",num, sqrt((double)num));
printf("\n");
printf("Raising base %d to the power exponent of 2 is :%.2f",num, pow((double)num,2));
printf("\n");
system ("pause");
}

אם יש לך שאלות על הלמה ואיך אתה מוזמן.

פורסם
  • מחבר

אחלה תודה על העזרה

כתבת ערכים שאני ממש עדיין לא מכיר כי אני רק שנה א בהנדסת תוכנה ועדיין לא התחילו הלימודים כי הם בשביתה

אז כל מה שני יודע עד עכשיו על שפת c זה מלימוד עצמי

בספר ראיתי רק ערכים של pow sqrt

זתומרת,דברים שכתבת כמו double num

system pause

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

אולי יש מצב לסדר את זה יותר פשוט?רק אם יש לך זמן מיותר אני יודע אני מציק לך ביום שישי

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

תודה רבה אחי אני באמת חייב לך

פורסם

ה double בסוגריים לפני ה num ממיר (מה שנקרא "cast") את הערך של num לטיפוס double (טיפוס המשתמש לשברים עשרוניים, "נקודה צפה") כי הפונקציות sqrt ו pow מקבלות פרמטר מטיפוס double.

ה system("pause") זוהי קריאה למערכת הפעלה כדי ש"תקפיא" את התוכנית והחלון של ה console לא ייסגר מיד. זוהי דווקא שיטה שלא כל כך מומלצת (פעולה כבדה ולא פורטבילית שנדמה לי שנתמכת רק ב dos\win) ואפשר להחליף אותה בקריאה פשוטה ל getchar או משהו דומה.

פורסם

אולי זה יהיה ברור יותר.

בסה"כ השינוי הוא סמנטי, מראש הגדרתי משתנה double במקום להמיר את הint בפעולה עצמה.

הסיבה שהשתמשתי בsystem("pause") היא כי לא זכרתי את הספריה של getch(), ההערה של קובי בהחלט במקום. לא נהוג להשתמש בפונקציות מערכת ספציפיות אלא בפונקציות ספריה של C בשביל הפורטביליות (המרק קלה בין מערכות הפעלה שונות).

שים לב שהגדרתי לprintf שידפיס רק בדיוק של שני מספרים אחרי הנקודה בעזרת התוספת של ".2" לסוג המשתנים (".2f")

#include <math.h>
#include <stdio.h>

void main(void)
{
double num;
printf("Please enter base number ");
scanf("%d", &num);

printf("The Square Root of %d.2f is : %.2f",num, sqrt(num);
printf("\n");
printf("Raising base %.2f to the power exponent of 2 is :%.2f",num, pow(num,2));
printf("\n");
}

ארכיון

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

דיונים חדשים