Está en la página 1de 4

Trabajo con vectores

En programacin, una matriz o vector (llamados en ingls arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lgico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todas las matrices son de una dimensin, la dimensin principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las ms fciles de imaginar son los de una, dos y tres dimensiones. Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sera ms adecuado utilizar una lista, ya que esta estructura puede cambiar de tamao fcilmente durante la ejecucin de un programa.

Notacin

vector[ndice_1,ndice_2...,ndice_N]

En otras palabras podemos decir que son variables que pueden admitir mltiples valores y estos valores se almacenan en su propio ndice, iniciando en cero (0) Sintaxis JAVA: tipodatos nombrevariable [] = new tipodatos[tamao] Ej 1. String Nombre[] =new String[10];

A continuacin se plantea un ejemplo de un programa sencillo que usa vectores para capturar e imprimir datos:

Leer nombre y sueldo de 20 empleados y mostrar el que ms gana Programa Java que lee el nombre y el sueldo de 20 empleados y muestra el nombre y el sueldo del empleado que ms gana y los nombres y sueldo de todos. Para hacerlo utilizaremos dos arrays: Un array de String para los nombres de los empleados Un array de tipo double para los sueldos de cada empleado. Al mismo tiempo que leemos los datos de los empleados iremos comprobando cul es el que tiene el mayor sueldo. Para ello tomamos el sueldo del primer empleado que se lee como mayor sueldo y despus vamos comprobando el resto de sueldos. Cuando encontramos alguno mayor que el mayor actual este sueldo se convierte en el nuevo mayor. En general para calcular el mayor de una serie de nmeros tomamos el primero como mayor y despus comparamos el resto de nmeros.

package practicavectores; //programa que muestra el nombre y el sueldo del empleado que ms gana import java.util.*; public class PracticaVectores { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //crear y dimensionar los arrays String[] empleados = new String[20]; double[] sueldos = new double[20];

//variables para guardar el nombre y sueldo del empleado que ms gana String nombreMayor; double mayorSueldo;

//inicializar i que es el contador para recorrer el vector int i = 0;

//se leen los datos del primer empleado System.out.println("Lectura de nombres y sueldos de empleados: "); System.out.print("Empleado " + (i + 1) + ": "); empleados[i] = sc.nextLine(); //almacena el nombre en la posicin 0 del vector empleados System.out.print("Sueldo: "); sueldos[i] = sc.nextDouble();//almacena el sueldo en la posicin 0 del vector empleados

//se toma el primero como mayor mayorSueldo = sueldos[i]; //asigna el sueldo del primer empleado a la variable nombreMayor = empleados[i];//asigna el nombre del primer empleado a la variable

//se leen el resto de empleados, se inicia desde uno(1) porque ya se ley el primer empleado for (i = 1; i < empleados.length; i++) { sc.nextLine(); //limpiar el buffer System.out.print("Empleado " + (i + 1) + ": "); empleados[i] = sc.nextLine(); System.out.print("Sueldo: "); sueldos[i] = sc.nextDouble(); //se compara el sueldo ledo con el mayor if (sueldos[i] > mayorSueldo) { mayorSueldo = sueldos[i]; nombreMayor = empleados[i]; }

//mostrar resultados System.out.println(""); System.out.println("Empleado con mayor sueldo: " + nombreMayor ); System.out.println("Sueldo: " + mayorSueldo); System.out.println("");

// imprimir los datos de todos los empleados, se hace con otro cliclo for System.out.println("Nombre \t\t Sueldo"); for (int j = 0; j < empleados.length; j++) { System.out.print(empleados[j]+"\t\t\t\t"+ sueldos[j]+"\n"); } } }