
rs23
(usa Ubuntu)
Enviado em 06/11/2010 - 01:04h
Tentei fazer este programa
Implementar uma função que permita a avaliação de polinômios. Cada polinômio e definido por um vetor que contém seus coeficientes. Por exemplo, o polinômio de grau 3, 4x³+3x²+x+12, terá um vetor de coeficientes igual a v[12,1,3,4]. A função deve obedecer ao protótipo:
double avalia (double* poli, int grau, double x);
Onde o parâmetro poli e o vetor com os coeficientes do polinômio, grau é o grau do polinômio, e x é o valor para o qual o polinômio deve ser avaliado.
Fiz o seguinte programa que esta gerando erro:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
double avalia (double* poli, int grau, double x) {
double acc = 0.0;
double valor_x = 1.0;
int i;
for (i = 0; i < grau; i++) {
acc += poli[i] * valor_x;
valor_x *= x;
}
return acc;
}
main()
{
int x,i,res;
int *poli;
printf(" entre com os valores do vetor: ",i+1);
scanf ("%f",&poli[i]);
poli = (double*) malloc(x*sizeof(double));
printf("O grau do polinomio eh",poli);
free(poli);
getch();
}
O erro esta na linha:
poli = (double*) malloc(x*sizeof(double));
Alguém poderia me ajudar a terminar este programa?