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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  no se me ocure como desarrollar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: no se me ocure como desarrollar  (Leído 2,118 veces)
miguelgrau

Desconectado Desconectado

Mensajes: 2


Ver Perfil
no se me ocure como desarrollar
« en: 28 Junio 2014, 05:24 am »

 permita ingresar un cálculo genérico por medio de un string. El mismo permite el ingreso de múltiples términos, la utilización de paréntesis y todas las funciones admitidas . Por ejemplo, se le podrá ingresar la siguiente operación:
12.3*e^(0.5*3)*sin(12*3+0.3)
Como guía tenga en cuenta que:
Será conveniente trabajar con strings hasta obtener el resultado final. En la resolución primero deberá identificar el primer paréntesis a resolver (de no haber ningún paréntesis se debe resolver siguiéndose las reglas de prioridad de operaciones del álgebra); a continuación resolver las funciones fundamentales (potencias y trigonométricas); luego, separar en términos para resolver cada uno de ellos; y finalmente, realizar la suma de términos.
En cada uno de los pasos el contenido resuelto se devolverá en un string que servirá para reemplazar la operación evaluada dentro de la fórmula original.
Para procesar los paréntesis, desarrolle una función que responda al siguiente prototipo:
Void ObtenerInteriorParentesis(char* strFormula, char* strIntPar);
donde strFormula es el puntero a char que referencia al string leído desde teclado con la fórmula completa, y strIntPar es el puntero a char que referencia al string que encierra la fórmula parcial entre paréntesis.
Tenga en cuenta que el primero a resolver será cuando encuentre una apertura de paréntesis y luego un cierre.
Desarrolle una función que reemplace una sección de un string (una operación) por otra (su resultado), permitiendo que su tamaño sea diferente:
void ReemplazaSubString(char* strOriginal, char* strReemplazado, char* strReemplazo)
donde strOriginal es el puntero a char que referencia al string completo, strReemplazado es el puntero a char que referencia a la cadena de caracteres a ser reemplazada y strReemplazo es el puntero a char que referencia al string de reemplazo.

 Otras funciones de utilidad podrían:
Verificar que la cantidad de paréntesis de apertura y cierre sean iguales.
Buscar un caracter particular dentro de un string. De esta forma podrá identificar los operadores y funciones admitidas.
Resolver los paréntesis de forma recursiva hasta eliminarlos en su totalidad.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: no se me ocure como desarrollar
« Respuesta #1 en: 28 Junio 2014, 05:31 am »

usa <string> con la funcion find busca la posicion de todos los simbolos que te interesen, separa todo usando substr en cadenas de prioridades, preferiblemente en un array dinamico...

resuelve primero las independientes, por ejemplo los parentesis que no dependen de otro calculo, luego, las que dependan de las que acabas de resolver, y así....

para ser sincero no leí todo, pero con fin y substr debes poder resolver por lo menos el primer 50% del problema D:


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
miguelgrau

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: no se me ocure como desarrollar
« Respuesta #2 en: 28 Junio 2014, 21:28 pm »

el problema q tengo creo q es no lo tengo bien claro los puntros y array
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: no se me ocure como desarrollar
« Respuesta #3 en: 28 Junio 2014, 21:42 pm »

Ese programa entonces lo veo un poco complicado para tu nivel :s estudiate un poco esos temas ya que creo que eso es lo mínimo... no se si otro usuario podría dar otra solución, eso es una taréa?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cómo desarrollar un reproductor de MP3 en Java?
Java
analiz1200 4 7,353 Último mensaje 28 Noviembre 2007, 15:16 pm
por Casidiablo
[JAVA ] Manual - Como desarrollar nuestro propio MS Paint / Kolour Paint
Java
juancho77 5 10,536 Último mensaje 26 Enero 2009, 22:35 pm
por paintfacil
Cómo desarrollar una web sin conocimientos y por poco dinero
Noticias
wolfbcn 0 1,524 Último mensaje 2 Julio 2012, 02:05 am
por wolfbcn
¿como desarrollar la logica de programacion con pseudocodigo? « 1 2 »
Programación General
Weeken 13 12,563 Último mensaje 17 Marzo 2013, 02:32 am
por arts
¿Como desarrollar una Raiz en C#?
.NET (C#, VB.NET, ASP)
estebankpo15 2 2,188 Último mensaje 22 Abril 2014, 05:29 am
por estebankpo15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines