Ir ao conteúdo

Posts recomendados

Postado

Não estou conseguindo desenvolver o codigo, somente a primeira derivada. Sou iniciante, como resolvo? 

 

• Escreva um programa que leia os coeficientes de um polinômio de grau 5 (máximo). Exemplo: o polinômio – 3x5 + 2x4 – 3.5x3 – 4x2 + 5x – 12 é representado pelo vetor {-3, 2, -3.5, -4, 5, -12}. Escreva um programa que mostre os polinômios referentes à primeira, segunda e terceira derivadas.

 

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

void mostrarPolinomio(float p[10], int tam){
    int grau = tam - 1;
    int i;
    for (i=0; i<tam; i++){
        printf("%.2fx^%d ", p, grau);
        grau--;
    }
}

int main()
{
    //float pol[6] = {3, -2, 1.2, 9, -3, 11};
    float pol[6];
    int i;

    for(i=0; i<6; i++){
        printf("insira 6 valores:");
        scanf("%f", &pol);
    }

    float d1[5];
    int grau1 = 5, p = 5;

    for (i=0; i < grau1; i++){
        d1 = pol * p;
        p--;
    }

    float d2[4];
    int grau2 = 4, h = 4;
    for (i=0; i < grau2; i++){
        d2 = h * d1;
        h--;
    }

    float d3[3];
    int grau3 = 3, f = 3;
    for (i=0; i < grau3; i++){
        d2 = f * d1;
        f--;
    }

    mostrarPolinomio(pol,6);
    printf("\n");
    mostrarPolinomio(d1,5);
    printf("\n");
    mostrarPolinomio(d2,4);
    printf("\n");
    mostrarPolinomio(d3,3);
}

 

Postado

Amigo, para manipular arrays em C/C++ você tem que fornecer o índice do array. 

for(i=0; i<6; i++){
        printf("insira 6 valores:");
        //scanf("%f", &pol); ERRADO!
        scanf("%f", &pol[i]);//colocar o índice entre []
    }

Corrigindo isso em outros lugares, temos o código corrigido:

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

void mostrarPolinomio(float p[6], int tam){
    int grau = tam - 1;
    int i;
    for (i=0; i<tam; i++){
        printf("%.2fx^%d ", p[i], grau);
        grau--;
    }
}

int main()
{
    //float pol[6] = {3, -2, 1.2, 9, -3, 11};
    float pol[6];
    int i;

    for(i=0; i<6; i++){
        printf("insira 6 valores:");
        scanf("%f", &pol[i]);
    }

    float d1[5];
    int grau1 = 5, p = 5;

    for (i=0; i < grau1; i++){
        d1[i] = pol[i] * p;
        p--;
    }

    float d2[4];
    int grau2 = 4, h = 4;
    for (i=0; i < grau2; i++){
        d2[i] = h * d1[i];
        h--;
    }

    float d3[3];
    int grau3 = 3, f = 3;
    for (i=0; i < grau3; i++){
        d3[i] = f * d2[i];
        f--;
    }

    mostrarPolinomio(pol,6);
    printf("\n");
    mostrarPolinomio(d1,5);
    printf("\n");
    mostrarPolinomio(d2,4);
    printf("\n");
    mostrarPolinomio(d3,3);
}

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!