Buscar

raízes

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
#include <math.h>
int PON(float x);
int nulo(float x);
int delta(float a, float b, float c);
int main()
{
 float a, b, c,
 r1, r2;
 int continuar;
 do{
 system("cls || clear"); /*limpar e começar de novo*/
 printf("-------------- Programa que encontra raizes de equacao do 2o grau-------------- \n\n");
 printf("Coeficiente 1: ");
 scanf("%f", &a);
 printf("\nCoeficiente 2: ");
 scanf("%f", &b);
 printf("\nCoeficiente 3: ");
 scanf("%f", &c);
 if ( nulo(a))
 printf("\n coeficiente 1 deve ser diferente de 0\n");
 else
 {
 /*se delta é maior/igual a zero*/
 if (PON(delta(a,b,c)) || nulo(delta(a,b,c)))
 {
 r1 = ( (-1)*b + sqrt(delta(a,b,c)) )/(2*a);
 r2 = ( (-1)*b - sqrt(delta(a,b,c)) )/(2*a);
 printf(" Raiz 1: %.2f\n Raiz 2: %.2f", r1, r2);
 /* '.xf', ele vai imprimir 'x' casas decimais depois da vírgula,
 e não vai limitar o número total de casas decimais.*/
 }
 else
 {
 /*parte real + parte imaginária*/
 /*r1*/
 printf("%.2f + %.2fi\n", (-1)*b/(2*a), sqrt((-1)*delta(a,b,c))/(2*a) );
 /*r2*/
 printf("%.2f - i%.2fi\n", (-1)*b/(2*a), sqrt((-1)*delta(a,b,c))/(2*a) );
 printf("\n Raizes da equacao %fX^2+(%f)X+(%f)", a, b, c);
 }
 }
 printf("\n\nCalcular mais raizes?\n1. Continuar\n0. Sair\n");
 scanf("%d", &continuar);
 }
 while(continuar);
}
/*positivo ou negativo*/
int PON(float x)
{
 if(x>0)
 return 1;
 else
 return 0;
}
/*nulo*/
int nulo(float x)
{
 if (x==0)
 return 1;
 else
 return 0;
}
/*delta*/
int delta(float a, float b, float c)
{
 float delta=(b*b)-(4*a*c);
 return delta;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais