פורסם 2008 בדצמבר 1316 שנים אהלןיש להשתמש בשפת מונחה עצמים (גאווה או c++) על מנת לייצג מספרים מרוכבים.כמובן שיש לשים לב לדברים הבאים:1. יש שתי סוגי הצגות : הצגה קרטזית ופולרית2. כפל וחילוק יותר קל ונוחל לעשות בייצוג פולרי3. חיבור וחיסור יותר קל לעשות בייצוג קרטזייש לתכנן תוננית שתנצל את השפה המונחית עצמים על מת להשיג מטרות אלו
פורסם 2008 בדצמבר 1316 שנים התבלבלת, גוגל זה ב www.google.com (אלא אם אתה רוצה להגיד איפה בדיוק אתה תקוע ולא להסתכל על פתרון מוכן מראש).
פורסם 2008 בדצמבר 1316 שנים על מנת להוסיף על הביבול, אפשר גם לייצג מספרים מרוכבים ע"י מטריצות מהצורה: a -b b a <=> a+biבכל מקרה, כמו שכבר אמרו: מה השאלה שלך?
פורסם 2008 בדצמבר 1416 שנים מחבר יש לי רעיון כלשהו אבל חשבתי לשמוע הצעות לפתרון יותר טוב (אם מישהו חושב שיש)מחלקה בשם COMPLEX יהיה בנאי אחד שיקבלת רק את ההצגה הקרטזית- x+yiשדות המחלקה הם: x,y עבור הצגה קרטזיתו r a עבור הצגה פולריתכיוון שחיבור יותר יעיל בקרטזי אזי נחבר את ההצגות הקטזיות ובכפל נעשה את ז בצורה פולריתלהלן הבעיות שאני רואה עם המימוש הזה:1. כשאני מחבר שתי קומפלקסים למשל כך c1.add(c2) t אני משנה את c1 - שזה לא נשמע לי טוב אולי מישהו חושב על דרך אחרת?2.במקרה כזה אני אצטרך לעשות כל עם המרות מקרטזי ופולרי בתוך המחלקה (כיוון שערכו יכול להשתנות- ששוב זה לא נשמע טוב) וכן על זה הדרך.העניין הוא זה איך אתם הייתם מייצגים את הפתרון? היתתתם משנים את c1? או שלא? מה הייתם עושים? מה אתם חושבים שהעיצוב הנכון?
פורסם 2008 בדצמבר 1416 שנים הדבר הטוב ביותר שאתה יכול לעשות זה לראות איך complex מיוצג בשפות שונות: C++, C99, JAVA ו-PYTHON.בשום אופן אל תעשה המרות ביצוג אחד לשני רק עבור פעולה מסויימת כמו כפל או חילוק (אלא אם כן אין ברירה).תבחר יצוג פנימי אחד ותעשה את כל הפעולות בו. תוסיף פעולה בסגנון "החזר את Z ביצוג פולרי" ורק שם בצע את ההמרה.היצוג די תלוי בשימוש, בגדול, אבל אני ממליץ על יצוג קרטזי פשוט. ביצוג קרטזי, לדוגמא, יש רק ערך אחד לוקטור 0 שהוא 0+0i. ביצוג פולרי יש אינסוף ערכים (רדיוס 0 אבל אינסוף זוייות). זה יכול לדוגמא לעשות צרות כאשר אתה משווה.ואני מזכיר לך - תבדוק איך זה נעשה במקומות אחרים. (לפחות מבחינת הממשק).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.