Problema 1
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:
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 (lnea); } } 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;
Para obtener el mayor sueldo y el nombre del operario realizar los siguientes pasos: Inicializamos una variable mayor con la primera 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;
Accedemos a cada componente para controlar si supera lo que tiene la variable mayor:
if (sueldos[f] > mayor)
En caso de ser verdadera la condicin 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 posicin del mayor sueldo imprimimos el elemento que ocupa la posicin 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.
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++; } } Ir (canto > 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 (); } } }