Listado completo de tutoriales
19 - 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.
Confeccionar un programa que permita cargar los nombres de 5 operarios y sus sueldos respectivos. Mostrar el sueldo mayor y el nombre del operario.
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:
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);
import java.util.Scanner;
public class PruebaVector12 {
private Scanner teclado;
private int []vec;
private int menor;
public void cargar() {
teclado=new Scanner(System.in);
System.out.print("Cuantos elementos desea cargar:");
int n=teclado.nextInt();
vec=new int[n];
for(int f=0;f<vec.length;f++) {
System.out.print("Ingrese componente:");
vec[f]=teclado.nextInt();
}
}
public void menorElemento() {
menor=vec[0];
for(int f=1;f<vec.length;f++) {
if (vec[f]<menor) {
menor=vec[f];
}
}
System.out.println("El elemento menor es:"+menor);
}
public void repiteMenor() {
int cant=0;
for(int f=0;f<vec.length;f++) {
if (vec[f]==menor) {
cant++;
}
}
if (cant>1) {
System.out.println("Se repite el menor en el vector.");
} else {
System.out.println("No se repite el menor en el vector.");
}
}
public static void main(String[] ar) {
PruebaVector12 pv=new PruebaVector12();
pv.cargar();
pv.menorElemento();
pv.repiteMenor();
}
}