Pesquisar na Comunidade
Mostrando resultados para as tags ''eu compilo e dá erro!''.
Encontrado 1 registro
-
/* Programa para calcular as raizes da equacao do segundo grau e os pontos maximo e minimo Autor: Joao Paulo Lessa Data:20/04/2021 */ #include <iostream> #include <math.h> using namespace std; int tipoFunc(float a, float b,float c){ if (a==0 && b!=0 && c!=0){ return 1; } else if (a==0 && b==0 && c!=0) { return 2; } else if (a==0 && b==0 && c==0){ return 3; } else if (a!= 0 && b==0 && c!=0){ return 4; } else if (a!=0 && b== 0 && c==0){ return 5; } else if (a!=0 && b!=0 && c==0){ return 6; } else if (a==0 && b!=0 && c==0){ return 7; } else { return 8; } float funcAfim (float b, float c) { float resultado; resultado = ((-1)*c/b); return resultado; } float funcRaiz (float a, float c){ float teste, resultado; teste = -c/a; if (teste < 0){ cout << " A fracao -c/a e menor que zero, logo: " << endl; cout << " A raiz não é Real!!! " << endl; cout << " O ponto de maximo ou minimo não pode ser calculado! " << endl; // goto fim; } else { resultado = sqrt(teste); } return resultado; } float delta (float a, float b, float c) { float resultado; resultado = b*b-4*a*c; return resultado; } float baskara (float a, float b, float c, int j){ float teste, resultado; teste = delta(a,b,c); if (delta<0){ cout << " não existe raizes reais!!!"; } else { resultado = (-b+j*sqrt(delta(a,b,c)))/(2*a); return resultado; } } int main (){ float a,b,c,x1,x2,pm; int n; cin >> a; cin >> b; cin >> c; n = tipoFunc(a,b,c); if ( n==1){ x1 = funcAfim(b,c); cout << " A funcao passar a ser do primeiro grau, com raiz: " << x1 << endl; cout << " O ponto de maximo ou minimo não pode ser calculado. " << endl; } else if (n==2){ x1 = c cout << "A funcao é constante de valor: " << x1 << endl; } else if (n==3) { cout << " Todos os coeficientes são zero, portanto a funcao é igual a 0. " << endl; cout << " O ponto de maximo ou minino não existe!!! " << endl; } else if (n==4) { x1 = funcRaiz (a,c); x2 = -x1; cout << " A raizes são: " << endl; cout << " X1: " << x1 << endl; cout << " X2: " << x2 << endl; cout << " O ponto de maximo é: " << endl; cout << " Xv = " << (-b/(2*a)) << endl; cout << " Yv = " << (-delta(a,b,c)/4*a) << endl; } else if (n==5) { cout << "Ambas as raizes são zero!!! " << endl; cout << " O ponto de maximo ou minimo é igual a zero! " << endl; } else if (n==6) { x1 = 0; x2 = funcAfim (a,b); cout << " X1 é: " << x1 << endl; cout << " X2 é: " << x2 << endl; cout << " O ponto de maximo é: " << endl; cout << " Xv = " << (-b/(2*a)) << endl; cout << " Yv = " << (-delta(a,b,c)/4*a) << endl; } else if (n==7) { cout << " A funcao passa a ser do primeiro grau, sendo raiz igual a zero! " << endl; cout << " O ponto de maximo ou minimo não é calculado! " << endl; } else { x1 = baskara (a,b,c,0); x2 = baskara (a,b,c,1); cout << "As raizes da funcao são: " << endl; cout << x1 << endl; cout << x2 << endl; cout << " Xv = " << (-b/(2*a)) << endl; cout << " Yv = " << (-delta(a,b,c)/4*a) << endl; } // fim: return 0; }