Título: RETO solvedor sistemas de ecuaciones (con solución)[JAVA]
Publicado por: trolleoatodos en 22 Agosto 2013, 21:19 pm
El reto consist en programar en una clase java,el código lo saqué en una tarde ,lo que se pide es que resuelva sistemas de ecuaciones lineales y que las soluciones puedan ser una negativa o dos positvas o dos negativas http://www.vadenumeros.es/tercero/sistemas-de-ecuaciones.htm (http://www.vadenumeros.es/tercero/sistemas-de-ecuaciones.htm) Y claro está tienen dos incógnitas x e y,que llegan hasta 19 , aunque se pued kmbiar Y aquí va la solución import java.io.BufferedReader; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader;
public class ekuations { public static void main(String[] args)throws IOException{ int u; int d; int t; int u1; int d1; int t1; System.out.println("===============Nukemsolver v0.1=================="); System.out.println("===============Licencia creative commons========="); System.out.println("===============created por valium7==============="); System.out.println("Introduzca var x"); u =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Introduzca var y"); d =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Introduzca var result"); t =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Ecuation introducida "+ u+"x" + " " +d+"y"+"="+t+ " Introduzca ahora la 2da "); System.out.println("Introduzca var x"); u1 =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Introduzca var y"); d1 =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Introduzca var result"); t1 =Integer.parseInt( new BufferedReader(new InputStreamReader(System.in)).readLine()); System.out.println("Ecuation introducida "+ u1+"x" + " " +d1+"y"+"="+t1 ); for (double i =1;i<21;i++){ //COMPROBACIÓN i-=1; i =aniadir(i); for (double i1=0;i1<21;i1++){ double fatemp[]; i1-=1; // System.out.println("USados "+i+" "+i1); i1 =aniadir(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System.out.println("¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i+ " e y igual a "+i1); break;} } } } for (double i =1;i<20;i++){ //SEGUNDA COMPROBACIÓN i-=1; i=aniadir(i); for (double i1=0;i1>-20;i1--){ double fatemp[]; i1+=1; // System.out.println("USados "+i+" "+i1); i1 =aniadirminus(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System.out.println("1¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i+ " e y igual a "+i1); break;} } } } for (double i =1;i>-20;i--){ // TERCERA COMPROBACIÓN i+=1; i=aniadirminus(i); for (double i1=0;i1<20;i1++){ double fatemp[]; i1-=1; // System.out.println("USados "+i+" "+i1); i1 =aniadir(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System.out.println("2¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i+ " e y igual a "+i1); break;} } } } for (double i =1;i>-20;i--){//CUARTA COMPROBACIÓN i+=1; i=aniadirminus(i); for (double i1=0;i1>-20;i1--){ double fatemp[]; i1+=1; // System.out.println("USados "+i+" "+i1); i1 =aniadirminus(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System.out.println("T¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i+ " e y igual a "+i1); break;} } } } } public static double aniadir(double a){ //Añadimos mitad a positivos double mitad= 0.5; double b = a + mitad; // System.out.println("float obtenido "+b); return b; } public static double aniadirminus(double a){//Añadimos mitad a negativs double mitad= -0.5; double b = a + mitad; // System.out.println("float obtenido "+b); return b; } public static double[] math(double a , double b ,double operar,double operar1){ double result = 0; double result1 = 0; result= a*operar; result1= b*operar1; double[] resultotal={result,result1}; return resultotal; } public static boolean verificar(double x,double y,int xotra, int yotra,int resultotra){ boolean tilt =false; if(xotra*x+(yotra*y)==resultotra){tilt=true;} return tilt; } }
Título: Re: RETO solvedor sistemas de ecuaciones (con solución)[JAVA]
Publicado por: trolleoatodos en 30 Agosto 2013, 04:21 am
¿nadie ? jajajja mortales
Título: Re: RETO solvedor sistemas de ecuaciones (con solución)[JAVA]
Publicado por: Alien-Z en 30 Agosto 2013, 12:27 pm
¡Buen trabajo!. Un par de recomendaciones: El código queda más comprensible de cara a otros programadores cuando la información tiene identificadores significativos, en las variables de tu código hay que volver arriba varias veces para saber qué era exactamente cada dato. Y para esto: for (double i =1;i<21;i++){ //COMPROBACIÓN i-=1; i =aniadir(i); for (double i1=0;i1<21;i1++){ double fatemp[]; i1-=1; // System.out.println("USados "+i+" "+i1); i1 =aniadir(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System. out. println("¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i + " e y igual a "+i1 ); break;} } } } for (double i =1;i<20;i++){ //SEGUNDA COMPROBACIÓN i-=1; i=aniadir(i); for (double i1=0;i1>-20;i1--){ double fatemp[]; i1+=1; // System.out.println("USados "+i+" "+i1); i1 =aniadirminus(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System. out. println("1¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i + " e y igual a "+i1 ); break;} } } } for (double i =1;i>-20;i--){ // TERCERA COMPROBACIÓN i+=1; i=aniadirminus(i); for (double i1=0;i1<20;i1++){ double fatemp[]; i1-=1; // System.out.println("USados "+i+" "+i1); i1 =aniadir(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System. out. println("2¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i + " e y igual a "+i1 ); break;} } } } for (double i =1;i>-20;i--){//CUARTA COMPROBACIÓN i+=1; i=aniadirminus(i); for (double i1=0;i1>-20;i1--){ double fatemp[]; i1+=1; // System.out.println("USados "+i+" "+i1); i1 =aniadirminus(i1); fatemp =math(u,d,i,i1); if (fatemp[0]+fatemp[1]==t){ if(verificar(i,i1,u1,d1,t1)){ System. out. println("T¡Bingo!,¡Bango!,¡Bongo! , x igual a "+i + " e y igual a "+i1 ); break;} } } } }
¿Por qué no haces otro bucle anidado en vez de escribir 4 veces el mismo código?. Un saludo.
Título: Re: RETO solvedor sistemas de ecuaciones (con solución)[JAVA]
Publicado por: trolleoatodos en 2 Septiembre 2013, 13:35 pm
gracias,¿un bucl anidado? no sé mi cerebro dió con la solución que vistes ,nada masxD
|