elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Sacar numeros de una ecuacion? como?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sacar numeros de una ecuacion? como?  (Leído 6,150 veces)
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Sacar numeros de una ecuacion? como?
« en: 12 Marzo 2011, 00:34 am »

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:
Código:
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:
Código:
50x-9+114-32x

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


En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #1 en: 12 Marzo 2011, 01:02 am »

Te recomiendo expresiones regulares y seguir las reglas obviamente como si estubieras haciendo a la mano mientras voy a ir probando =D

La solución, hay que intentar replicar los procedimientos:
Código:
50x - 9 + 114 - 32x = 0 -- Se iguala a 0

50x - 32x = 9 - 114 -- Los terminos independientes se agrupan del lado contrario a los dependientes y cambiadoles el signo

18x = 9 - 144 -- Se operan los terminos dependientes que tengan la misma variable

18x = (-105) -- Se operan los independientes

x = (-105) / 18 -- Se pasa el dependiente al otro lado de la igualdad

x = -5,833... -- Resultado final de X

(50 * (-5,833)) - 9 + 114 - (32 * (-5,833)) = 0 -- Comprobación de la ecuación


« Última modificación: 12 Marzo 2011, 03:45 am por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #2 en: 12 Marzo 2011, 09:05 am »

Te recomiendo expresiones regulares y seguir las reglas obviamente como si estubieras haciendo a la mano mientras voy a ir probando =D

La solución, hay que intentar replicar los procedimientos:
Código:
50x - 9 + 114 - 32x = 0 -- Se iguala a 0

50x - 32x = 9 - 114 -- Los terminos independientes se agrupan del lado contrario a los dependientes y cambiadoles el signo

18x = 9 - 144 -- Se operan los terminos dependientes que tengan la misma variable

18x = (-105) -- Se operan los independientes

x = (-105) / 18 -- Se pasa el dependiente al otro lado de la igualdad

x = -5,833... -- Resultado final de X

(50 * (-5,833)) - 9 + 114 - (32 * (-5,833)) = 0 -- Comprobación de la ecuación

De esa forma es como yo lo hacia jeje bueno en la preparatoria, y me fue bastante bien respecto a examenes, puesto que lo hice en java para mi cel y solo era cuestion de meter la ecuacion y listo tenia resultado jeje
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #3 en: 12 Marzo 2011, 18:51 pm »

Jejej pero si yo se hacer ecuaciones xD, pero lo q no se es como hacerlo programando, es decir lo q pedi es q me digan como saco los numeros y con el dato de si suma o resta, o divide o multiplique.

50x-9+114-32x = 0

Que el usuario ponga eso en un textbox y q al pulsar el boton guardas en distintas variables string el "50" en otra el "-9", en otro el "+114" en otro el "-32", por eso es lo complicado xD
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #4 en: 12 Marzo 2011, 22:13 pm »

Yo estoy haciendo una clase para probar comence por hacer un .Replace(" ","") y si no se cumplia la condiciòn .EndsWith("=0") se agregaba el "=0", luego tomar con expresiones regulares los nùmeros que esten rodeados por "-, +, / y *" para hacer la lista de terminos independientes y para sacar la lista de terminos independientes expresiones regulares para capturar nùmeros que esten pegados a una letra.

Luego una funciòn que separe la ecuaciòn con un Split("=") e ir pasando los independientes para el otro lado multiplicandolos *(-1) si es suma o resta y remplazando / por * y * por /, luego no me acuerdo del nombre de una funciòn que resuelve operaciones matemàticas desde un string para que resuelva los terminos independientes despues con los terminos dependientes se agrupan dependiendo su variable se les quita la letra y se operan luego se le añade la correspondiente letra al resultado final y se vuelven a unir las 2 partes el unico termino indenpendiente que quedo del lado izquierdo se pasa para el otro lado y se opera el lado derecho y fin. Debes investigar sobre las expresiones regular yo no se mucho por eso no te doy ejemplos pero por lo menos la que captura terminos independientes quisas sea asì:

Código:
^(+|-|/|*)[0,9]{0,19}

Pero lo màs probable es que tenga algo mal :xD
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #5 en: 12 Marzo 2011, 23:17 pm »

Esta bien como dijiste, esos pasos son los q estoy haciendo, pero igual por ahora solo pido q me pongan el codigo solamente para sacar los numeros de la ecuacion, desp yo los paso y todo eso.
No se compliquen q yo por ahora pido eso solamente :S Asique porfavor lean bien lo q pido porq solo necesito el codigo ya q la idea la tengo pero me confundo y no anda.
En línea

.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #6 en: 12 Marzo 2011, 23:48 pm »

Una cosa lo haras en consola, Aplicacion o como ?
Si fuera en consola aqui esta una forma en C++

