Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VECTORES
Un vector es un grupo contiguo de posiciones de memoria relacionadas entre sí. Estas posiciones
están relacionadas por el hecho de que todas tienen el mismo nombre y el mismo tipo. Para referirnos
a una posición o elemento en particular dentro del vector, especificamos el nombre del vector y el
subíndice del elemento.
Un subíndice puede ser un entero o una expresión entera. Si un programa emplea una expresión como
subíndice, la expresión se evalúa para determinar el elemento específico del vector.
Los arreglos de Java siempre comienzan con el elemento 0.
Declaración de un vector
En Java existen dos formas de declarar arreglos:
tipo identificador[]; ó tipo[] identificador;
Creación de un vector
Después de declarar un arreglo, se tiene que crearlo. Para crearlo se coloca la palabra clave new
seguida del tipo de dato y del tamaño del arreglo entre corchetes. Por ejemplo, para crear un arreglo
de 100 elementos de tipo int:
numeros = new int[100];
También se puede declarar y crear un arreglo en una sola instrucción. Por ejemplo, para declarar y
crear un vector de 50 elementos de tipo double:
double promedios[] = new double[50];
Inicialización de un vector
En Java se pueden inicializar arreglos al declararlos. Cuando se especifica valores iniciales dentro de
la declaración de un arreglo, Java realiza la operación new y define el tamaño del arreglo de forma
automática.
Ejemplos:
int arreglo1[] = { 1, 2, 3, 4, 5};
boolean arreglo2[] = { true, false, true};
String meses[] = { “Enero”, ”Febrero”, ”Marzo”, ”Abril”, ”Mayo”, “Junio”};
Recorrido de un vector
Cada valor dentro de un arreglo se conoce como elemento del arreglo. Para acceder a un elemento de
un arreglo especifique el nombre del arreglo con el índice del elemento entre corchetes [].
Ejemplo:
int numeros[] = { 12, 20, 60, 80, 100 };
for(int indice = 0; indice < 5 ; indice++)
System.out.println( numeros[indice] );
En este ejemplo el tamaño del arreglo es 5. En java el índice del primer elemento del arreglo es cero
y la última posición es el tamaño del arreglo. Debido a esto, para iterar todos los elementos del arreglo,
el programa utiliza loa valores 0 a 4 para la variable del ciclo.
Ejemplo: El siguiente código muestra cómo utilizar la variable length dentro de un ciclo for que itera
por todos los elementos del arreglo.
int numeros [] = { 12, 20, 60, 80, 100 };
for(int indice = 0; indice < numeros.length; indice++)
System.out.println( numeros[indice] );
EJERCICIOS RESUELTOS
Ejercicio 1:
Crear la clase VectorReales que tenga como atributos un arreglo unidimensional y el número de
elementos que se ingresan. Crear los métodos para agregar un elemento, buscar un elemento,
modificar un elemento, eliminar un elemento, insertar un elemento en una posición dada y ordenar
los elementos del vector.
package proyectovectores01;
public class VectorReales {
private double vector[];
private int totalElementos;
public VectorReales(){
vector = new double[50];
totalElementos=0;
}
else
return false;
}
package proyectovectores01;
import javax.swing.*;
public FrmVectorReales() {
initComponents();
setSize(400,350);
setLocation(300,200);
}
if(txtValor.getText().compareTo("")!=0)
{
double valor=Double.parseDouble(txtValor.getText());
vectorReales.agregar(valor);
modelo.addElement(txtValor.getText());
txtValor.setText("");
txtValor.requestFocus();
}
else
JOptionPane.showMessageDialog(null,"No se Ingreso Elemento");
double valor;
int indice;
valor=Double.parseDouble(JOptionPane.showInputDialog("Valor a buscar: "));
indice=vectorReales.buscar(valor);
if(indice!=-1)
JOptionPane.showMessageDialog(null, "Dato se encuentra en posicion :"+indice);
else
JOptionPane.showMessageDialog(null, "Dato no encontrado");
}
double valor;
int indice;
valor=Double.parseDouble(JOptionPane.showInputDialog("Valor a eliminar: "));
indice=vectorReales.buscar(valor);
if(indice!=-1)
{
vectorReales.eliminar(indice);
modelo.removeElementAt(indice);
JOptionPane.showMessageDialog(null, "eliminado");
}
else
JOptionPane.showMessageDialog(null, "Dato no encontrado");
}
int indice;
double valor;
indice=Integer.parseInt(JOptionPane.showInputDialog("Indice donde desea insertar:"));
valor=Double.parseDouble(JOptionPane.showInputDialog("Valor a insertar:"));
if(vectorReales.insertar(indice, valor))
{
modelo.add(indice, String.valueOf(valor));
JOptionPane.showMessageDialog(null,"Dato insertado");
}
else
JOptionPane.showMessageDialog(null, "Dato no encontrado");
}
double valor,nuevo;
int indice;
valor=Double.parseDouble(JOptionPane.showInputDialog("Valor a modificar: "));
indice=vectorReales.buscar(valor);
if(indice!=-1)
{
nuevo=Double.parseDouble(JOptionPane.showInputDialog("Nuevo valor :"));
vectorReales.modificar(indice, nuevo);
modelo.set(indice,String.valueOf(nuevo));
}
else
JOptionPane.showMessageDialog(null, "Dato no encontrado");
}
vectorReales.ordenAscendente();
modelo.removeAllElements();
int i;
double valor;
for(i=0;i<vectorReales.getTotalElementos();i++)
{
valor=vectorReales.devolverElemento(i);
modelo.addElement(String.valueOf(valor));
}
}
Donde:
Desviación estándar:
Promedio:
package proyectovectores02;
public VectorReales(){
vector = new double[50];
totalElementos=0;
}
{
if(vector[i]<menor)
menor=vector[i];
}
return menor;
}
package proyectovectores02;
import javax.swing.*;
public FrmVectores02() {
initComponents();
setSize(400,350);
setLocation(400,200);
}
txtValor.setText("");
txtValor.requestFocus();
}
else
JOptionPane.showMessageDialog(null,"No se Ingreso Elemento");
}
Ejercicio 3:
Crear un Vector de números reales y un método que tenga como parámetro otro Vector de números
Reales y calcule el producto Escalar de ellos
package proyectovectores03;
public VectorReales(){
vector = new double[50];
totalElementos=0;
}
package proyectovectores03;
import javax.swing.*;
public FrmVectores03() {
initComponents();
setSize(550,450);
setLocation(350,150);
}
int n,i;
double valor;
n=Integer.parseInt(txtN.getText());
modelo1.clear();
Docente: Ing. Marcelino Torres Villanueva 13
Universidad Nacional de Trujillo Programación Orientada a Objetos I
for(i=0;i<n;i++)
{
valor=Double.parseDouble(JOptionPane.showInputDialog("Ingrese numero["+i+"]:"));
vectorA.agregar(valor);
modelo1.addElement(String.valueOf(valor));
}
}
Ejercicio 4:
Ingresar n números en un vector y mostrar luego, primero la lista de los números pares que fueron
ingresados y luego la lista de los números negativos.
package proyectovectores04;
public VectorEnteros(){
vector = new int[50];
totalElementos=0;
}
return true;
}
else
return false;
}
package proyectovectores04;
import javax.swing.*;
public FrmVectores04() {
initComponents();
setSize(500,350);
Docente: Ing. Marcelino Torres Villanueva 16
Universidad Nacional de Trujillo Programación Orientada a Objetos I
setLocation(300,150);
}
EJERCICIOS PROPUESTOS
1. Ingresar n enteros en un vector A y otra n enteros en un vector B y mostrar la lista de enteros
del vector C. Donde cada C[i]=A[i]+B[i]
2. Sea un vector de reales de n elementos. Mostrar la lista de números menores al promedio.
3. Lea dos vectores A y B y luego diga que elementos del vector A no se encuentran en B.
4. Ingresar N notas en un vector y determinar el porcentaje de aprobados y el porcentaje de
desaprobados
5. Ingresar n elementos en un vector y luego ingresar un elemento y reportar cuantas veces
aparece ese elemento en el vector.
6. Ingresar dos vectores y reportar si son iguales
7. Calcule la mediana de un conjunto de datos. La mediana de un vector ordenado es el elemento
central si el número de términos es impar. Y la semisuma de los términos centrales si el
número de términos es par.
8. Calcule el promedio ponderado de un conjunto de datos. Se deben ingresar las cantidades con
sus respectivos pesos.
9. Ingresar 2 vectores de n y m elementos y calcular la unión, intersección y la diferencia del
primero con el segundo.
10. Calcule la media armónica de un conjunto de datos. La media armónica se define como: el
Inverso del promedio de los inversos.
11. Programa para ingresar n elementos en un vector y al final quede sin elementos repetidos
12. Programa para ingresar n elementos en un vector y luego ingresar un elemento, si este se
encuentra en el vector eliminarlo todas las veces que se encuentra.