Vectores (mayor y menor elemento)
Es una actividad común la búsqueda del mayor y menor elemento de un vector, lo mismo que su posición.
El mayor elemento es el 820 y se encuentra en la posición nº 2.
Problema 1:
Confeccionar un programa que permita cargar los nombres de 5
operarios y sus sueldos respectivos. Mostrar el sueldo mayor y el nombre
del operario.
Programa:
import java.util.Scanner; public class PruebaVector11 { private Scanner teclado; private String[] nombres; private float[] sueldos; public void cargar() { teclado=new Scanner(System.in); nombres=new String[5]; sueldos=new float[5]; for(int f=0;f<nombres.length;f++) { System.out.print("Ingrese el nombre del empleado:"); nombres[f]=teclado.next(); System.out.print("Ingrese el sueldo:"); sueldos[f]=teclado.nextFloat(); } } public void mayorSueldo() { float mayor; int pos; mayor=sueldos[0]; pos=0; for(int f=1;f<nombres.length;f++) { if (sueldos[f]>mayor) { mayor=sueldos[f]; pos=f; } } System.out.println("El empleado con sueldo mayor es "+nombres[pos]); System.out.println("Tiene un sueldo:"+mayor); } public static void main(String[] ar) { PruebaVector11 pv=new PruebaVector11(); pv.cargar(); pv.mayorSueldo(); } }
Definimos los dos vectores paralelos donde almacenaremos los nombres y los sueldos de los operarios:
private String[] nombres; private float[] sueldos;
Creamos los dos vectores y procedemos a cargar sus elementos:
nombres=new String[5]; sueldos=new float[5]; for(int f=0;f<nombres.length;f++) { System.out.print("Ingrese el nombre del empleado:"); nombres[f]=teclado.next(); System.out.print("Ingrese el sueldo:"); sueldos[f]=teclado.nextFloat(); }
Para obtener el mayor sueldo y el nombre del operario realizar los siguientes pasos:
Inicializamos una variable mayor con la primer componente del vector sueldos:
Inicializamos una variable mayor con la primer componente del vector sueldos:
mayor=sueldos[0];
Inicializamos una variable pos con el valor 0, ya que decimos primeramente que el mayor es la primer componente del vector:
pos=0;
Recorremos las componentes del vector que faltan analizar, o sea, de la 1 a la 4:
for(int f=1;f<nombres.length;f++) {
Accedemos a cada componente para controlar si supera lo que tiene la variable mayor:
if (sueldos[f]>mayor) {
En caso de ser verdadera la condición asignamos a la variable mayor este nuevo valor sueldos[f]
mayor=sueldos[f];
y a la variable pos le cargamos la variable f que indica la componente que estamos analizando:
pos=f
Cuando salimos de la estructura repetitiva imprimimos la variable
mayor que contiene el mayor sueldo y para imprimir el nombre del
operario conociendo la posición del mayor sueldo imprimimos el elemento
que ocupa la posición que indica la variable pos en el vector paralelo:
System.out.println("El empleado con sueldo mayor es "+nombres[pos]); System.out.println("Tiene un sueldo:"+mayor);
No hay comentarios.:
Publicar un comentario