PDA

View Full Version : [C] divisione fra due polinomi


VendeR
11-06-2006, 16:31
ciao a tutti! devo fare un programma che, caricati due polinomi in memoria (in cui ogni elemento del polinomio fa parte di una lista dinamica di strutture) , ne faccia la divisione... come posso fare?? sono disperato.. :cry: :cry:

Furla
11-06-2006, 17:11
se sai fare l'operazione "a mano" l'algoritmo è facile...

VendeR
11-06-2006, 17:53
se sai fare l'operazione "a mano" l'algoritmo è facile...
già a mano ho qualche problemino :D :D
mi potresti spiegare in due parole come si fa???

AbuJaffa
11-06-2006, 18:03
Ma scusa pretendi di implementare un algoritmo per la divisione fra due polinomi e non conosci neanche come fare la divisione? :confused: :confused: Allora ascoltami... apri un libro di algebra, studia quello che ti serve e poi ritorna. ;)

VendeR
11-06-2006, 18:06
ho provato a cercare ma non ho trovato nulla.. in effetti ho sbagliato il titolo del post, avrei dovuto scrivere: come si fa la divisione fra polinomi??? :D :D

repne scasb
11-06-2006, 18:28
http://www.ripmat.it/mate/a/ad/ad5a.html

VendeR
11-06-2006, 19:01
thx :D
ora penso a come implementare l'algoritmo, se ho casini vi farò sapere..

neorob
11-06-2006, 19:02
Ciao!

Per quel che mi ricordo la divisione dovrebbe essere fatta così (procedo con un esempio semplice semplice):

Supponiamo di dovere fare (x^3 + x^2 - 1) / (x^2 - 1), mi faccio una tabellina così, dove metto numeratore e denominatore:

x^3 + x^2 + 0x - 1 | x^2 - 1
. . . . . . . . . . . . . .|----------
. . . . .. . .-x^3 + x | +x +1
-------------------|
. . .. ... x^2 + x - 1|
. . . . . . . . . . .. . . |
. . . . . .. . -x^2 +1 |
-------------------|
. . . . . . . .. . . . +x |

Vediamo di spiegare:
una volta scritto il numeratore e il denominatore, divido il coefficiente di grado più alto del numeratore per il coefficiente di grado maggiore del denominatore, e il risultato lo scrivo sotto il denominatore (qtà rossa). Poi moltiplico il risultato che ho trovato per il denominatore, e scrivo il risultato cambiato di segno sotto il numeratore (qtà verde), ed eseguo la somma algebrica tra il numeratore e la qtà verde. Troverò cosi la qtà blu.
Poi, come prima, divido il coefficiente di grado maggiore della (qtà blu), con quello maggiore del denominatore trovando cosi la (qtà arancione), e aggiungo il risultato alla qtà rossa, eseguo la moltiplica tra qtà arancione e denominatore, cambio di segno, eseguo la somma algebrica e trovo un'altra qtà... e ripeto il procedimento finchè quando eseguita l'ultima somma algebrica, non trovo un polinomio di grado INFERIORE a quello del denominatore oppure 0. Questo è il resto della divisione. Il quoziente è rappresentato dalla qtà rossa + quella verde.

Quindi nel nostro caso: (x^3 + x^2 - 1) = (x^2 - 1)*(x+1) + x

Non è proprio il massimo della chiarezza la tabellina, però dovrebbe essere comprensibile (appena imparerò come formattare bene il testo...)
Spero di esserti stato d'aiuto! ciao

neorob
11-06-2006, 19:02
come non detto..... mi avete preceduto mentre scrivevo!!!

VendeR
11-06-2006, 20:01
come non detto..... mi avete preceduto mentre scrivevo!!!
grazie anche a te! ora ho capito per bene come si fa.. thx!!!!