• Ir al contenido
  • Ir a la navegación
  • Ir al buscador
 
Portada Boludo
ING English
Directorio WAP para móvil, Tablet, iPhone o Smartphone

Centro de Noticias de la Universidad de Oriente

Categorías

 

Inicio  |  Contacto  |  Posts  |  TIENDA PUBLISHOP  |  Sobre nosotros  |  Registro y Planes  |  Pagos  |  Donaciones

Ver Código QR de esta página

Campaña #AyudemosaYuli  |  Campaña #AyudemosaStephany.  |  ¿Interesado(a) en cursos y resolución de ejercicios de materias prácticas? Para más información, contáctenos por: Teléfono: +58 (412) - 8226575. WhatsApp y Telegram: +58 (426) - 6836955 o escriba al correo: [email protected]. Únete al grupo: SISTEMAS (UDOMO).

[»] **Musica para tu celular

WEB TRANSLATOR

LINK for English Language

Use this link for translate into English


+ Buscar en BolUDO

 

Vectores (mayor y menor elemento)

Tweet
 

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.

vector

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 :

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 <<"";
    cout <<"Tiene un sueldo:";
    cout <<mayor;
  1. Cargar un vector de 5 elementos enteros. imprimir el menor y un mensaje si se repite dentro del vector.
Solución
#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();
}

Este proyecto lo puede descargar en un zip desde este enlace :VectoresMenor

— @bolUDOoficial

— Síguenos en Twitter@bolUDOoficial

Categorías: #C++, #


[0] Atrás | Directorio
« Inicio
Apps Infoudo
Apps Infoudo ¡Descarga el icono directo en el menú de tu equipo!
[»] Las mejores Apps para tu celular
[»] Imágenes Gratis


Comenta o lee lo que otros opinan

COMPÁRTELO:

Indica que te gusta y comparte

Me Gusta :)Facebook Tuiteame :)Twitter .WhatsApp .Telegram . LinkedIn

También te puede interesar:

NOCIONES BÁSICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Material de Apoyo del Curso de Programación - Lenguaje C++ - Periodo (Feb - May) del año en curso
Parámetros por valor y por referencia de objetos
Parámetros por valor y por referencia de datos simples
Métodos constantes (const)
Parámetros de un método constante (const)
Definición de constantes (const)
Directiva #define
Puntero this
Métodos estáticos de una clase


« Estructura de datos tipo vector en C++  |  Vectores (ordenamiento) »
 
Apps Infoudo
 
Buscador:
Powered by Google:


Web móvil
Imágenes
La Web

 

Síguenos por RSS


Puedes leerlos mediante el navegador Firefox, lectores de noticias en la computadora o el móvil o usando el servicio de Feedburner de Google para recibir las notificaciones por correo electrónico.
RSS - Suscribirse usando Feedburner de Google

email Recibir las nuevas publicaciones de Boludo por email

Atom


»Ir a URL
.....
Registra Gratis Tu Negocio
....
Sugerir un nuevo sitio WAP

...
¡Bloguea Ya!

..
Registro de Profesionales(Abogados, escritores, doctores, licenciados, ingenieros, etc.)
.
Soporte

Síguenos en las redes sociales

Síguenos en Facebook facebook.com/boludooficial Síguenos en Twitter @bolUDOoficial Síguenos en Instagram @boludooficial Síguenos en Telegram t.me/Boludooficial
Síguenos en WhatsApp BolUDOoficial Síguenos en YouTube youtube.com/channel/UCJDooTJmROzAkBcbRrryvGA
Síguenos en Facebook facebook.com/SergioAlemanFans Síguenos en Twitter @SergioAleman1 Síguenos en Instagram @sergioalemanfans
Síguenos en WhatsApp wa.me/qr/Y7Q232VLZPR5O1 Síguenos en Tiktok @sergioalemanoficial Síguenos en Tiktok @sergioalemanfans
Síguenos en Telegram t.me/SergioAlemanOficial Síguenos en YouTube youtube.com/channel/UCqcLSYCKx9pamla68nFMDkw
Síguenos en Facebook facebook.com/INFOUDO.OFICIAL Síguenos en Twitter @infoudomon Síguenos en Instagram @infoudooficial Síguenos en Telegram t.me/Infoudooficial
Síguenos en Facebook facebook.com/tuinfou Síguenos en Twitter @infoudomonagas
Síguenos en WhatsApp INFO UDO Síguenos en YouTube youtube.com/channel/UCuicPxpqv3C0p1qwaO1XSSQ

Mis cuentas sociales

FB
Twitter
Pinterest
Instagram
Otras

Móvil: (0426 683 6955) - E-mail: [email protected] - [email protected] - WhatsApp: +58 (0426) 683.69.55


Copyscape
Volver arriba

Protocolo  |  Mapa del Sitio  |  Report Abuse - DMCA  |  Términos y Condiciones  |  Ayuda  |  Privacidad de Datos  |  Política de Cookies  |  Reportar un bug  |  Licencia: CC BY-NC-ND 3.0

Copyright ©2023 Boludo. Todos los derechos reservados. Diseñado y Desarrollado por Sergio Alemán Mi perfil en GitHub


SUBIR