[Ejemplo de C: muy básico] Solucionar ecuaciones de 2º grado
Página 1 de 1.
[Ejemplo de C: muy básico] Solucionar ecuaciones de 2º grado
Si acabas de empezar C, este es el primer ejemplo que debes ver, es el más sencillo.
Este programa soluciona una ecuación de 2º grado de este estilo:
Con el siguiente código obtenemos la ecuación
Ahora toca mostrar la solución, que es la suma de los dos términos:
Este programa soluciona una ecuación de 2º grado de este estilo:
- Código:
Ax² + Bx + C = 0
- Código:
// Creative Commons 2009 - opengl-esp.superforo.net - HarZe
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
unsigned char op;
short bucle = 1;
float a,b,c,d,r,i1,i2;
int main() {
while (bucle) {
//Presentación
printf("\n Práctica de C. Resolución de ecuaciones de 2º grado.\n Introduce los factores A, B y C en una ecuacion asi:\n Ax²+By+C=0\n\nIntroduce A:");
scanf("%f",&a);
printf("Introduce B:");
scanf("%f",&b);
printf("Introduce C:");
scanf("%f",&c);
//Resolucion
r = (-b)/(2*a);
d = (b*b)-(4*a*c);
i1 = sqrt(fabs(d))/(2*a);
i2 = -i1;
if (d>0) printf("\n\nSolucion doble: %f , %f",r+i1,r+i2);
else if (d==0) printf("\n\nSolucion unica: %f",r);
else if (d<0) printf("\n\nSolucion doble imaginaria: %f+%fi , %f+%fi",r,i1,r,i2);
printf("\n\nHacer otra ecuacion [s/n]?");
op = 0;
while (op!='s' && op!='n') {
scanf("%c",&op);
if (op=='n') bucle = 0;
}
if (!bucle) printf("\nCC 2009 - Visitanos: http://opengl-esp.superoforo.net - por HarZe\n");
}
}
- Código:
#include <stdio.h> // Para usar printf() y scanf() y emitir/recoger datos
#include <stdlib.h> // Para usar fabs() y obtener el valor absoluto de un decimal
#include <math.h> // Para usar sqrt() y obtener la raiz cuadrada
- Código:
unsigned char op; // Para guardar la opcion s/n al final del programa
short bucle = 1; // Variable auxiliar que se des/activa si ordenas hacer otra ecuacion
float a,b,c,d,r,i1,i2; // Variables para las ecuaciones y sus resultados
Con el siguiente código obtenemos la ecuación
- Código:
//Presentación
printf("\n Práctica de C. Resolución de ecuaciones de 2º grado.\n Introduce los factores A, B y C en una ecuacion asi:\n Ax²+By+C=0\n\nIntroduce A:");
scanf("%f",&a);
printf("Introduce B:");
scanf("%f",&b);
printf("Introduce C:");
scanf("%f",&c);
- Código:
r = (-b)/(2*a);
d = (b*b)-(4*a*c);
i1 = sqrt(fabs(d))/(2*a);
i2 = -i1;
Ahora toca mostrar la solución, que es la suma de los dos términos:
- Código:
if (d>0) printf("\n\nSolucion doble: %f , %f",r+i1,r+i2);
else if (d==0) printf("\n\nSolucion unica: %f",r);
else if (d<0) printf("\n\nSolucion doble imaginaria: %f+%fi , %f+%fi",r,i1,r,i2);
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|