Java - AYUDA EXAMEN ARREGLO

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

AYUDA EXAMEN ARREGLO

Publicado por Octavio (4 intervenciones) el 11/12/2018 23:42:07
Buenas tardes a todos, agradecería enormemente su ayuda para resolver este programa.


Almacenar en un arreglo de tamaño N, valores comprendidos entre 10 y 80, mientras no se tecleé el 100. Es decir, con el número 100 se dejan de solicitar valores.
Validar porque el arreglo aún tenga espacio.
El programa no debe permitir números repetidos y si se repiten, estos se deberán almacenar en otro arreglo, además se calculará el promedio de los números que ocupan las posiciones impares en el arreglo y la sumatoria de todos los números capturados.
Mostrar como salida, el contenido de los dos arreglos y el resultado de los cálculos hechos.
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

AYUDA EXAMEN ARREGLO

Publicado por Kabuto (1382 intervenciones) el 12/12/2018 00:37:35
Hola.
Muestranos un código empezado por tí, y a partir de el te vamos ayudando a completarlo.

Empieza simplificando el ejercicio. Olvídate de momento de si hay numeros repetidos, calcular promedios de impares, etc...
Simplemente haz un ejercicio que pida numeros y los guarde en el arreglo, hasta que el usuario teclee 100.

Cuando tengas eso, haz que solo acepte valores entre 10 y 80.

Luego piensa en lo de comprobar si hay repetidos y guardarlos en otro arreglo.

Luego en calcular el promedio de los impares.

Luego al sumatoria...

Es decir, no intentes conseguirlo TODO de golpe a la primera.
Divide el programa en pequeños objetivos para ir conquistándolos poco a poco, uno a uno.
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: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

AYUDA EXAMEN ARREGLO

Publicado por Octavio (4 intervenciones) el 12/12/2018 05:56:47
Adjunto lo que pude hacer de codigo, no me marca errores de compilaciòn sin embargo el programa no cumple la funciòn(no entra en el ciclo para realizar todos los calculos).
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 Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

AYUDA EXAMEN ARREGLO

Publicado por Billy Joel (875 intervenciones) el 12/12/2018 15:59:26
Cuando vi tu código me asusté y no lo quice entender así que mejor lo hago con el enunciado y lo resuelvo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class ExamenOctavio {
 
    public static void main(String[] args) throws IOException, NumberFormatException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Introduzca el tamaño del arreglo: ");
        int[] arreglo = new int[Integer.parseInt(br.readLine())];
        String numerosRepetidos = "";
        boolean isRepetido;
        int numero, sumatoria, contadorPromedio, iMax;
        double promedio;
        promedio = iMax = contadorPromedio = sumatoria = 0;
        for (int i = 0; i < arreglo.length; i++) {
            iMax = i;
            System.out.println("Introduzca un número entre 10 y 80 para la posición " + i + ":");
            numero = Integer.parseInt(br.readLine());
            if (numero == 100) {
                break;
            } else if (numero >= 10 && numero <= 80) {
                isRepetido = false;
                for (int j = 0; j < i; j++) {
                    if (arreglo[j] == numero) {
                        isRepetido = true;
                        numerosRepetidos += numerosRepetidos.isEmpty() ? numero : "," + numero;
                        break;
                    }
                }
                if (isRepetido) {
                    i--;
                } else {
                    arreglo[i] = numero;
                    sumatoria += numero;
                    promedio += i % 2 == 1 ? numero : 0;
                    contadorPromedio += i % 2 == 1 ? 1 : 0;
                }
 
            } else {
                System.out.println("Numero fuera de rango, vuelva a intentarlo");
                i--;
            }
        }
        //Ahora mostramos los resultados
        if (!numerosRepetidos.isEmpty()) {
            String[] repetidos = numerosRepetidos.split(",");
            int[] arregloRepetido = new int[repetidos.length];
            for (int i = 0; i < arregloRepetido.length; i++) {
                arregloRepetido[i] = Integer.parseInt(repetidos[i]);
            }
            int sumatoriaRepetidos = 0;
            int contadorImparesRepetidos = 0;
            double promedioRepetidos = 0;
            System.out.println("\n\n\nLos números que se repitieron son:");
            for (int i = 0; i < arregloRepetido.length; i++) {
                System.out.println(i + ":\t" + arregloRepetido[i]);
                sumatoriaRepetidos += arregloRepetido[i];
                contadorImparesRepetidos += i % 2 == 1 ? 1 : 0;
                promedioRepetidos += i % 2 == 1 ? arregloRepetido[i] : 0;
            }
            System.out.println("Sumatoria de los números repetidos: " + sumatoriaRepetidos);
            System.out.println("El promedio de números impares del arreglo repetido es: " + (promedioRepetidos / contadorImparesRepetidos));
            System.out.println("-------------------------------------------------");
        }
        System.out.println("Los números del arreglo son: ");
        for (int i = 0; i < iMax; i++) {
            System.out.println(i + ":\t" + arreglo[i]);
        }
        System.out.println("La sumatoria del arreglo: " + sumatoria);
        System.out.println("El promedio de los números de las posiciones impares del arreglo: " + (promedio / contadorPromedio));
    }
}

Pruebalo y me comentas
;-)
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: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

AYUDA EXAMEN ARREGLO

Publicado por Octavio (4 intervenciones) el 12/12/2018 19:13:02
Funciono a la perfección MUCHAS Gracias, solo una cosa, lo analice con detenimiento y observe que hay muchos comando avanzados.

Hace un rato un amigo mio me ayudo a acomodar el programa que tenía, ahora FUNCIONA, solo que ahora no se como hacer el diagrama de flujo.
Adjunto el programa
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