Java - Arreglos Paralelos

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

Arreglos Paralelos

Publicado por Javier (11 intervenciones) el 10/12/2018 02:01:37
ALGUIEN ME PUEDE AYUDAR ...



escribir un programa que permita leer nombre de personas y calificaciones que se almacenara en 2 arreglos paralelos.
El programa deberá ordenar los datos por orden alfabético y posteriormente buscar un nombre mostrandolo con su calificación.
(este es un ejemplo de como debe salir cada vez que se busque un nombre)
ana | 7|
pedrín |9|
justo |7|

si el nombre no aparece, debe salir un mensaje de error
System.out.println("el nombre no está en el arreglo");
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

Arreglos Paralelos

Publicado por Kabuto (1381 intervenciones) el 10/12/2018 12:25:29
Comienza a escribir un código tuyo propio.
Ves por partes, olvídate ahora de ordenar arreglos.

Simplemente haz un programa que pida nombres y calificaciones y guarde cada dato en su correspondiente arreglo.

Cuando tengas eso, a partir de ahí podemos ver como ordenar los arreglos de forma paralela
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

Arreglos Paralelos

Publicado por Billy Joel (875 intervenciones) el 10/12/2018 17:54:05
Yo creo que el objetivo de este ejercicio es aplicar un algoritmo de ordenamiento.
Aquí puedes consultar algunos de los algoritmos que existen (Aunque siempre puedes venir tu e inventarte el tuyo XD)
https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento

Yo vi la animacióni del ordenamiento por burbuja y se me ocurrió hacer mi propia versión XD.
1
2
3
4
5
6
7
8
9
10
11
public static void ordenamientoBurbuja(String[] nombres) {
    for (int i = nombres.length - 1; i > 0; i--) {
        for (int j = 0; j < i; j++) {
            if (j + 1 <= i && nombres[j].compareTo(nombres[j + 1]) > 0) {
                String aux = nombres[j];
                nombres[j] = nombres[j + 1];
                nombres[j + 1] = aux;
            }
        }
    }
}

- Lo primero que debes hacer es leer la cantidad de estudiantes que el programa va a leer.
- Sabiendo la cantidad de estudiantes entonces ya podríamos inicializar los vectores de nombres y calificaciones
- Ya inicializados los vectores, entonces se procede a leer los nombres + calificaciones
- Con los nombres y calificaciones leidos viene lo realmente interesante, el ordenamiento. Y como se que esta es la parte importante del asunto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void ordenamientoVectores(String[] nombres, int[] calificaciones) {
    for (int i = nombres.length - 1; i > 0; i--) {
        for (int j = 0; j < i; j++) {
            if (j + 1 <= i && nombres[j].compareTo(nombres[j + 1]) > 0) {
                String aux = nombres[j];
                int iux = calificaciones[j];
                nombres[j] = nombres[j + 1];
                calificaciones[j] = calificaciones[j + 1];
                nombres[j + 1] = aux;
                calificaciones[j + 1] = iux;
            }
        }
    }
}

Esa debe ser la solución a tu problema. Ya lo que hace falta sería mostrar el contenido de los vectores:
1
2
3
for (int i = 0; i < cantidad; i++) {
    System.out.println(i + "\t->\t" + nombres[i] + ": " + calificaciones[i]);
}

PD: Los objetos pasan por referencia, quiero decir que los vectores que le envíes al método serán afectados.

Espero haberte ayudado, si tienes alguna duda solo escribe
Saludos,
;-)
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