|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
Come si risolve?
Ragazzi devo fare il seguente esercizio:
1.Sviluppare una function di tipo void in C per la valutazione di un polinomio mediante il metodo di Horner 2.Scrivere la documentazione interna ed esterna della function La 2 la so fare. Per quanto riguarda la prima mi spiegate gentilmente il metodo di Horner? Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
grazie mille x la risposta
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quando ti servono cose di questo genere,nel 90% dei casi qui le trovi.
http://lib-www.lanl.gov/numerical/bookcpdf.html Ultima modifica di verloc : 06-12-2003 alle 17:23. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
ok grazie. Scusate se era semplice, ma è da pochissimo che sto usando il C e non sapevo dove cercare.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
ragazzi scusate l'insistenza ma non ho capito una cosa. Io ho scritto questo:
float valutapol(float a[NUMCOEFF], float x) { int i; /* Inizializzazione del risultato ad a_(ORDPOL) */ float risult; risult=a[ORDPOL]; /* Iterazione di Horner, da a_(ORDPOL-1) fino ad a_0 */ for(i=ORDPOL-1; i>=0; i=i-1) risult=x*risult+a[i]; return risult; } ma l'esercizio mi chiede di scrivere una function di tipo void... 1)se è di tipo void non avrò nessun dato di output giusto? 2)basta che sostituisco float con void ed elimino return per trasformare questa function da float a void? |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Ovvio, poi aggiungi una chiamata a printf o cout per il risultato. Se invece occorre che ci sia necessariamente un ritorno (lo devi vedere tu dal testo dell'esercizio richiesto) lo puoi inserire tra i parametri come riferimento.
Se quest'ultima cosa non la capisci fammi sapere. Ciao
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
io l'ho fatto cosi' va bene no?
#include <stdio.h> /* Ordine del polinomio */ #define ORDPOL 3 #define NUMCOEFF ORDPOL+1 void horner (float a[], float x, float *prisult) { int i; /* Inizializzazione del risultato ad a_(ORDPOL) */ *prisult=a[ORDPOL]; /* Iterazione di Horner, da a_(ORDPOL-1) fino ad a_0 */ for(i=ORDPOL-1; i>=0; i=i-1) { *prisult=x*(*prisult)+a[i]; } } int main() { int i; float xx, risult; float xinf, xsup, passo; float coeff[NUMCOEFF]; /* Immissione dei coefficienti, dal termine a_0 ad a_n */ for (i=0; i<=ORDPOL; i=i+1) { printf("Immetti il coefficiente a_%d: \n", i); scanf("%f", &coeff[i]); } /* Immissione degli estremi di x e del passo di valutazione */ printf("Immetti estremo inf. di x, estremo sup. e passo :\n"); scanf("%f %f %f", &xinf, &xsup, &passo); /* Stampa dei valori */ for (xx=xinf; xx<=xsup; xx=xx+passo) { horner(coeff, xx, &risult); printf("Per x= %f il polinomio vale: %f\n", xx, risult); } } |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Ad occhio e croce mi sembra buono... a parte che si scrive result
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
|
l'ho provato a funziona. Se il risultato lo voglio kiamare risult lo kiamo risult. lo potrei kiamare anke armando come dice il mio prof
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
Scherzo, eh? Mi fa piacere che funzioni.
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:25.



















