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

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


shaithebest

Recommended Posts

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

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

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

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

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

תודה מראש

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

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

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

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

סיפור 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");
}

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

ארכיון

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

×
  • צור חדש...