Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardo gomes araujo

Função calcPoli

Recommended Posts

Estou precisando de ajuda nesta questão que envolve ponteiros e vetor:

 

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 calcPoli (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.

 

Já fiz o seguinte código:

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

double calcPoli (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;
}

int main(void)
{

int i,grau;
double poli;
double x;

for(i = 0; i < grau; i++) {
printf("Entre com o %do. coeficiente: ", i+1);
scanf ("%le",&poli[i]); //erro aqui
}

poli = (double*) malloc(x*sizeof(double)); //ero aqui

calcPoli(&poli,grau,x);

printf("O grau do polinomio eh %le",poli); //ero aqui

free(poli);
getch();

}

Mas esta apresentando erros na hora de ler o vetor e conseqüentemente na hora de usar o malloc.

 

Alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

* você n declarou poli como um vetor.

* ql o valor inicial de 'grau' ?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

quitZAUMMM

 

Como eu declaro poli como vetor na função?

 

E com relação ao valor inicial do grau e zero

 

O problema e para entrar com um vetor e achar o grau dele.

 

* você n declarou poli como um vetor.

* ql o valor inicial de 'grau' ?

 

[]s

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa rever bem seu programa..

veja essa parte no seu programa:

int i,grau;
double poli;
double x;

for(i = 0; i < grau; i++) {
printf("Entre com o %do. coeficiente: ", i+1);
scanf ("%le",&poli[i]); //erro aqui
}

poli = (double*) malloc(x*sizeof(double)); //ero aqui

a variavel 'i' vai até ql valor??

você esta alocando qnt de espaço para a variavel poli??

poli é um double somente?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.