Webmaster Workers utiliza cookies. Lea nuestra Política de Privacidad para obtener más información. Para eliminar este mensaje, haga clic en el siguiente botón: Acepto el uso de cookies


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.


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:



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PruebaVector11
{
class PruebaVector11
{
private string[] nombres;
private float[] sueldos;

public void Cargar()
{
nombres=new string[5];
sueldos=new float[5];
for(int f=0;f < nombres.Length;f++)
{
Console.Write("Ingrese el nombre del empleado:");
nombres[f] = Console.ReadLine();
Console.Write("Ingrese el sueldo:");
string linea;
linea = Console.ReadLine();
sueldos[f]=float.Parse(linea);
}
}

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;
}
}
Console.WriteLine("El empleado con sueldo mayor es "+nombres[pos]);
Console.WriteLine("Tiene un sueldo:"+mayor);
Console.ReadKey();
}

static void Main(string[] args)
{
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++)
{
Console.Write("Ingrese el nombre del empleado:");
nombres[f] = Console.ReadLine();
Console.Write("Ingrese el sueldo:");
string linea;
linea = Console.ReadLine();
sueldos[f]=float.Parse(linea);
}


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:



Console.WriteLine("El empleado con sueldo mayor es "+nombres[pos]);
Console.WriteLine("Tiene un sueldo:"+mayor);


Problemas propuestos




  1. Cargar un vector de n elementos. imprimir el menor y un mensaje si se repite dentro del vector.


Solución

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PruebaVector12
{
class PruebaVector12
{
private int[] vec;
private int menor;

public void Cargar()
{
Console.Write("Cuantos elementos desea cargar:");
string linea;
linea = Console.ReadLine();
int n=int.Parse(linea);
vec=new int[n];
for(int f=0;f < vec.Length;f++)
{
Console.Write("Ingrese componente:");
linea = Console.ReadLine();
vec[f]=int.Parse(linea);
}
}

public void MenorElemento()
{
menor=vec[0];
for(int f=1;f < vec.Length;f++)
{
if (vec[f] < menor)
{
menor=vec[f];
}
}
Console.WriteLine("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)
{
Console.WriteLine("Se repite el menor en el vector.");
}
else
{
Console.WriteLine("No se repite el menor en el vector.");
}
Console.ReadLine();
}

static void Main(string[] args)
{
PruebaVector12 pv = new PruebaVector12();
pv.Cargar();
pv.MenorElemento();
pv.RepiteMenor();
}
}
}



Opciones
Estadísticas
Creado 01.01.1970 a las 00:00 hs
Categoría C#

  • Medallas
  • 0
    Favoritos
  • 9641
    Visitas
  • 0
    Puntos
  • 0
    Seguidores
Comentarios
0
Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Autor del post
Ver perfil de Administrador Administrador
Hombre Administrador  Mensaje
43 1,352 1
Medallas
No tiene medallas
Tags
Posts relacionados