Código
  1. # include <stdio.h>
  2. #include <iostream>
  3. /* ecuacion de segundo grado tiene la forma
  4. ax+b= o
  5. x= -b/a
  6. */
  7.  
  8. float x,a,b;
  9. main()
  10. {
  11.  
  12. printf("\nIngrese valores de a:");
  13. scanf("%d",&a);
  14. printf("\n");
  15. printf("\nIngrese valores de b:");
  16. scanf("%d",&b);
  17. printf("\n");
  18.  
  19. if (a !=0){
  20. x=(-b/a);
  21. printf("\nLa solucion es %1.2f:",x);
  22.  
  23. }
  24. else
  25. printf ("\nerror, no es una ecuacion de primer grado.. es una constante");
  26. printf("\n");
  27.  
  28.  
  29. printf("\nFin programa");
  30. printf("\n");
  31. system("pause");
  32. }

Ahorita estoy viendo sobre mejor solo colocar toda la ecuacion y ya que lo resuleva solo aunque no consigo nada aun u_u

Código
  1. String funcionAritmetica = "50x-9+114-32x";
  2.  
  3. String[] operadores = funcionAritmetica.split ("\\d+");
  4. String[] numeros = funcionAritmetica.split ("\\p{P}");
  5.  

« Última modificación: 13 Marzo 2011, 00:37 am por .mokk. » En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #7 en: 13 Marzo 2011, 21:29 pm »

Ta gracias, no me han entendido, ni en este post ni en otro q hice talvez no tenia q decirles q es lo q estaba haciendo.
Repito:

Quiero q cuando el usuario en un textbox escriba una ecuacion  por ejemplo 50x-9+114-32x=0 y presione un button, en mi codigo obtenga en este caso un string = "50" otro string = "-9", otro string = "+114" y otro string = "-32".
Solo eso, asique les pediria por favor q lean este post y prueben haciendo lo q pido aca con esa ecuacion de ejemplo pero q tambien funcione para otra ecuacion como esta 8x-2=0

Desde ya gracias! espero q entiendan xD
En línea

.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Sacar numeros de una ecuacion? como?
« Respuesta #8 en: 14 Marzo 2011, 04:07 am »

Ta gracias, no me han entendido, ni en este post ni en otro q hice talvez no tenia q decirles q es lo q estaba haciendo.
Repito:

Quiero q cuando el usuario en un textbox escriba una ecuacion  por ejemplo 50x-9+114-32x=0 y presione un button, en mi codigo obtenga en este caso un string = "50" otro string = "-9", otro string = "+114" y otro string = "-32".
Solo eso, asique les pediria por favor q lean este post y prueben haciendo lo q pido aca con esa ecuacion de ejemplo pero q tambien funcione para otra ecuacion como esta 8x-2=0

Desde ya gracias! espero q entiendan xD

Pues al final lo he hecho asi como lo dices, aunque pues no en NET, sino en Java aun asi espero y te pueda ayudar aunque segun recuerdo es casi la misma forma en VB O C#

Código
  1.  
  2. public class Ecuaciones
  3. {
  4.  
  5. public static void main(String[] args)
  6. {
  7. String ec;
  8. double x;
  9. ec = "50x-9+114-32x";
  10. x = resolver(ec);
  11. mensaje("El valor de x: " + x);
  12. }
  13.  
  14. private static void mensaje(String msg)
  15. {
  16. System.out.println(msg);
  17. }
  18.  
  19. private static double resolver(String ec)
  20. {
  21. double x=0;
  22. String [] n= new String[ec.length()];
  23. int k =0;
  24. for(int i=0;i<ec.length();i++)
  25. {
  26. if(Character.isDigit(ec.charAt(i)) == true || ec.charAt(i) == 'x')
  27. {
  28. if(i==0)
  29. {
  30. n[k] = String.valueOf(ec.charAt(i));
  31. }else{
  32. n[k] = n[k] + ec.charAt(i);
  33. }
  34. }else{
  35. k+=1;
  36. n[k] = String.valueOf(ec.charAt(i));
  37. }
  38.  
  39. }
  40. String [] nn = new String[k+1];
  41. for(int i=0;i<=k;i++)
  42. nn[i] = n[i];
  43.  
  44. for(String cosa:nn)
  45. {
  46. mensaje(cosa);
  47. }
  48. //50x-9+114-32x
  49. return x;
  50. }
  51.  
  52.  
  53. }
  54.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
codigo para sacar de un conjunto de texto números « 1 2 »
Programación Visual Basic
leliCabello 19 8,452 Último mensaje 27 Julio 2010, 00:24 am
por Psyke1
Como convertir numeros decimales a numeros binario en c++?
Programación C/C++
fco_noh 3 9,212 Último mensaje 31 Agosto 2010, 07:38 am
por do-while
[Duda] Sacar números primos de una secuencia
Programación Visual Basic
Hurubnar 2 3,990 Último mensaje 25 Febrero 2011, 16:59 pm
por Hurubnar
Sacar numeros de una ecuacion? reto? « 1 2 »
Programación Visual Basic
Edu 12 5,288 Último mensaje 14 Marzo 2011, 16:58 pm
por 79137913
Como formo lo ecuacion completa?
Programación General
Edu 9 4,262 Último mensaje 3 Abril 2011, 18:29 pm
por Edu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines