|
|||||||
| Programación Escribe aquí todo lo relacionado sobre programación, ya sea C, C++, PHP, etc, etc... |
![]() |
|
|
LinkBack | Herramientas |
|
||||
|
Hola como tas, estuve viendo tu problema, y bueno, hacer eso con programacion no es cosa taaan sencilla, te podria dar una ayuda, pero lo que se me ocurre ahora solo sirve para funciones polinomiales, nada complejas bueno aca va lo solucion:
Primero (estoy suponiendo que sabes POO si estas viendo java) asi que: Crear una clase Polinomio, con sus atributos, podrian ser un arreglo de enteros que represente en cada posicion el coeficiente del termino es decir que si tu arreglo se llama a, entonces para poder representar 6x⁵ entonces en la posicion a[ 5 ] le pones un 6 luego como metodos le puedes dar un metodo que sume 2 polinomios, multiplique 2 polinomios, etc, todo lo q necesitas para q jale el programa De ahi que tengas tu clase Polinomio puedes crear tus 2 funciones F(x) como un objeto polinomio y G(x) otro objeto polinomio, de ahi usando los metodos que creaste, operas los reemplazos y le muestras en pantalla el polinomio resultante (En caso de que sean funciones trigonometricas o alguna cosa rara :S (como eulers y esas wadas), mmmm no se me ocurrio nada je je SUerte!
__________________
![]() Spoiler para Para paginas:
|
| Los siguientes usuarios agradecieron a Tailmon este mensaje: | ||
Zero-Sama (29-Nov-2009)
| ||
|
||||
|
si gracias, de hecho lo que queria haciendo esto era por que segun yo era practicamente un "hola mundo", segun yo separaba en arreglos y decia que donde hubiera una x pusiera un parentesis y pusiera lo que se hubiera escrito como la otra funcion, sin importar si tuviera una x o no, en fin, simplemente que cambiara las x de un arreglo por el string de la otra (el problema es que se declara como char, o no se si = seria poner todos los chars, pero bue...), y como digo si alguien plantea la solucion aunque sea en otro lenguaje seria bien recibida, es que ya de hecho intente otro codigo, pero ahora en c que tengo mas experiencia y me da caracteres muuuuuy raros al hacer la composicion, anexo ese codigo a ver que me pueden decir. (p.d:tengo hasta el viernes para terminarlo, si no lo logro, lo dejare por la paz)
el codigo es: #include <stdio.h> main (void) { int i; int j; char fog[50][50]; char gof[50][50]; printf( "Bienvenido al programa Foggof 1.0\n"); printf( "Dame f(x)"); gets(fog); printf( "Dame g(x)"); gets(gof); for (i=0;i<50;i++) {if(fog[i]==120) {for (j=0;j<50;j++) printf("%c",gof[j]); } else printf("%c",fog[i]); } _getche(); } p.d (pa tailmon) estuve queriendo checar tu blog, pero al parecer solo tiene una entrada o mi navegador se comporta raro, jaja si sigues ese proyecto ya tienes un lector eh, jaja nos estamos viendo (bueno... leyendo).
__________________
the great ruler of zera is here again Última edición por Zero-Sama; 29-Nov-2009 a las 00:30 |
|
|||
|
¿Pero quieres hacer solo la composición o el cálculo completo? Es que hay un mundo de diferencia...
Tal como tienes el código estás simulando un array tridimensional: En fog[0] metes fx en forma de array de caracteres (charfx): fog[0] = ['2','x'] --> fog[['2','x']] y luego pretendes cambiar x por otro array (chargx): fog[['2',['3','x','+','1']]] Como ves es complicarlo bastante. Hubiera sido más sencillo trabajar con Strings como indico en mi solución o bien trabajar insertando posiciones intermedias en el array (cada vez que encuentre x que inserte tantas posiciones nuevas como caracteres tenga la otra función menos uno, ya que reemplazarás x)... cosa que se simplifica con el uso de Vector, LinkedList, ArrayList, ... Aparte, cometes algunos errores por los que quizá tenías quebraderos de cabeza, como que fog apunta a null y por tanto no puedes asignarle un valor a fog[0] ya que no existe o que si un array comienza en 0 debes acabar en length-1 (1...n = 0...n-1) En fin, una solución simple sería: Código:
public class Composicion {
/**
* Función que reemplaza todas las apariciones del String "x" por la variable gx
* @param fx Expresión 1
* @param gx Expresión 2
* @return Devuelve una cadena con la compsición fºg
*/
private static String fog(String fx, String gx) {
return fx.replaceAll("x", "("+gx+")");
}
public static void main(String[] args) {
String fx = "2x";
String gx = "3x+1";
System.out.println("fºg: " + fog(fx, gx) + "\n" +
"gºf: " + fog(gx, fx));
}
}
Espero que te sirva de ayuda la info que te he dado... ah! y un consejillo! cuando pidas ayuda con código no estaría demás darlo tabulado y con comentarios que ayuden a entender qué pretendes hacer ^^ Un saludo!! Última edición por Mortadelo; 29-Nov-2009 a las 01:34 |
| Los siguientes usuarios agradecieron a Mortadelo este mensaje: | ||
Zero-Sama (30-Nov-2009)
| ||
|
||||
|
Zero sama, al ver que si te puede interesar otros lenguajes, creo q por ahi tengo un programa que operaba ya con polinomios (y hacia operaciones con ellos), pero su unica limitacion era que solo servia para polinomios de grado entero (ejem 5.6x^3 - 6x^2 -9.3), y bueno esta hecho en C++ con el paradigma de orientacion a objetos (de hecho fue un problema de sobrecarga de operadores que tenia que resolver), si te interesa te lo puedo pasar por MP
PD respecto a mi blog, ya pronto estare con mas entradas je je, por culpa de la Uni no pude presentar ni publicar cosas (en si es laaaaarga la lista de publicaciones que pienso hacer, asi que no te sorprendas ver muchas publicaciones de apoco je je), mas bien gracias por ser un lector mas
__________________
![]() Spoiler para Para paginas:
|
| Los siguientes usuarios agradecieron a Tailmon este mensaje: | ||
Zero-Sama (30-Nov-2009)
| ||
|
||||
|
como me es costumbre ya di los botoncitos de gracias, pal digimon de decemuladores, espero ver pronto esas entradas jeje, yo tambien entre este semestre a la universidad (mecatronica), y creeme, te entiendo, la carga de trabajo no se compara con la prepa, en cuanto a lo del programa, nescesito, que haga algo, lo que sea pero que tenga que ver con la materia de calculo diferencial, pero veo que se esta complicando bastante, mi programacion es muy basica (lo que llevo aprendido en el semestre), y por eso pense que hacer lo de fog y gof (sin hacer el calculo) seria lo mas facil, pruebo con la ayudita de mortadelo (gracias hombre hace mucho que no veia tan buenas y claras ayudas por aca), y ya vere si sale, muchas gracias chicos, y cualquier cosa posteo por aca.
__________________
the great ruler of zera is here again |
|
||||
|
Enviado por MP el codigo de ese programa que te hablaba (de los polinomios)
ahh y me dio una idea, algo simple podria ser el calculo de limites de funciones, (que no sea el infinito ), pero eso necesita que sepas manejar las bibliotecas matematicas para que no tengas problemas con las funciones digamos en C++ seriaCódigo:
#include <iostream>
#include <math.h>
using namespace std;
double funcion( int x )
{
return pow( x, 4 ) + pow( x, 3 ) - exp( x ); //Seria x^4 + x ^3 - e^x
}
int main()
{
double limite;
cout << "Introduce el valor al que tiende x: ";
cin >> limite;
//Devolvemos el limte con un valor aproximado al valor al que tiened el avariable
cout << "El limite es: " << funcion( limite - 0.000001 ) << endl;
return 0;
}
__________________
![]() Spoiler para Para paginas:
|
| Los siguientes usuarios agradecieron a Tailmon este mensaje: | ||
Zero-Sama (01-Dec-2009)
| ||
![]() |
| (0 miembros y 1 visitantes) | |
| Herramientas | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| [OT] Tutoriales, dudas y problemas Flashcards | Dr. Kusan | Juegos NDS | 2521 | 10-Feb-2012 08:44 |
| [-> Mancifer's Gallery <-] (Actualizada: 17/03/09) | Mancifer | Galerías | 42 | 19-Mar-2009 00:59 |
| Traduccion juegos psx\ps2 | Sr. Goya | PS2 | 2 | 08-Nov-2008 22:02 |
| MiniGuia Harvest Moon DS | Xavi91 | N-DS | 12 | 23-May-2008 22:03 |
| Tutorial, arreglar chars y trucos. | ~Bruno | Mugen | 5 | 21-Jun-2007 05:16 |
|
Torneo DC 2012
|