Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Postado
#include <stdio.h>
#include <stdlib.h>
    
int main() {
        
	int i=0, grau, exp;
	int deriv[i];
    double polin[i];
    
    scanf("%d", &grau);
        
		if ((1 < grau) && (grau <=100)) { 
           
            for (i = grau; i >= 0; i = i - 1) {
               scanf("%lf", &polin[i]);
               }
            
			exp = grau-1;
            
			for (i = grau; i >= 1; i = i - 1) {
                deriv[i - 1] = polin[i]*i;   
            
            if (deriv > 0) {
                printf ("%dx^%i+", deriv[i - 1],exp);
                }
            
			else {
                printf ("%dx^%i", deriv[i - 1],exp);
                }
            
			exp -= 1;
        }

       return 0;
    }
}

Boa tarde pessoal, alguem poderia me ajudar nesse codigo?

Eu fiz isso ate agora, e minha saida esta com alguns problemas, eu queria que a saida desse exatamente isso:

4

5.00

12.00

5.00

25.00

12.00

20x^3+36x^2+10x+25     RESULTADO ESPERADO

Eu queria que desse esse resultado, desse jeitinho, mas nao sei porque esta dando assim no meu o resultado final:

4

5.00

12.00

5.00

25.00

12.00

20x^3+0x^2+10x^1+25x^0+   MEU RESULTADO

Eu nao sei porque a segunda equação deu 0 e não 36, igual a cima, e esses "0" e "+" no final , eu queria que ficasse exatamente igual ao primeiro resultado ali que mostrei...

  • Obrigado 1
Postado

@Henrique850  No if teria que estar a variável do expoente.

 

Como o grau será informado e tempo de execução você pode alocar o vetor polin,

 

#include <stdio.h>
#include <stdlib.h>
    
int main() {
    int i, grau, *polin;
    
    scanf("%d",&grau);
    grau++;
    polin = (int *)malloc(sizeof(int) * grau);
    
    for(i = 0; i < grau;i++){
        scanf("%d",&polin[i]);
    }
    
    for(i = 0; i < grau - 1;i++){
        int expo = (grau - i - 2);
        
        printf("%d",polin[i] * (expo + 1));
        if(expo > 0){
            if(expo != 1){
                printf("x^%d", expo);
            }else{
                printf("x");
            }
        }
        if(i < grau - 2){printf("+");}
    }
    free(polin);
    return 0;
}

 

  • Obrigado 1
  • Amei 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...