• Domingo 22 de Diciembre de 2024, 13:37

Autor Tema:  Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grad  (Leído 9862 veces)

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grad
« en: Lunes 25 de Febrero de 2002, 17:06 »
0
Para que no se duerma este foro antes de que empiece en funcionamiento, voy a plantear el primer reto:)


Realizar un programa que calcule las soluciones de una ecuación de segundo grado.
aX2 + bX + c = 0


Nota: el aX2 es a*X al cuadrado.

Como veis, el planteamiento es corto y entendible:). A ver cuantos lo sacan...

(Esta es para ti, EQLucky:D)



[Modificado el 2/25/02 por tenesor]
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

EQLucky

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grad
« Respuesta #1 en: Lunes 25 de Febrero de 2002, 22:32 »
0
JAJAJAJA, pero bueno...
Vale, vale, pongo mi granito de arena:


float segundogrado(float a, float b, float x, float y1, float y2)
{
printf("Introduzca los valores de la ecuaci¢n de segundo grado: ");
   printf("n (     )x^2 + (     )x + (     ) = 0");
   gotoxy(3,2);
   scanf("%f",&a);
   gotoxy(16,2);
   scanf("%f",&b);
   gotoxy(27,2);
   scanf("%f",&x);

   y1 = ( (-b) + sqrt((b*b)-(4*a*x)) ) / (2*a);
   y2 = ( (-b) - sqrt((b*b)-(4*a*x)) ) / (2*a);
   printf("ntResultados ===> x1 = %.4f",y1);
   printf("nt                x2 = %.4fn",y2);


Esto esta sin compilar, pero creo que es correcta, si los cálculos no me fallan.
\"Un sueño que merece la pena soñar es un sueño por el que merece la pena luchar.\"

kenshin

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grad
« Respuesta #2 en: Lunes 25 de Febrero de 2002, 22:58 »
0
Bueno, aquí pongo el mío tb. Es más largo, pero contempla todas las posibilidades (creo:)

#include <stdio.h>
#include <math.h>
#include <conio.h>

void main(void)
{
   float A, B, C, r, R, discr;

   clrscr();

   printf("Coeficiente A=");
   scanf("%f",&A);
   printf("Coeficiente B=");
   scanf("%f",&B);
   printf("Coeficiente C=");
   scanf("%f",&C);

   if(A==0 && B!=0){
      printf("nLa ecuacion no es de 2o grado,ntr=%f",(-C/B));}
   if(A==0 && B==0){
      printf("nERROR!");}
   if(A!=0){

   discr=(B*B)-(4*A*C);

   r=(-B/(2*A));
   R=sqrt(abs(discr))/(2*A);

   if(discr==0)
      printf("nLa raiz es doble,ntr1=r2=%f",r);
   else if(discr<0)
      printf("nLas raices son imaginarias,ntr1=%f+%fitr2=%f%fi",r,R,r,(-R));
   else if(discr>0)
      printf("nLas raices son reales,ntr1=%ftr2=%f",(r+R),(r-R));
   }
   getch();
   return(0);

}

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grad
« Respuesta #3 en: Martes 26 de Febrero de 2002, 19:47 »
0
Hola.

Pues si, he probado los dos y ha funcionado correctamente. Solo he tenido un pequeño problema con el de EQLucky pero ha sido por compiladores.

La funcion "gotoxy" es de Borland, por lo que aquellos usuarios de compiladores como Dev-c++ o GCC les dará error. Solo teneis que quitar las lineas Gotoxy y hacer tres preguntas con el printf (valor de  a, de b y de x). Guardarlas en sus correspondientes variables y el programa funcionará a la perfeccion.

Alguna respuesta más? Máñana (27/02/02) cerrare el reto. Espero que colabore mas gente con el proximo reto....
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

delpa

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
25/02/02 - Fácil - Matematico - Ecuacion de segundo grado
« Respuesta #4 en: Miércoles 27 de Febrero de 2002, 23:27 »
0
Hala hay va otro, si tocais estos temas, yo por mi encantao:

---------------------------------------------
#include <stdio.h>
#include <math.h>
#include <conio.h>

int main(void){
   float coef[3],result1[2]={0,0},result2[2]={0,0},aux;
   clrscr();

   printf("Introduce los coeficientes (aX**2 + bX + C =0)n");
   printf("Introduce el coeficiente an");
   scanf("%f",&coef[0]);
   printf("Introduce el coeficiente bn");
   scanf("%f",&coef[1]);
   printf("Introduce el coef cn");
   scanf("%f",&coef[2]);

   aux=coef[1]*coef[1]-4*coef[0]*coef[2];

   result1[0]= (-coef[1]/(2*coef[0]));
   result2[0]= (-coef[1]/(2*coef[0]));

   if(aux<0){    /*hay raices complejas*/
     aux=-aux;

     result1[1]= ( sqrt(aux) / (2*coef[0]) );
     result2[1]= - (sqrt(aux)/(2*coef[0]));
   }
   else{
     result1[0]= result1[0] + sqrt(aux)/(2*coef[0]);
     result2[0]= result2[0] - sqrt(aux)/(2*coef[0]);
   }
   printf("La primera raiz es %f + %f i",result1[0],result1[1]);
   printf("La segunda raiz es %f + %f i",result2[0],result2[1]);

   return(0);
}

undertakos

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
    • http://www.bespel.com
Re: 25/02/02 - Fácil - Matematico - Ecuacion de segundo grado
« Respuesta #5 en: Domingo 6 de Diciembre de 2009, 01:01 »
0
Hola que tal soy nuevo en el foro aquí va mi aportación :P

#include <stdio.h>
#include <conio.h>
#include <math.h>

void main(){
   float a,b,c,d,e,f;
   printf("introduce los coeficientes");
   scanf("%f",&a);
   scanf("%f",&b);
   scanf("%f",&c);

   d = (b*b)-(4*a*c);
   if(d < 0 ){
      e = -b / (2*a);
      printf("la respuesta es %f",e);
   }
   else{
      e = -b / (2*a);
      d = sqrt(d) / (2*a);
      f = e + d;
      printf("Una opcion es:%f",f);
      f = e - d;
      printf("Una opcion es:%f",f);
   }
   getch();
}