Java - Cubo de Arreglo Unidimensional

 
Vista:
sin imagen de perfil
Val: 52
Ha aumentado su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Osvaldogonzalez (49 intervenciones) el 26/11/2020 23:04:54
Saludos a todos. Estoy códificando el siguiente enunciado de proyecto en Java, deseo y necesito sus opiniones y criticas sobre lo que estoy haciendo. Éxitos a todos.




/*2.3. Calcular e imprimir el cubo de cada elemento de un arreglo unidimensional de 700 componentes.
Imprimir también cada elemento. El vector se debe ingresar por teclado.*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cubovector;
 
import java.util.Scanner;
 
public class Cubovector {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        double cubo = 0;
        int[] componentes = new int[700];
        for (int i = 0; i < 700; i++) {
 
            componentes[i] = sc.nextInt();
            cubo = (componentes[i] ^ 3);
        }
 
        System.out.println("El cubo de los componentes es: " + cubo);
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 27/11/2020 00:02:01
Es cierto que intentas calcular el cubo en cada vuelta del ciclo, pero solo escribes 1 vez despues que el ciclo se acabo. No es lo que te piden.

Para separar tareas, sugiero hacer estas modificaciones:

- Lee primero todo el arreglo.
- En otro ciclo recorres el arreglo e haces 2 print, uno para el numero, otro para el cubo, a menos que quien te pide que imprimas te pide que imprimas todos los cubos primero y luego todos los numeros. Si es esto ultimo, entonces, un ciclo adicional para escribir lo que no has escrito ya.
- El cubo calculalo asi: valor * valor * valor. El operador ^ es para otra cosa, no es la potencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Osvaldo (49 intervenciones) el 28/11/2020 20:23:21
Gracias por sus consejos. Modifique el código, siempre intento seguir sus consejos. Vuelvo a publicar el resultado a lo cual llegue. Espero nuevamente su aporte. Éxitos.




/*2.3. Calcular e imprimir el cubo de cada elemento de un arreglo unidimensional de 700 componentes.
Imprimir también cada elemento. El vector se debe ingresar por teclado.*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package cubovector;
import java.util.Scanner;
public class Cubovector {
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int cubo;
         int componentes[];
        componentes = new int[700];
         System.out.println("Introducir elemento de arreglo: ");
         for (int i = 0; i < 700; i++) {
              System.out.print("componentes[" + i + "] = ");
                    componentes[i] = sc.nextInt();
         }
              for (int i = 0; i < 700; i++) {
              cubo = (componentes[i] * componentes[i] * componentes[i] );
              System.out.print("Cubo " + cubo);
     }
 }
}



Es es el resultado al ejecutar el código.

run:
Introducir elemento de arreglo:
componentes[0] =
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 29/11/2020 17:38:35
Ingresar 700 numeros por teclado es una tortura que puedes evitar.
Define una constante que valga 700 y usala en todas las partes que dice 700 en tu programa.
Esto te permite cambiar el tamano de los conjuntos que manejas mas facilmente: en 1 sola parte.

Para probar, reemplaza el 700 (de la constante) por 10 o un numero chico y manejable.

Ingresa 10 numeros y comprueba que todo esta bien.
Una vez comprobado, vuelvelo a 700 y dile al profesor que lo pruebe asi, con 700 :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Osvaldo (49 intervenciones) el 01/12/2020 20:47:09
Muchas gracias por su ayuda. Vuelvo a adjuntar mi código y el resultado al ejecutar al cual fui ingresando números. Por favor. Sigo necesitando su ayuda y la de todos. Salud.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package cubovector;
import java.util.Scanner;
public class Cubovector {
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         final int constante = 10;
         int cubo;
         int componentes[];
        componentes = new int[700];
         System.out.println("Introducir elemento de arreglo: ");
         for (int i = 0; i < constante; i++) {
              System.out.print("componentes[" + i + "] = ");
                    componentes[i] = sc.nextInt();
         }
              for (int i = 0; i < constante; i++) {
              cubo = (componentes[i] * componentes[i] * componentes[i] );
              System.out.print(" " +cubo);
     }
 }
}



run:
Introducir elemento de arreglo:
componentes[0] = 1
componentes[1] = 2
componentes[2] = 3
componentes[3] = 4
componentes[4] = 5
componentes[5] = 6
componentes[6] = 7
componentes[7] = 8
componentes[8] = 9
componentes[9] = 10
1 8 27 64 125 216 343 512 729 1000BUILD SUCCESSFUL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 01/12/2020 23:25:13
No parece mal, que falta o que error quieres resolver?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 02/12/2020 04:06:32
Volvi para leer de nuevo.

No deberia haber un 700 en tu programa (linea 9), deberias usar la constante ahi.

Es comun usar SOLO_MAYUSCULAS para las contantes.
Elige un nombre mejor para la constante, no le pongas "constante", ponle TAMANO, SIZE, o algun sinonimo o algo que tenga que ver con lo que la constante guarda.

Cuando ya estes feliz con el programa final, cambias el 10 de la linea 6 por 700, sabiendo que el 700 estara aplicado en todas las partes correctas. Cambiando en algunas partes y en otras no es una invitacion a problemas.

Deberias agregar un ciclo adicional para mostrar el arreglo. Lo que se ve ahora es lo que se ingreso, pero podrias haber guardado otras cosas, si hubieras querido, en el arreglo. Compruebalo agregando un ciclo que muestre los elementos del arreglo. Yo creo que eso te estan pidiendo explicitamente que hagas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Osvaldo (49 intervenciones) el 02/12/2020 20:38:23
Una vez más gracias por su ayuda. Lo volvi a realizar tomando en cuenta sus indicaciones y vuelvo a adjuntar el código y el resultado. Le suplico nuevamente a Usted y a los demás miembros su ayuda, criticas y aportes. Éxitos a todos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package cubovector;
import java.util.Scanner;
public class Cubovector {
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         final int SIZE = 10;
         int cubo;
         int componentes[];
        componentes = new int[10];
         System.out.println("Introducir elemento de arreglo: ");
         for (int i = 0; i < SIZE; i++) {
              System.out.print("SIZE[" + i + "] = ");
                    componentes[i] = sc.nextInt();
         }
              for (int i = 0; i < SIZE; i++) {
              cubo = (componentes[i] * componentes[i] * componentes[i] );
              System.out.print(" " +cubo);
     }
              for (int i = 0; i < SIZE; i++){
                  System.out.print("Arreglo" +componentes[i]);
              }
 }
}


El resultado que me arroja al ejecutar al cual cargo valores.



run:
Introducir elemento de arreglo:
SIZE[0] = 1
SIZE[1] = 2
SIZE[2] = 3
SIZE[3] = 4
SIZE[4] = 5
SIZE[5] = 6
SIZE[6] = 7
SIZE[7] = 8
SIZE[8] = 9
SIZE[9] = 10
1 8 27 64 125 216 343 512 729 1000Arreglo1Arreglo2Arreglo3Arreglo4Arreglo5Arreglo6Arreglo7Arreglo8Arreglo9Arreglo10BUILD SUCCESSFUL (total time: 28 seconds)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 03/12/2020 04:10:05
Sugerencias:

La linea 10, dice 10, usa la constante ahi, para esto la definiste, para cambiarla en 1 parte (linea 6) y que esto haga cambiar todo el resto del programa de manera acorde a esta definicion. No puede haber mas de 1 vez ese numero magico (asi se le llaman a los numeros explicitos en los codigos dificil de saber de que se tratan). Esa unica vez tiene que ser en la definicion de la constante.

Pon un cambio de lineas entre cada impresion
Pon un titulo antes de cada impresion, para que alguien que solo lea la salida sepa que es lo que se esta imprimiendo.
Tambien elimina "Arreglo" de la linea 20, pon un espacio en blanco, como lo haces como los cubos.

Un asunto menor: Quita los tabs de la entrada para que no queden las llaves mal alineadas.

No estoy seguro si hay algo adicional no cubierto aun que buscas como ayuda?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.152
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Rodrigo (576 intervenciones) el 03/12/2020 06:17:47
Volvi para comentar otra cosa adicional que podrias hacer, si quieres, cuando iteras un arreglo puedes hacerlo con un indice, como lo has hecho hasta ahora, o tambien puedes usar una notacion mas compacta que itera sobre los elementos de un arreglo asi:

1
2
3
for (int elemento: componentes) {
      System.out.print(elemento +  " ");
}

Ventajas? No es necesario el indice (i), ni la constante (SIZE). Se trabaja con el elemento mismo, no se requiere usar la notacion con parentesis cuadrado.
Desventajas? Si realmente necesitas el indice, tienes que volver a la notacion usual o usar esta y llevar el contador por fuera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Cubo de Arreglo Unidimensional

Publicado por Osvaldo (49 intervenciones) el 08/12/2020 02:57:25
Una vez más. Gracias por la ayuda. Adjunto el código según las correcciones que pude realizar. No supe como utilizar la constante en la linea 10 ni tampoco en la línea 6. Por favor si puede indicarme como realizarlo. Éxitos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cubovector;
import java.util.Scanner;
public class Cubovector {
     public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        final int SIZE = 10;
        int cubo;
        int componentes[];
        componentes = new int[10];
         System.out.println("Introducir elemento de arreglo:\n ");
 
         for (int i = 0; i < SIZE; i++) {
              System.out.print("SIZE[" + i + "] =\n ");
                    componentes[i] = sc.nextInt();
         }
              for (int i = 0; i < SIZE; i++) {
              cubo = (componentes[i] * componentes[i] * componentes[i] );
              System.out.print(" " +cubo);
     }
              for (int i = 0; i < SIZE; i++){
                  System.out.print("\n" +componentes[i]);
              }
 }
}

Este es el resultado que me arroja:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar