Ir ao conteúdo
  • Cadastre-se

Será que alguém poderia ajudar??


Isabelle

Posts recomendados

Não consigo achar o erro nesse código..

Ele compila direitinho, porém não realiza a tarefa.

#include <stdio.h>

#include <stdlib.h>

void deriva (double * poli, int grau, double * out)

{

int i;

for (i=0; i < grau; i++)

{

out = poli[i+1]*i;

}

}

int main (void)

{

double * poli;

double * out;

int grau;

poli = (double *)malloc(4*sizeof(double));

out = (double *)malloc(4*sizeof(double));

if (poli == NULL)

{

printf("Memoria insuficiente\n");

exit (1);

}

if (out == NULL)

{

printf("Memoria insuficiente\n");

exit (1);

}

printf("Entre com os coeficientes do polinomio, separando-os por um espaco: ");

scanf("%lf %lf %lf", &poli);

deriva (poli, 2, out);

printf("\n%lf %lf\n", * out);

free(poli);

free(out);

return 0;

}

Aguardo ajuda. Obrigada

Link para o comentário
Compartilhar em outros sites

Olha, acho que o problema está em:

scanf("%lf %lf %lf", &poli);

Pois poli já é um endereço de memória e você está usando o & nele.

Ou seja, você quer que gravar o valor lido no endereço de memória do ponteiro.

Além disso, você lê três vezes e informa apenas um endereço.

Trocando para isso dá certo (ou não dá erro):

scanf("%lf %lf %lf", poli, poli+1, poli+2);

Qualquer coisa, diz ae. : )

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...