Hola
Bueno mi problema es el siguiente:
1.- Me gustaria programar en C++ funciones lineales cuadráticas y cubicas perola verdad no se ni por donde o como empezar no se si en este lenguaje sería lo adecuado o sería mejor hacerlo en visual basic
Si por favor alguien puede darme una guía se lo agradeceria infinitamente
Hola marcecompu, bienvenido al foro. Supongo que lo que quieres hacer es un programe que halle las soluciones de dichas funciones ¿no? , quizás no te he entendido bien.
O lo que quieres es un programa que a partir de una ecuación dada sin la forma general para aplicar directamente la formula de resolución.
Es decir meter:
Citarax2+bx+c=0
Y hallar la solución. O quizás lo que quieres es que el programa tu le metas algo así y te la halle:
Citarx2+3x2+0.5x+4x=-3
Un saludo.
justamente lo que quiero hacer es introducir una funcion por ejemplo
X^2-14x+48
y que el programa me de el resultado de forma grafica
Una guia sobre esto... hay varias formas de hacer esto... cada una con sus ventajas y sus inconvenientes.
Yo personalmente "recompilaria" la función. Un polinomio se puede encapsular fácilmente como una sucesión de monomios del tipo:
class Monomio
{
public:
Monomio( double multiplicador, double exponente )
: _multiplicador( multiplicador),
_exponente( exponente )
{
}
double operator( )( double x) const
{
return pow( x * multiplicador, _exponente );
}
friend std::ostream& operator << ( std::ostream& out, const Monomio& monomio )
{
if ( monomio.multiplicador > 0 )
out << "+";
out << monomio.multiplicador;
if ( monomio._exponente != 0.0 )
{
out << "x";
if ( monomio._exponente != 1.0 )
out << "^" << monomio._exponente;
}
return out;
}
private:
double multiplicador;
double _exponente;
};
Y con esto el resto del proceso se simplifica enormemente:
class Polinomio
{
public:
Polinomio( const std::vector< Monomio >& monomios )
: _monomios( monomios )
{ }
double operator( )( double x) const
{
double resultado = 0.0f;
for ( const auto& monomio : _monomios )
{
resultado += monomio( x);
}
return resultado;
}
friend std::ostream& operator<<( std::ostream& out, const Polinomio& poli )
{
out << "y=";
for ( const auto& monomio : poli._monomios )
out << monomio;
return out;
}
private:
std::vector< Monomio > _monomios;
};
int main()
{
std::vector< Monomio > monomios { { 1.0, 2.0 }, { -14.0, 1.0 }, { 48.0, 0.0 } };
Polinomio poli( monomios );
std::cout << "Función: " << poli << std::endl;
std::cout << "Resultados: " << std::endl;
for ( double x = 0; x < 10; x++ )
{
std::cout << "x=" << x << " - y=" << poli( x ) << std::endl;
}
}
Para graficar las funciones tendrás que pelearte con alguna librería gráfica... pero al menos ya tienes la pareja de valores (x,y)