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.
#include<iostream>
using namespace std;
class SueldoOperarios {
private:
char nombres[5][40];
float sueldos[5];
public:
void cargar();
void mayorSueldo();
};
void SueldoOperarios::cargar()
{
for(int f=0;f < 5;f++)
{
cout <<"Ingrese el nombre del empleado:";
cin.getline(nombres[f],40);
cout <<"Ingrese el sueldo:";
cin >>sueldos[f];
cin.get();
}
}
void SueldoOperarios::mayorSueldo()
{
float mayor;
int pos;
mayor=sueldos[0];
pos=0;
for(int f=1;f < 5;f++)
{
if (sueldos[f] > mayor)
{
mayor=sueldos[f];
pos=f;
}
}
cout <<"El empleado con sueldo mayor es ";
cout <<nombres[pos];
cout <<"\n";
cout <<"Tiene un sueldo:";
cout <<mayor;
cin.get();
}
int main()
{
SueldoOperarios so;
so.cargar();
so.mayorSueldo();
return 0;
}
Este proyecto lo puede descargar en un zip desde este enlace : VectoresMayorMenor
En la clase SueldoOperarios definimos los dos vectores paralelos donde almacenaremos los nombres y los sueldos de los operarios:
class SueldoOperarios {
private:
char nombres[5][40];
float sueldos[5];
En el método cargar inicializamos sus elementos:
void SueldoOperarios::cargar()
{
for(int f=0;f < 5;f++)
{
cout <<"Ingrese el nombre del empleado:";
cin.getline(nombres[f],40);
cout <<"Ingrese el sueldo:";
cin >>sueldos[f];
cin.get();
}
}
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 < 5;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:
cout <<"El empleado con sueldo mayor es ";
cout <<nombres[pos];
cout <<"\n";
cout <<"Tiene un sueldo:";
cout <<mayor;
#include<iostream>
using namespace std;
class BusquedaMenor {
private:
int vec[5];
int menor;
public:
void cargar();
void menorElemento();
void repiteMenor();
};
void BusquedaMenor::cargar()
{
for(int f=0;f < 5;f++)
{
cout <<"Ingrese componente:";
cin >>vec[f];
}
}
void BusquedaMenor::menorElemento()
{
menor=vec[0];
for(int f=1;f < 5;f++)
{
if (vec[f] < menor)
{
menor=vec[f];
}
}
cout <<"El elemento menor es:";
cout <<menor;
cout <<"\n";
}
void BusquedaMenor::repiteMenor()
{
int cant=0;
for(int f=0;f < 5;f++)
{
if (vec[f]==menor)
{
cant++;
}
}
if (cant > 1)
{
cout <<"Se repite el menor en el vector.";
}
else
{
cout <<"No se repite el menor en el vector.";
}
cin.get();
cin.get();
}
int main()
{
BusquedaMenor bm;
bm.cargar();
bm.menorElemento();
bm.repiteMenor();
return 0;
}
Este proyecto lo puede descargar en un zip desde este enlace :VectoresMenor