22-10-06, 01:13 | # 1 |
אחראי פורום Off-Topic
|
צריך עזרה קטנה ב-C
מה הבעיה בזה:
קוד:
#include <stdio.h> #include <conio.h> #include <math.h> void main() { float a, b, c; float x, y; clrscr(); printf("please enter a:"); scanf("%f",&a); printf("\n please enter b:"); scanf("%f",&b); printf("\n please enter c:"); scanf("%f",&c); x=(-b)+sqrt(b*b-4*a*c)/a*2; y=(-b)-sqrt(b*b-4*a*c)/a*2; printf("\n your x1 is: %f",x); printf("\n your x2 is: %f",y); } עכשיו, כשאני מריץ את זה ומכניס את ה-A, B ו-C, זה כותב לי שגיאה כזאת: Floating point error: domain. abnormal program termination. במקום לכתוב את התוצאות... מה זה אומר ואיך פותרים את זה? תודה לעוזרים! =]
__________________
אנטי וירוס חינם |
22-10-06, 17:31 | # 2 |
חבר בקהילה
|
בלי קשר לשגיאה שקיבלת, בכל מקרה עלולה להיות בעיה שזה לא יעשה בדיוק מה שאתה רוצה
שים לב לשורה x=(-b)+sqrt(b*b-4*a*c)/a*2; נחוצות סוגריים לדעתי על ה a*2 (לא סגור לגבי זה ^, תבדוק) לגבי הבעיה השניה - יכול להיות שזה בגלל שהכנסת ערכים ככה שהדלתא יוצאת שלילית? כדאי שתבדוק בנפרד שהערך שאתה מוציא לו שורש הוא חיובי (או אפס) לפני שאתה מוציא לו שורש. Last edited by Balrog; 22-10-06 at 17:34.. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|