Autor
|
Tema: C para resolver ecuaciones de segundo grado llamando tres funciones diferentes, (Leído 9,044 veces)
|
raulinchi
Desconectado
Mensajes: 8
|
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...
|
|
« Última modificación: 22 Octubre 2011, 16:01 pm por raulinchi »
|
En línea
|
|
|
|
raulinchi
Desconectado
Mensajes: 8
|
Esto esta mejor no???
No me da errores, pero no resuleve bien, voy a repasarlo a ver...
#include<stdio.h> #include<math.h>
float discrpos(float m, float n, float q, float *r); float discrneg(float m, float n, float q, float *r); float discrnull(float m, float n);
int 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); } else 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 m, float n, float q, float *r){
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; }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ecuaciones de segundo grado... ¿Posible?
Programación Visual Basic
|
Debci
|
6
|
10,728
|
17 Julio 2009, 02:48 am
por h0oke
|
|
|
Resolucion de ecuaciones de segundo grado y primer grado tmb :s
Java
|
Debci
|
8
|
14,268
|
8 Noviembre 2009, 12:59 pm
por Debci
|
|
|
[Python] Ecuaciones de Segundo Grado - by xassiz
Scripting
|
xassiz_
|
2
|
8,390
|
17 Febrero 2010, 23:41 pm
por xassiz_
|
|
|
[C] Ecuaciones de segundo grado
« 1 2 »
Programación C/C++
|
STANHMAL
|
10
|
7,993
|
10 Julio 2010, 04:28 am
por STANHMAL
|
|
|
Aprendiendo C: Programa resolver ecuaciones de 2º grado
Programación C/C++
|
raulgombru
|
9
|
12,948
|
18 Septiembre 2010, 17:17 pm
por Lolo_Molo
|
|