![]() Directorio WAP para móvil, Tablet, iPhone o Smartphone Centro de Noticias de la Universidad de Oriente |
|
|
||
lunes julio 11, 2016 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:#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 <<""; cout <<"Tiene un sueldo:"; cout <<mayor; cin.get(); } void main() { SueldoOperarios so; so.cargar(); so.mayorSueldo(); } Este proyecto lo puede descargar en un zip desde este enlace : VectoresMayorMenorEn 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 <<""; 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 <<""; } 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(); } void main() { BusquedaMenor bm; bm.cargar(); bm.menorElemento(); bm.repiteMenor(); } |
||
— @bolUDOoficial
Comenta o lee lo que otros opinan |
||
COMPÁRTELO:Indica que te gusta y comparte |
||
![]() ![]() ![]() ![]() ![]() |
||
También te puede interesar: NOCIONES BÁSICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. |
||
« Estructura de datos tipo vector en C++ | Vectores (ordenamiento) » |
||
![]() |
||
Buscador:
|
||
Síguenos en las redes sociales![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Mis cuentas socialesOtras | LinktreeMóvil: (0426 683 6955 - 0412 8226575) - E-mail: [email protected] - [email protected] - WhatsApp: +58 (0426) 683.69.55 / +58 (0412) 822.65.75 ![]() |
||
|
||
|