package proyectovectorreales;
public class VectorReales {
private double vector[];
private int totalElementos;
public VectorReales(){
vector = new double[10];
totalElementos = 0;
}
public VectorReales(int limite){
vector = new double[limite];
totalElementos = 0;
}
public boolean agregar(double valor){
if(totalElementos < vector.length){
vector[totalElementos] = valor;
totalElementos++;
return true;
}
else
return false;
}
public int buscar(double valor){
int i;
for(i = 0; i < totalElementos; i++){
if(vector[i] == valor)
return i;
}
return -1;
}
public boolean modificar(int indice, double nuevo){
if(indice >= 0 && indice < totalElementos){
vector[indice] = nuevo;
return true;
}
else
return false;
}
public boolean eliminar(int indice){
if(indice >= 0 && indice < totalElementos){
int i;
for(i = indice; i < totalElementos-1; i++)
vector[i] = vector[i+1];
totalElementos--;
return true;
}
else
return false;
}
public boolean insertar(int indice, double valor){
if(totalElementos < vector.length && indice >= 0 && indice <= totalElementos){
int i;
for(i = totalElementos-1; i >= indice; i--)
vector[i+1] = vector[i];
vector[indice] = valor;
totalElementos++;
return true;
}
else
return false;
}
public void ordenAscendente(){
int i, j;
double temp;
for(i = 0; i < totalElementos-1; i++)
for(j = i+1; j < totalElementos; j++)
if(vector[i] > vector[j]){
temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
}
}
public void ordenDescendente(){
int i, j;
double temp;
for(i = 0 ; i < totalElementos-1; i++)
for(j = i+1; j < totalElementos; j++)
if(vector[i] < vector[j]){
temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
}
}
public double devolverElemento(int indice){
return vector[indice];
}
public int getTotalElementos(){
return totalElementos;
}
}
package proyectovectorreales;
import java.util.Scanner;
public class ProyectoVectorReales {
public static void main(String[] args) {
menuVectorReales();
}
public static void menuVectorReales() {
VectorReales vectorReales = new VectorReales();
int opcion;
do {
opcion = pedirOpcion();
switch(opcion){
case 1:
agregarValor(vectorReales);
break;
case 2:
buscarValor(vectorReales);
break;
case 3:
modificarValor(vectorReales);
break;
case 4:
eliminarValor(vectorReales);
break;
case 5:
insertarValor(vectorReales);
break;
case 6:
mostrarValores(vectorReales);
break;
case 7:
vectorReales.ordenAscendente();
break;
case 8:
vectorReales.ordenDescendente();
break;
}
} while(opcion != 9);
}
public static void mostrarValores(VectorReales vectorReales) {
System.out.println("Elementos del vector");
for(int i = 0; i < vectorReales.getTotalElementos(); i++)
System.out.println(vectorReales.devolverElemento(i));
}
public static void insertarValor(VectorReales vectorReales) {
double valor;
int indice;
Scanner entrada = new Scanner(System.in);
System.out.print("Valor a insertar: ");
valor = entrada.nextDouble();
System.out.print("Posicion donde desea insertar: ");
indice = entrada.nextInt();
if(vectorReales.insertar(indice, valor))
System.out.println("Dato insertado");
else
System.out.println("No se puede insertar");
}
public static void eliminarValor(VectorReales vectorReales) {
double valor;
int indice;
Scanner entrada = new Scanner(System.in);
System.out.print("Valor a eliminar: ");
valor = entrada.nextDouble();
indice = vectorReales.buscar(valor);
if(indice != -1){
vectorReales.eliminar(indice);
System.out.println("Dato eliminado");
}
else
System.out.println("Dato no se encuentra");
}
public static void modificarValor(VectorReales vectorReales) {
double valor;
int indice;
Scanner entrada = new Scanner(System.in);
System.out.print("Valor a modificar: ");
valor = entrada.nextDouble();
indice = vectorReales.buscar(valor);
if(indice != -1){
System.out.print("Nuevo elemento ");
vectorReales.modificar(indice, entrada.nextDouble());
}
else
System.out.println("Dato no se encuentra");
}
public static void buscarValor(VectorReales vectorReales) {
double valor;
int indice;
Scanner entrada = new Scanner(System.in);
System.out.print("Valor a buscar: ");
valor = entrada.nextDouble();
indice = vectorReales.buscar(valor);
if(indice != -1)
System.out.println("Dato se encuentra en posicion " + indice);
else
System.out.println("Dato no se encuentra");
}
public static void agregarValor(VectorReales vectorReales) {
double valor;
Scanner entrada = new Scanner(System.in);
System.out.print("Ingrese valor: ");
valor = entrada.nextDouble();
if( !vectorReales.agregar(valor) )
System.out.println("El arreglo esta lleno");
}
public static int pedirOpcion() {
int opcion;
Scanner entrada = new Scanner(System.in);
System.out.println("Vector de Reales");
System.out.println("[1] Agregar");
System.out.println("[2] buscar");
System.out.println("[3] modificar elemento");
System.out.println("[4] Eliminar elemento");
System.out.println("[5] Insertar Elemento");
System.out.println("[6] Mostrar elementos");
System.out.println("[7] Ordenar Ascendentemente");
System.out.println("[8] Ordenar Descendentemente");
System.out.println("[9] Salir");
System.out.print("Ingrese opcion (1-5): ");
opcion = entrada.nextInt();
return opcion;
}
}
Home »
» Crear la clase VectorReales que tenga como atributos un arreglo unidimensional y el número de elementos que se ingresan