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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: Tengo un problema con eclipse en: 2 Octubre 2011, 04:48 am
muchas gracias, s00rk
no se si el codigo me funcionara, pues antes de mirar el foro de nuevo se me ha ocurrido una forma usando las pocas herramientas que aunque seguramente mi codigo sea mucho mas largo que el tuyo XD

bueno aqui esta ( he cambiado las variables para que sean mas facieles de entender XD):
Citar
/*Realizar un programa, que proporcionando una cantidad de euros, te diga cual es la menor cantidad de billetes y monedas que se debe usar para cubrir dicha cantidad de euros*/

public class ejercicio_1 {
   
      public static void main(String[] args) {
      
      double x = 888.88, z, e, c;
      z= x-(int)x;
      e = (int) x;
      c = z * 100;
      
      
      int quinientos1, quinientos2, doscientos1, doscientos2, cien1, cien2, cincuenta1, cincuenta2, veinte1, veinte2, diez1, diez2, cinco1, cinco2, dos1, dos2, uno1;
      quinientos1 = (int) e / 500;
      quinientos2 = (int) e % 500;
      doscientos1 = quinientos2 / 200;
      doscientos2 = quinientos2 % 200;
      cien1 = doscientos2 / 100;
      cien2 = doscientos2 % 100;
      cincuenta1 = cien2 / 50;
      cincuenta2 = cien2 % 50;
      veinte1 = cincuenta2 / 20;
      veinte2 = cincuenta2 % 20;
      diez1 = veinte2 / 10;
      diez2 = veinte2 % 10;
      cinco1 = diez2 / 5;
      cinco2 = diez2 % 5;
      dos1 = cinco2 / 2;
      dos2 = cinco2 % 2;
      uno1 = dos2 / 1;
      int cincuenta3, cincuenta4, veinte3, veinte4, diez3, diez4, cinco3, cinco4, dos3, dos4, uno2;
      
      cincuenta3 = (int) c / 50;
      cincuenta4 = (int) c % 50;
      veinte3 = cincuenta4 / 20;
      veinte4 = cincuenta4 % 20;
      diez3 = veinte4 / 10;
      diez4 = veinte4 % 10;
      cinco3 = diez4 / 5;
      cinco4 = diez4 % 5;
      dos3 = cinco4 / 2;
      dos4 = cinco4 % 2;
      uno2= dos4/ 1;
      System.out.println("en " + x + " euros hay:");
      double j3,k3,l3,m3,n3,ñ2, ñ1;
      j3=cincuenta3;k3=veinte3;l3=diez3;m3=cinco3;n3=dos3;ñ2=uno2;
      ñ1=((j3*50)+(k3*20)+(l3*10)+(m3*5)+(n3*2)+(ñ2*1))/100;
      if ((ñ1+e)<x){
         x=x+0.01;
         z= x-(int)x;
         c = z * 100;
            
         cincuenta3 = (int) c / 50;
         cincuenta4 = (int) c % 50;
         veinte3 = cincuenta4 / 20;
         veinte4 = cincuenta4 % 20;
         diez3 = veinte4 / 10;
         diez4 = veinte4 % 10;
         cinco3 = diez4 / 5;
         cinco4 = diez4 % 5;
         dos3 = cinco4 / 2;
         dos4 = cinco4 % 2;
         uno2 = dos4 / 1;
         }
      else{}
      
      System.out.println(quinientos1 + " billetes de 500€");
      System.out.println(doscientos1 + " billetes de 200€");
      System.out.println(cien1 + " billetes de 100€");
      System.out.println(cincuenta1 + " billetes de 50€");
      System.out.println(veinte1 + " billetes de 20€");
      System.out.println(diez1 + " billetes de 10€");
      System.out.println(cinco1 + " billetes de 5€");
      System.out.println(dos1 + " monedas de 2€");
      System.out.println(uno1 + " monedas de 1€");
      System.out.println(cincuenta3 + " monedas de 50 cent");
      System.out.println(veinte3 + " monedas de 20 cent");
      System.out.println(diez3 + " monedas de 10 cent");
      System.out.println(cinco3 + " monedas de 5 cent");
      System.out.println(dos3 + " monedas de 2 cent");
      System.out.println("y " +uno2+" monedas de 1 cent");
   }

}
el resultado de esta forma ya me da bien, he posteado para agradecer la ayuda y para proporcionar alguna ayuda a algun novato como yo que no entienda para que sirven la mitad de las cosas XD
2  Programación / Java / Re: Tengo un problema con eclipse en: 2 Octubre 2011, 03:45 am
El caso es que me da el mismo problema si pongo,por ejemplo: x=#.80

