Autor Tema: Cómo operar números de un arreglo

0 Usuarios y 1 Visitante están viendo este tema.

20 Agosto, 2015, 11:01 am
Respuesta #10

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 12,032
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino

la resta debería ser -23, pero está iniciando con el 0...

Hola. En resta, define  “resta = matricula [ 0 ] ”, de esta forma te irá restando al primer elemento de la lista (o sea, 2 en este caso) los demás; y te dará -23. Creo que eso es lo que quieres, si estoy entendiendo, que no estoy seguro.

Saludos.

Bueno, ahora que lo pienso si haces eso te empieza restando 2-2 no 2-1. Para que te reste el siguiente pudes cambiar la línea de ejecución del bucle por

resta=resta-matricula[i+1]

con un condicional "if" antes para que cuando llegue al último no se produzca un error





Pones la sentencia de la resta la última y delante el condicional

if (i+1 == matricula.length) {break};

supongo que funcionará, ejecutará todas las demás menos ésa última, así no se ejecuta par i+1
 

(Ingamrov ya había dicho lo mismo que yo en cuanto a lo de la inicialización, no había leído)




21 Agosto, 2015, 01:23 am
Respuesta #11

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Spoiler

la resta debería ser -23, pero está iniciando con el 0...

Hola. En resta, define  “resta = matricula [ 0 ] ”, de esta forma te irá restando al primer elemento de la lista (o sea, 2 en este caso) los demás; y te dará -23. Creo que eso es lo que quieres, si estoy entendiendo, que no estoy seguro.

Saludos.

Bueno, ahora que lo pienso si haces eso te empieza restando 2-2 no 2-1. Para que te reste el siguiente pudes cambiar la línea de ejecución del bucle por

resta=resta-matricula[i+1]

con un condicional "if" antes para que cuando llegue al último no se produzca un error





Pones la sentencia de la resta la última y delante el condicional

if (i+1 == matricula.length) {break};

supongo que funcionará, ejecutará todas las demás menos ésa última, así no se ejecuta par i+1
 
[cerrar]
(Ingamrov ya había dicho lo mismo que yo en cuanto a lo de la inicialización, no había leído)



[/color]

Bueno feriva, al menos ya no me siento tan solo de haber sido ignorado en esta sugerencia.  ;D ;D ;D
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

21 Agosto, 2015, 03:03 am
Respuesta #12

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 12,032
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino


Bueno feriva, al menos ya no me siento tan solo de haber sido ignorado en esta sugerencia.  ;D ;D ;D

Es que me salto cosas al leer porque veo menos que un galápago en lejía  8^) (es una frase de un humorista español :D )

21 Agosto, 2015, 07:32 am
Respuesta #13

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
De acuerdo, tienes razón. Bien, la suma y la multiplicación están perfectas, la división lógicamente no me permitía correr el programa por el error del 0 así que lo quité, de todas maneras me envía un resultado erróneo al igual que la resta, este es el code:

Código: [Seleccionar]
class operaciones {
  public static void main(String[] args){
   
    int matricula[] = {2,1,4,2,1,9,5,3};
    int suma = 0;
    int resta = 0;
    int multi = 1;
    int div = 1;

    for(int i=0;i<matricula.length;i++){

           suma=suma+matricula[i];
           resta=resta-matricula[i];
   multi=multi*matricula[i];
           div=div/matricula[i];

    }

    System.out.println("La suma es igual a: " +suma);
    System.out.println("La resta es igual a: " +resta);
    System.out.println("La multiplicacion es igual a: " +multi);
    System.out.println("La division es igual a: " +div);

   }
}

los resultados son:
27
-27
2160
0

la resta debería ser -23, pero está iniciando con el 0 que declaré arriba, el problema es que si quito ese valor de resta me manda error, osea, si lo dejo int resta; me dice que no está declarado. Lo de la división no se por qué me da 0...

La división es entera, sin decimales.
Si divides 1 por cualquier número mayor, te da 0.
A partir de ahí, las demás divisiones todas darán 0.

22 Agosto, 2015, 10:12 pm
Respuesta #14

Antoniio

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 261
  • Karma: +0/-0
  • Sexo: Masculino
En efecto, gracias!, así quedó el código:

Código: [Seleccionar]
class operaciones {
  public static void main(String[] args){
   
    int matricula[] = {2,1,4,2,0,1,9,5,3};
    int suma=matricula[0], resta=matricula[0], multi=matricula[0];
    float div=matricula[0];

    for(int i=1;i<matricula.length;i++){

if (matricula[i]==0){matricula[i]=-1;}

           suma=suma+matricula[i];
           resta=resta-matricula[i];
   multi=multi*matricula[i];
           div=div/matricula[i];

    }
    System.out.println("La matricula es: (2,1,4,2,0,1,9,5,3) ");
    System.out.println("La suma es igual a: " +suma);
    System.out.println("La resta es igual a: " +resta);
    System.out.println("La multiplicacion es igual a: " +multi);
    System.out.println("La division es igual a: " +div);


   }
}

Perfecto y andando :3