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

שפת C - מערכים וקריאת פונקציה


sharonp

Recommended Posts

אני חושב שאני הבנתי, הייתי צריך להעתיק למעלה את clc_f כי RK4 קוראת לה.

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

* איך אני יכול להשתמש בערך המדויק (או יחסית מאד מדויק) של PI בשפת C במקום לכתוב 22/7 ? יש איזו ספרייה או משהו כזה שצריך לקרוא לה?

* מותר לי לכתוב דברים בסגון

t_f=3*(22/7)/2;

כאשר t_f מוגדר בתור דאבל?

מותר לי לכתוב משוואות שמכילות כפל בין משתנים המוגדרים בתור דאבל ושברים ביחד למשל

b=t_f * (1/6) * t

?

תודה שניצל

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

לגבי clc_f - בהחלט, או לחילופין היית יכול פשוט להצהיר עליה ככה לפני ההגדרה של RK4:

double clc_f(double t, double* y, double* y_p);

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

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

#define PI 3.14159265

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

שים לב שכשאתה מחלק שני מספרים שלמים, התוצאה תהיה תמיד מספר שלם. כלומר, הערך של הביטוי 22/7 זה לא 3 ושביעית, אלא פשוט 3, והערך של 1/6 הוא 0, ולא שישית. על מנת שהתוצאה תהיה באמת שבר, לפחות אחד מהמספרים צריך להיות מטיפול מספר ממשי (double או float). כלומר, במקום 22/7 צריך אחד מהבאים:

22.0/7
22/7.0
22.0/7.0
(double)22 / 7

וכמובן עוד וריאציות אפשריות.

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

ארכיון

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

×
  • צור חדש...