עבור לתוכן

איך אני יכול להביע משוואה ריבועית בשפת C(דחוף!!!)

Featured Replies

פורסם

ככה הוא ירשום + או - לפי מה שצריך :)

printf (" %+d x^2 + %+d x + %+d = 0 ", a,b,c );

  • תגובות 38
  • צפיות 8.9k
  • נוצר
  • תגובה אחרונה
פורסם
  • מחבר

אם כבר העלת את זה...

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

ax² + -bx +- c =0

ובלי IF....עם תנאים אני יודע איך להציג...השאלה אם יש דרך אחרת...

פורסם

printf (" (%+d) x^2 %+d x %+d = 0 ", a,b,c );

פורסם
  • מחבר

לא זה לא...

אם אני יעשה כמו שאמרת, מה שזה יעשה זה רק ישים לי + לפני המקדם...והרי אני צריך להציג שני פתרונות...

לכן זה יציג לי פעם אחת(כשכל המשתנים שליליים):

1-1i

ופעם שנייה:

1--1

פורסם

אני לא מבין מה הבעיה. זה עובד טוב: printf (" (%d)x^2 %+dx %+d = 0 ", a,b,c );

פורסם
  • מחבר

טוב...כנראה שאני לא מסביר את עצמי מספיק טוב:

אני צריך להביע במשוואה הריבועית גם מספרים מרוכבים(ז"א שאם דלתא<0 אז מכפילים את הדלתא ב1- ואז עושים שורש ובפרינט רושמים " i "...

ז"א שעבור הערכים הבאים:

1-,2-,3-

הדלתא שווה למינוס ולכן נכפיל ב1- את דלתא ונקבל + נוציא שורש והתוצאה אמורה להראות כך:

X1:-1-1i

X2:-1+1i

ואם אני יעשה כמו שאמרת זה יראה כך:

X1:-1+-1i

X2:-1--1i

וזה לא מה שאני צריך...האם יש דרך לכך שאם הוא יזהה ++ הוא ירשום רק + אחד ואם הוא יזהה -- הוא ירשום + ואם הוא יזהה -+ הוא ירשום -?

פורסם

את המינוס תשים בחלק שאתה שם את המשתנים ולא בחלק של הטקסט אם לזה התכוונת.

פורסם

אתה יכול להשתמש ב IF מקוצר במתשנים ולהוסיף משהו כמו:

printf("%c%d",(i>0)?'+':'',i);

פורסם

אם היית עובד ב-C++ הייתי אומר לך להגדיר קלאס Complex :)

ארכיון

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

דיונים חדשים