ערכתי לאחרונה בתאריך 15.01.09 בשעה 00:14 בברכה, פנסלווניה
שלום רבאני צריך לבנות פונקציה שתקבל
ax^2+bx+c=0
כאשר a,b,c הם מספרים מרוכבים ולהחזיר את השורשים שלהם.
(אגב, השאלה המלאה כאן בדף 3:
http://webcourse.cs.technion.ac.il/234111/Winter2008-2009/hw/WCFiles/hw4.pdf
עשיתי הכל ונשאר לי רק הוייטה)
int Id_VIETTA() { int i=1; complex num1, num2, num3, b_riboa, ac, delta; num1 = input(i); while ( (num1.a == 0) && (num1.b == 0) ) { printf("Error: must enter non-zero complex number\n"); num1 = input(i); } i++; num2 = input(i); i++; num3 = input(i);b_riboa.a = num2.a*num2.a - num2.b*num2.b; b_riboa.b = 2*num2.a*num2.b; ac.a = (num1.a*num3.a) - (num1.b*num3.b); ac.b = (num1.a*num3.b) + (num1.b*num3.a); ac.a = ac.a*(-4); ac.b = ac.b*(-4); delta.a = b_riboa.a + ac.a; delta.b = b_riboa.b + ac.b; }
|
אז יש לי את המספר המרוכב שיש בתוך ה DELTA רק שצריך לשים עליו שורש.
אבל עכשיו צריך לחשב את השורש הזה.
אז אני יודע שצריך להשוות את השורש למספר מרוכב ואז לעלות בריבוע ולפתור 2 משוואות עם 2 נעלמים. וכו' וכו'
אין לי שמץ איך לעשות את זה ב C.
אולי להפוך את זה להצגה טריגו ? אבל אין לי מושג איך זה יעזור כי צריכים להיות לי 4 שורשים לכל היותר.
יש לי כאן סתם דוגמא לתרגיל שפתרתי אבל כמו שאמרתי אין לי מושג אם ככה צריך לממש את זה ב C.
http://www.ilshare.net/files/772605634.gif
אשמח לקבל עזרה.
תודה.