Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - alex030293

#1
Después de unos días con C, todo lo que me deja 2 de BAC, he pillado unas cosillas básicas y, después de hacer la de 2 grado, ahora quiero hacer un programa para ecuaciones bicuadradas.

He intentado un código para resolver bicuadradas metiendo los coeficientes, pero al meterlos no hace nada, creo que hay un lio de if().

A ver si alguien me puede ayudar a ver que le pasa.....


//*Ecuaciones bicuadradas*/
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(void)
{
   /*Definir variables*/
   int a;
   int b;
   int c;
   float value;
   float value2;
   float d;
   float e;
   
   /*Introducir coeficientes*/
   printf("Introduce el coeficiente del la x^4:");
   scanf("%d", &a);
   printf("Introduce el coeficiente del la x^2:");
   scanf("%d", &b);
   printf("Introduce el termino independiente:");
   scanf("%d", &c);
   value = ((-b)+sqrt(b*b-4*a*c))/(2*a);
   value2 = ((-b)-sqrt(b*b-4*a*c))/(2*a);
   d = sqrt(value);
   e = sqrt(value2);      
   
   /*Para raíces 0 o negativas*/
   if((b*b-4*a*c) <= 0)
   {
   printf("No existe solucion");
   }
       
   /*Para raíces positivas*/
   if((b*b-4*a*c) > 0){                    
   if((value > 0) && (value2 > 0))
   {      
   printf("La x vale: +- %.3f y +- %.3f", d, e);
   }
   if((value < 0) && (value2 > 0))
   {      
   printf("La x vale: +- %.3f ", e);
   }
   if((value > 0) && (value2 < 0))
   {      
   printf("La x vale: +- %.3f", d);
   }
   if((value < 0) && (value2 < 0))
   {      
   printf("No existe solucion");
   }
   }
   
   getch();
   return 0;
}



#2
Pues eso, estos días he decidido comenzar a aprender C, un poco por mi cuenta, todo un reto.

Después de leer algunos artículos, hice el típico "Hello world", un programa para sumar, multiplicar etc etc, un comparador de números, y demás chorradas.

Intentando ir un poco por mi cuenta, me dio por hacer un pequeño programilla que resuelva ecuaciones de 2º grado, pero el fallo es que los valores que devuelve están redondeados a enteros, este es mi código:


#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)
{

   /*Definir variables*/
   int a;
   int b;
   int c;
   int value1;
   int value2;

   /*Introducir coeficientes*/
   printf("Introduce el coeficiente del la x^2:");
   scanf("%d", &a);
   printf("Introduce el coeficiente del la x:");
   scanf("%d", &b);
   printf("Introduce el termino independiente:");
   scanf("%d", &c);

   /*Para raíces positivas*/
   if((b*b-4*a*c) > 0){                      
   value1 = ((-b)+sqrt(b*b-4*a*c))/(2*a);
   value2 = ((-b)-sqrt(b*b-4*a*c))/(2*a);
   printf("La x vale: %d y %d", value1, value2);
   }

   /*Para raíces 0 o negativas*/
   if((b*b-4*a*c) <= 0){
   printf("No existe solucion");
   }
   
   getch();
}


Creo que el fallo es algún %d, pero no estoy seguro, también creo que debería meter algun float por ahí, pero tras intentarlo no me ha salido gran cosa.

Me encomiendo a vosotros, gracias de antemano.