(Pongo # porque la parte euro no me da errores sin importar la cifra)

En el caso de #.80, me pone una de 50 cent, una de 20 cent, (se salta la de 10 cent) y me pone una de 5 cent y 2 de 2 cent
En total 79 cent en vez de 80, y hay el resto no llega a ser igual a 2, y de todos modos m2 en el caso anterior valia 3, el resto de 8/5 es 3 o al menos eso deberia dar si hacemos todas las cuentas a mano, con esas mismas variables, asi que creo que el problema esta en z=x-(int)x, que no da los decimales que aparecen sino por ejemplo, 0.87999999955, en ese caso la variable c es 87 en vez de 88 como deberia ser y hay esta la raiz del problema, creo, pero el caso es que no se como solucionarlo si me podeis ayudar a solucionarlo estaria eternamente

agradecido con el que me haya ayudado

de todas formas muchas gracias por el intento XD
3  Programación / Java / Re: Tengo un problema con eclipse en: 2 Octubre 2011, 02:14 am
una cosa, acabo de leer unos temas y me he dado cuenta que, no he puesto de mi parte al poner, por ejemplo "a1" en vez de "quinientos" en el "int" y en el resto de las cosas, y tambien siento no haber enmarcado los codigos y los resultados, pero es que no se como hacerlo y tampoco se como hacer que dandole por ejemplo pestaña (codigo) aparezca el codigo, (para asi reducir el tamaño del mensaje).
4  Programación / Java / Tengo un problema con eclipse en: 2 Octubre 2011, 01:39 am
bueno tngo un problema con la ejecucion de un programa que he echo y no consigo solucionarlo. Si alguien me puede ayudar se lo agradeceria mucho, llevo como una semana pensando en esto y no hay manera (tambien es cierto que llevo usando eclipse solo unas 2 semanas y que antes no he tocado programacion para nada).
Bueno aqui esta el codigo del programa:



/*Realizar un programa, que proporcionando una cantidad de euros, te diga cual es la menor cantidad de billetes y monedas que se debe usar para cubrir dicha cantidad de euros*/
public class ejercicio_1 {   

      public static void main(String[] args) {   
   
      double x = 888.88/*cantidad de euros proporcionada*/, z, e, c;
      z= x-(int)x;
      e = (int) x;
      c = z * 100;      
      
      int a1, a2, b1, b2, c1, c2, d1, d2, e1, e2, f1, f2, g1, g2, h1, h2, i1;
      a1 = (int) e / 500;
      a2 = (int) e % 500;
      b1 = a2 / 200;
      b2 = a2 % 200;
      c1 = b2 / 100;
      c2 = b2 % 100;
      d1 = c2 / 50;
      d2 = c2 % 50;
      e1 = d2 / 20;
      e2 = d2 % 20;
      f1 = e2 / 10;
      f2 = e2 % 10;
      g1 = f2 / 5;
      g2 = f2 % 5;
      h1 = g2 / 2;
      h2 = g2 % 2;
      i1 = h2 / 1;
     //billetes y monedas de euro

      int j1, j2, k1, k2, l1, l2, m1, m2, n1, n2, ñ;
      j1 = (int) c / 50;
      j2 = (int) c % 50;
      k1 = j2 / 20;
      k2 = j2 % 20;
      l1 = k2 / 10;
      l2 = k2 % 10;
      m1 = l2 / 5;
      m2 = l2 % 5;
      n1 = m2 / 2;
      n2 = m2 % 2;
      ñ = n2 / 1;
      //centimos

      System.out.println("en " + x + " euros hay:");
      System.out.println(a1 + " billetes de 500€");
      System.out.println(b1 + " billetes de 200€");
      System.out.println(c1 + " billetes de 100€");
      System.out.println(d1 + " billetes de 50€");
      System.out.println(e1 + " billetes de 20€");
      System.out.println(f1 + " billetes de 10€");
      System.out.println(g1 + " billetes de 5€");
      System.out.println(h1 + " monedas de 2€");
      System.out.println(i1 + " monedas de 1€");
      System.out.println(j1 + " monedas de 50 cent");
      System.out.println(k1 + " monedas de 20 cent");
      System.out.println(l1 + " monedas de 10 cent");
      System.out.println(m1 + " monedas de 5 cent");
      System.out.println(n1 + " monedas de 2 cent");
      System.out.println("y " +ñ +" monedas de 1 cent");
   }

}



y aqui esta el resultado:



en 888.88 euros hay:
1 billetes de 500€
1 billetes de 200€
1 billetes de 100€
1 billetes de 50€
1 billetes de 20€
1 billetes de 10€
1 billetes de 5€
1 monedas de 2€
1 monedas de 1€
1 monedas de 50 cent
1 monedas de 20 cent
1 monedas de 10 cent
1 monedas de 5 cent
1 monedas de 2 cent
y 0 monedas de 1 cent


como veis me quita un centimo, pero eso solo pasa con algunas cifras, por ejemplo, con 888,70, me lo da bien, y me gustaria solucionar el problema, por favor ayudarme o me volvere loco.

Pd: creo que el problema esta en el redondeo de decimales, que no lo haga bien tras la separacion de la parte entera y la decimal.

Muchas gracias por adelantado
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines