נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: פולינום מיוצג ע"י רשימה מקושרת

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 08 January 2008 בשעה 15:04 | IP רשוּם
ציטוט זיו1

עליכם להגדיר שתי מחלקות:

1. PolyNode - המייצגת איבר אחד של פולינום. לכל אובייקט במחלקה שלושה שדות:

1. int _power                   //החזקה

2. double _coefficient           // המקדם

3. PolyNode _next          // מצביע לאיבר הבא

אנו לא כותבים כאן את כל השיטות והבנאים של המחלקה. אתם תעשו כרצונכם, אולם עליכם לתעד היטב בעזרת API כדי שנוכל לדעת מה הממשק של המחלקה PolyNode.

2. Polynom - המייצגת פולינום באמצעות רשימה מקושרת. עליכם לכתוב בנאים ושיטות לפי המפורט להלן:

בנאי ריק - יוצר רשימה ריקה

public Polynom ()

בנאי המקבל כפרמטר אובייקט מהמחלקה PolyNode ושם אותו כאיבר הראשון ברשימה

public Polynom (PolyNode p)

שיטה המקבלת כפרמטר אובייקט מהמחלקה PolyNode ומוסיפה אותו לפולינום (במקום המתאים). השיטה מחזירה את הפולינום החדש.

public Polynom addNode (PolyNode p)

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

public Polynom multByScalar (int num)

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

public Polynom addPol (Polynom other)

שיטה המקבלת כפרמטר פולינום other ומכפילה אותו בפולינום שעליו מופעלת השיטה. השיטה מחזירה את פולינום המכפלה.

public Polynom multPol (Polynom other)

שיטה המחשבת את הנגזרת של הפולינום עליו היא מופעלת ומחזירה את פולינום הנגזרת.

public Polynom differential ()

שיטה המעבירה את הרשימה למחרוזת.

public String toString()

את PolyNode עשיתי כך:

 

חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 08 January 2008 בשעה 15:06 | IP רשוּם
ציטוט זיו1

האם שכחתי משהו?

קוד:

public class PolyNode
{
     int _power;     
     double _coefficient;    
     PolyNode _next;
     char _sign;

    
 public PolyNode()
 {
  _next = null;
  _sign = '+';
  _coefficient = 1;
  _power = 1;
 }

  public PolyNode(char daSign, double co, int daPower, PolyNode daLink)
 {
  _sign = daSign;
  _coefficient = co;
  _power = daPower;
  _next = daLink;
 }

  public PolyNode(PolyNode next)
 {
  _next = next;
 }

 public void setSign(char setTo)
 {
  _sign = setTo;
 }


 public void setCoef(double coef)
 {
  _coefficient = coef;
 }


 public void setPower(int whatsMyPower)
 {
  _power = whatsMyPower;
 }


 public void setNext(PolyNode next)
 {
  _next = next;
 }


 public char getSign()
 {
  return _sign;
 }


 public double getCoef()
 {
  return _coefficient;
 }

  public int getPower()
 {
  return _power;
 }

 public PolyNode getNext()
 {
  return _next;
 }

 public boolean isEnd()
 {
  return (_next == null);
 }
}

חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 
אני
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 January 2008 בשעה 10:11 | IP רשוּם
ציטוט אני

לדעתי לא היית צריך להתיחס לסימן (גם ב int וגם double המספר מגיע עם הסימן).

להבנתי , עליך לאתחל את polynom כרשימה רקה ולא את polynode.

איך מימשת את המחלקה polynom?

חזרה לתחילת העמוד הצג את כרטיס החבר של אני חפש הודעות אחרות של אני בקר בדף הבית של אני
 
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 12 January 2008 בשעה 11:09 | IP רשוּם
ציטוט זיו1

אני כתב:

לדעתי לא היית צריך להתיחס לסימן (גם ב int וגם double המספר מגיע עם הסימן).

להבנתי , עליך לאתחל את polynom כרשימה רקה ולא את polynode.

איך מימשת את המחלקה polynom?

אוקיי כן הבנתי זאת..

הנה המחלקה polynode המעודכנת..

 

קוד:

public class PolyNode
{
   private  int _power;     
   private  double _coefficient;    
   private  PolyNode _next;

    
 public PolyNode( double co, int daPower, PolyNode daLink)
 {
  _coefficient = co;
  _power = daPower;
  _next = daLink;
 }


 public void setCoef(double coef)
 {
  _coefficient = coef;
 }


 public void setPower(int whatsMyPower)
 {
  _power = whatsMyPower;
 }

