Sacar numeros de una ecuacion? reto?

Iniciado por Edu, 12 Marzo 2011, 00:38 AM

0 Miembros y 1 Visitante están viendo este tema.

Edu

Estoy haciendo bue.. intentando.. hacer un programa para realizar Ecuaciones de Primer grado, segundo, tercero y hasta lo q me de mi cabezita.
La cosa es q el usuario podra poner por ejemplo:

2x-4+6

Y yo lo q quiero hacer es q pase por unos procedimientos q haran como un filtro y la iran acomodando a la ecuacion para q quede bien formada, la cosa es como hacerlo? xD Solo pido que me expliquen como hacer para sacar el numero 2, el numero 4, el 3 y el 6. Luego yo vere como hacer lo q sigue..

Para estar seguros prueben haciendo con esto:

50x-9+114-32x

Esque intente de todo un poco, asique espero q alguno lo sepa hacer

--------------------------------------------------------------------
Esto lo pedi en la sección de .Net pero como a ustedes les gustan los retos me parecia bien ponerlo aca tamb ya q podria intentar traducirlo luego.

79137913

HOLA!!!

Yo quise armarlo eso, muy dificil... Solucion EqWiz (creo que era asi).

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

.:WindHack:.

Ahí no hay una ecuación. Las ecuaciones son igualdades entre expresiones algebraicas ( 6x + 6 = 18 )


Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."

yalosabes


79137913

HOLA!!!

Cita de: .:WindHack:. en 12 Marzo 2011, 01:05 AM
Ahí no hay una ecuación. Las ecuaciones son igualdades entre expresiones algebraicas ( 6x + 6 = 18 )

Creo que las expresiones que puso se suponia que iban igualadas a 0 osea...
2x-4+6=0
50x-9+114-32x=0


GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

.:WindHack:.

Cita de: 79137913 en 12 Marzo 2011, 03:12 AM
HOLA!!!

Creo que las expresiones que puso se suponia que iban igualadas a 0 osea...

Un número puede alterar todo y no podemos suponer que existe "otro" por ahí. Así que hay que ser concretos y conciso.  ;)

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."

BlackZeroX

.
No quierop sonar pretencioso pero la ecuacion de 1er y 2do Grado pueden ser faciles si:

* Quitamos espcios
* Simpificamos las ecuaciones al maximo.
* Usamos la gerarquia de los operandos con la implementacion de unos Split()
* Usamos tacticas de recursividad ya que esto tiene cierta dificultad.

P.D.: Lo tomare como reto, ya les contare dentro de unos dias como me fue.

Temibles Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

#7
Cita de: .:WindHack:. en 12 Marzo 2011, 03:42 AM
Un número puede alterar todo y no podemos suponer que existe "otro" por ahí. Así que hay que ser concretos y conciso.  ;)

Se iguala a cero aqui y en china pára denotar la ecuacion y cumplir las mismas.



Ej.

1) 50x-9+114-32x
2) (50-32)x = 9-114
3) x = (9-114) / (50-32)
4) x= (-105)/(18) = -5.83333...333

por lo tanto:

(50-32)(-105)/(18)=9-114
(50-32)(-105)/(18)-9+114=0

Temibles Lunas!¡.
-.
The Dark Shadow is my passion.

Karcrack

Todas las ecuaciones tienen una forma canónica... tu en tu programa debes requerir que asi vengan... a no ser que quieras hacer un Derive en VB :laugh:

Edu

Esperen, yo se hacer las ecuaciones xD se q se iguala a otro numero, pero esq eso ya lo hice, por eso puse q solo pido q hagan esa parte, yo con lo de separar miembros lo hice con un split al "=" pero lo otro me esta costando hacer, esq si sigo usando split para dividir con los signos de + o - (solamente esos para empezar con lo basico y facil) luego tengo q hacer un recorrido para saber cuantas cifras tenia ese numero y eso es lo q no me da la cabeza para hacerlo xD

Por ejemplo 50x-9+114-32x, hago un split al signo de - y me quedaria split[0] = "50x" y split[1] = "9+114" y split[2] = "32x"
Pero ahora para recorrer para atras o para adelante ta dificil xD me confundo.

Si alguien lo puede hacer con esa ecuacion asi como pido en el post principal, le agradezco la verdad