Ciao a tutti, scusate se posto ancora ma proprio non riesco a capire perchè il programma non mi funzioni, suppongo sia un errore nelle funzioni che non riesco a trovare. Il programma consisteva nel calcolare un polinomio con Horner. Potreste spiegarmi cosa ho sbagliato? Grazie in anticipo per il vostro prezioso aiuto.
#include <stdio.h>
void dichiarazione (int grado,int x, int array[]);
int valore (int x,int array[],int grado);
int main ()
{
int grado;
int x;
int array[50];
int p;
dichiarazione (grado,x,array);
valore (x,array,grado);
system ("PAUSE");
}
void dichiarazione (int grado,int x, int array[]){
int i;
printf ("inserisci il grado massimo del polinomio\n");
scanf ("%d", &grado);
printf ("inserisci il valore della x\n");
scanf ("%d", &x);
for (i=0;i<=grado;i++){
printf ("inserisci il coefficiente di x di grado %d: ",i);
scanf ("%d", &array[i]);
}
}
int valore (int x,int array[],int grado){
int i;
int p=array[0];
for (i=grado-1;i>=0;i--)
{
p=p*x+array[i];
}
if (i==-1){
printf ("il valore del polinomio e':%d",p);
}
return (p);
}