Estoy muy desesperado con esto y no puedo hacerlo entonces me parecio buena idea hacerles un reto para ustedes que les gustan los retos y pensar.
No me estoy aprovechando ni nada por el estilo, solo que si les gusta el reto talvez lo hacen y yo podria entender la logica y luego hacerlo en mi lenguaje q estoy trabajando, q es C#.
La idea es que puedan hacer una funcion q haga esto:
2x-4(3x+7-2x)+5=0 ---> entrada
2x-4(1x+7)+5=0
2x-4x-28+5=0
2x-4x-23=0
-2x-23=0 ---> salida
-----------------------
4x-7x(3+2(5x-6)-8)-5+10x=0 ---> entrada
4x-7x(3+10x-12-8)-5+10x=0
4x-21x-70x^2+84x+56-5+10x=0
4x-21x-70x^2+84x+51+10x=0
-17x-70x^2+94x+51=0
-70x^2+77x+51=0 ---> salida
Ahi dejo 2 ejemplos q los hice mentalmente aca asique puede q esten mal, pero es para mostrar la idea por lo menos.
Solo aclaro una cosa, la ecuacion q ingresa el usuario a mi programa pasa por "filtros" y se arregla algunas cosas por ejemplo:
2x-8(-4+5) ---> ingresa usuario
y se modifica a 2x-8(-4+5)=0
6x-x(7+3(x-4))=8+x-3 ---> ingresa usuario
y se modifica a 6x-1x(+7+3(+1x-4))=+8+1x-3
Aclaro eso para q sepan q la funcion q haran tendra siempre como parametros una ecuacion con los signos bien puesto y con su valor de la incognita tamb.
Espero q les guste la idea, suerte!
Huele a Tarea
Tarea para quien? o para q cosa? es para uso propio y en este caso no puedo dejar mi codigo empezado porq no se ni por donde empezar, pero ya pedi ayuda en otro post, aca solo les traigo como reto y mi beneficio es comprender q es lo q hacen y traducirlo a mi lenguaje..
.
http://foro.elhacker.net/programacion_visual_basic/sacar_numeros_de_una_ecuacion_reto-t321631.0.html;msg1590427#msg1590427
Puedes tomarlo en base, ya no lo toque por falta de tiempo.
La cosa es obtener secciones de las expresiones y revisr si se pueden reducir, un error es resolver las diviciones, estas hay que tratarlas como fracciones y no resulverlas ya que el desgraciado punto decimal cambiara el resultado final.
Dulces Lunas!¡.
Tenes un vb muy avanzado black por eso no te entiendo mucho, pero algunas cosas si y se me vinieron algunas ideas mas, pero me falta un empujoncito.
Yo anduve peliandola un tiempo por un procedimiento q me hicieron aca porq no pude, q era para sacar los datos de los parentesis en un array, por ejemplo: 2x-8(4+5)-2 y quedaba array[0] = "2x-8-2", array[1] = "4+5"; asi y con cosas mas complicadas y funciona perfecto! pero ahora q lo tengo no se para q lo queria jajaja xD pero algun uso le dare.
Porq con eso podria empezar a simplificar lo q esta en los parentesis, pero mi problema es este: Despues como me fijo q operacion iba con lo q estaba en el parentesis? xD
Perdonen q haga estas reflexiones pero a veces cuando pregunto las cosas aca me termino solucionando todo yo, me ayuda a pensar preguntando aca xD
Pero a ver si me ayudan, dando mas ideas o haciendo el reto ;)