11-04-2010, 16:23
|
|
|
חבר מתאריך: 09.06.08
הודעות: 7,509
|
|
אפשר לעשות זאת בכל מיני דרכים...
לדוגמא ניתן לייצג פולינום על ידי מערך כך שמיקום האיבר במערך ייצג את דרגת האיבר.
לדוגמא את הפולינום הבא:
[TEX]P(x)=5+83x^2-11x^3[/TEX]
ניתן לייצג במערך כך:
קוד:
int pol[4] = {5,0,83,-11};
שימי לב שהאיבר במיקום ה-1 במערך הוא 0 כיוון שהמקדם של האיבר השני(זה שדרגתו 1) הוא 0.
נניח שיש לך שני פולינום(שני מערכים) שאת צריכה לבצע ביניהם מכפלה, אז תכפילי אותם לפי חוק הפילוג:
תייצרי מערך חדש שייצג את פולינום המכפלה. מערך זה יהיה באורך של דרגתו של הפולינום אותו הוא מייצג, שהיא סכום דרגות שני הפולינומים המוכפלים.
עבור כל איבר במערך הראשון, תעברי על המערך השני ותכפילי את איבר זה בכל איבר במערך השני. את הסכום שיוצא תחברי לאיבר שנמצא במערך התוצאה במיקום המייצג את סכום הדרגות המוכפלות.
ניתן לבצע זאת באמצעות לולאת for מקוננת.
בהצלחה!
|