Bueno, soy yo de nuevo, la verdad es que ahora me quedo enganchado con cualquier toneria(no acabo de comprender algunos conceptos), poero por ganas no sera, asi que haber si me ayudais a comprender bien que estoy haciendo, os comento:
Intento resolver una ecuacion de segundo grado, tres posibles soluciones di>0
di<0, di=0.
Dependiendo del valor de di, llamo a una funcion o otra y devuelvo un resultado con returt y otro con un puntero.
Os asjunto el codigo a ver si me podeis ayudar:
#include<stdio.h>
#include<math.h>
void main(){
float a=0,b=0,c=0,di=0,l,A,B;
printf("Solucion a la ecuacion de tipo ax2+bx+c=0\n");
printf("Dame el valor de a\n");
scanf("%d",&a);
printf("Dame el valor de b\n");
scanf("%d",&b);
printf("Dame el valor de c\n\n");
scanf("%d",&c);
di=b*b-(4*a*c);
if(di>0)
{
A = discrpos(a,b,di,&l);
printf("x1=%d y x2=%d",A,l);
}
if(di<0)
{
A = discrneg(a,b,di,&l);
printf("x1=%d y x2=%d",A,l);
}
else
{
A = discrnull(a,b);
printf("x1=x2=x=%d",A);
}
}
float discrpos(float m, float n, float q, float *r){
float x1=0,x2=0;
x1 = (-n+sqrt(q))/(2*m);
x2 = (-n-sqrt(q))/(2*m);
*r = x2;
return x1;
}
float discrneg(){
float x1=0,x2=0;
x1 = -n/(2*m);
x2 = sqrt(q)/(2*m);
*r = x2;
return x1;
}
float discrnull(float m, float n){
float x1=0,x2=0;
x1 = x2 = -n/(2*m);
return x1;
}
GRacias y perdonad mi ignorancia...No resulta facil el C, sinceramente, espero no os importe ayudarme...
Intento resolver una ecuacion de segundo grado, tres posibles soluciones di>0
di<0, di=0.
Dependiendo del valor de di, llamo a una funcion o otra y devuelvo un resultado con returt y otro con un puntero.
Os asjunto el codigo a ver si me podeis ayudar:
#include<stdio.h>
#include<math.h>
void main(){
float a=0,b=0,c=0,di=0,l,A,B;
printf("Solucion a la ecuacion de tipo ax2+bx+c=0\n");
printf("Dame el valor de a\n");
scanf("%d",&a);
printf("Dame el valor de b\n");
scanf("%d",&b);
printf("Dame el valor de c\n\n");
scanf("%d",&c);
di=b*b-(4*a*c);
if(di>0)
{
A = discrpos(a,b,di,&l);
printf("x1=%d y x2=%d",A,l);
}
if(di<0)
{
A = discrneg(a,b,di,&l);
printf("x1=%d y x2=%d",A,l);
}
else
{
A = discrnull(a,b);
printf("x1=x2=x=%d",A);
}
}
float discrpos(float m, float n, float q, float *r){
float x1=0,x2=0;
x1 = (-n+sqrt(q))/(2*m);
x2 = (-n-sqrt(q))/(2*m);
*r = x2;
return x1;
}
float discrneg(){
float x1=0,x2=0;
x1 = -n/(2*m);
x2 = sqrt(q)/(2*m);
*r = x2;
return x1;
}
float discrnull(float m, float n){
float x1=0,x2=0;
x1 = x2 = -n/(2*m);
return x1;
}
GRacias y perdonad mi ignorancia...No resulta facil el C, sinceramente, espero no os importe ayudarme...