  public void setNext(PolyNode next)
 {
  _next = next;
 }


 public double getCoef()
 {
  return _coefficient;
 }

 public int getPower()
 {
  return _power;
 }


 public PolyNode getNext()
 {
  return _next;
 }

 public boolean isEnd()
 {
  return (_next == null);
 }
}

והנה המחלקה polynom

קוד:

public class Polynom
{
    private int _degree;
    private PolyNode _head;

    /** Constructs an empty polynom.
    */
    public Polynom ()
    {
     _head = null;
    }
   
    public Polynom (PolyNode p)
    {
       _head = p;
    }
   
    public Polynom addNode (PolyNode p)
    {
        if (_head == null) // start the list
        {
            _head = p;
            _degree = p.getPower();
        }
        else
        {
           PolyNode pt = _head;
           
           
            while (pt.getNext() != null)
            {
                pt = pt.getNext();
                pt.setNext(p);
            }
               
               
                if (pt.getPower() > p.getPower()) // insert in list
                {
                    if (pt.getNext() == null)
                         _head = new PolyNode(p.getCoef(), p.getPower(),p.getNext() );
                    else
                          //pt.getNext() = new PolyNode(PolyNode.getCoef(), PolyNode.getPower(), PolyNode.getNext());
                    _degree = p.getPower();

                }
                pt = p.getNext();
            }
         //   if (p == null) // append to list
         //   {
         //       p = new PolyNode(PolyNode.getCoef(), PolyNode.getPower(), null);
          //  }
          return _head; 
    }

}

הסתבכתי קצת  בעיקר עם השיטה public Polynom addNode (PolyNode p)

חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 
אני
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 January 2008 בשעה 15:37 | IP רשוּם
ציטוט אני

לגבי POLYNODE נראה בסדרגמור.

לגבי POLINOM (בהנחה והבנתי מהמשימה שלך) - לא התייחסת למצב בו קיבלת 2 קודקודים עם חזקה משותפת ואז עליך לחברם לאחד , לדוגמא :

4x^2-5x^2=-1x^2 ?

תעלה את כל השיטות של של הPOLYNOM ואבדוק לך !

חזרה לתחילת העמוד הצג את כרטיס החבר של אני חפש הודעות אחרות של אני בקר בדף הבית של אני
 
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 12 January 2008 בשעה 16:07 | IP רשוּם
ציטוט זיו1

אני כתב:

לגבי POLYNODE נראה בסדרגמור.

לגבי POLINOM (בהנחה והבנתי מהמשימה שלך) - לא התייחסת למצב בו קיבלת 2 קודקודים עם חזקה משותפת ואז עליך לחברם לאחד , לדוגמא :

4x^2-5x^2=-1x^2 ?

תעלה את כל השיטות של של הPOLYNOM ואבדוק לך !

בנתיים עשיתי (לא סגור שהם נכונים) רק את הבנאים public Polynom () ddd

public Polynom (PolyNode p)ddd

לגבי המצב שאמרת בשיטה public Polynom addNode (PolyNode p)ddd

לא צריך להתייחס אליו.התחלתי את multByScalar

קוד:

   public Polynom multByScalar (int num)
    {
     double _tmp;
 while(pt.getNext() != null)
 {
    _tmp= pt.getCoef()*num;
     pt.getCoef()=_tmp;
 .....   
    }
   
    public Polynom addPol (Polynom other)
    {
    }
   
    public Polynom multPol (Polynom other)
    {
    }
   
    public Polynom differential ()
    {
    }
 

    public String toString()
    {
        
    }
}

 

חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 
אני
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 January 2008 בשעה 23:35 | IP רשוּם
ציטוט אני

היי זיו,

סיימת את הממ"ן ?

חזרה לתחילת העמוד הצג את כרטיס החבר של אני חפש הודעות אחרות של אני בקר בדף הבית של אני
 
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 13 January 2008 בשעה 19:33 | IP רשוּם
ציטוט זיו1

אני כתב:

היי זיו,

סיימת את הממ"ן ?

לא וגם לא שלחתי..אבל אני רוצה בכל זאת לפתור אותו יש לך אולי כיוון..

חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 
זיו1
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 30 November 2007
משתמש: מנותק/ת
הודעות: 66
נשלח בתאריך: 15 January 2008 בשעה 10:52 | IP רשוּם
ציטוט זיו1

?
חזרה לתחילת העמוד הצג את כרטיס החבר של זיו1 חפש הודעות אחרות של זיו1
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה