Este blog fue creado con la intencion de aportar a los alumnos una ayuda con los ejercicios de la carrera de ingenieria de sistemas LEVI VELASQUEZ PAZ

Blogroll

sábado, 16 de diciembre de 2017

Crear la clase lista enalzada don se pueda agregar al inicio ,mostrar , invertir

CLASE PRINCIPAL

package nuevo;

import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @author levi
 */
public class ProyectoListasEnlazadas {
     public static void menurPrincipal() {
        Scanner sc = new Scanner(System.in);
        ListaEnlazada lista = new ListaEnlazada();
   
     
        int num;
        int opcion;
        do {
            System.out.println("\n");
            System.out.println("MENU PRINCIPAL");
            System.out.println("1: AGREGAR LISTA INICIO ");
            System.out.println("2: MOSTRAR LISTA");
            System.out.println("3: AÑADIR EN LA POCION IESIMA");
            System.out.println("4: DEVOLVER LA POSCION DE LA IESIMA DE UN ELEMENTO");
            System.out.println("5: ORDENAR LISTA DE FORMA CRECIENTE");
            System.out.println("6: VERIFICAR SI UNA LISTA ESTA ORDENADA");
            System.out.println("7: VERIFICAR SI UN NUMERO SE ENCUENTRA EN LA LISTA");
            System.out.println("8: INVERTIR LA LISTA");
            System.out.println("9: MOSTRAR N ELMENTOS DE LA LISTA");
            System.out.println("10: ELEMENTO CENTRAL DE LA LISTA");
            System.out.println("11: AGREGAR UN NUMERO EN LA LISTA ORDENADA");
            System.out.println("12: SUPRIMIR UN NUMERO");
            System.out.println("13: SALIR");
            System.out.println("OPCION");
            opcion = sc.nextInt();
            switch (opcion) {
                case 1:
                    System.out.println("INGRESE CANTIDAD DE NUMEROS");
                    int cantidad = sc.nextInt();
                    for (int i = 0; i < cantidad; i++) {
                        System.out.println("NUMERO [" + (1 + i) + " ]");
                        int x = sc.nextInt();
                        lista.insertaAlFinal(x);
               
                    }
                    break;

                case 2:
                    if (lista.esVacio()) {
                        System.out.println("La lista esta vacia ");
                    } else {
                        System.out.println("MOSTRANDO LISTA ");
                        lista.mostrar();
                    }

                    break;
                case 3:
                    if (lista.esVacio()) {
                        System.out.println("La lista esta vacia ");
                    } else {
                        System.out.println("Igrese numero ");
                        num = sc.nextInt();
                        System.out.println("Ingrese posicion");
                        int pos = sc.nextInt();
                        lista.insertarP(num, pos);
                    }
                    break;

                case 4:
                    if (lista.esVacio()) {
                        System.out.println("Lista vacia");
                    } else {
                        System.out.println("Ingrese numero a buscar");
                        int nume = sc.nextInt();
                        if (lista.posicionDeLaiesima(nume) != null) {
                            System.out.println("La posicion es " + lista.posicionDeLaiesima(nume));
                        } else {
                            System.out.println("La pocicion no se encontro " + lista.posicionDeLaiesima(nume));
                        }
                        System.out.println("");

                    }
                    break;
                case 5:
                    if (lista.esVacio()) {
                        System.out.println("Lista vacia");
                    } else {
                        System.out.println("ORDENANDO DE FORMA CRECIENTE");
                        lista.ordenAscendente();
                        lista.mostrar();
                    }

                    break;
                case 6:
                    System.out.println("VERIFICANDO");
                    if (lista.estaOrdenado()) {
                        System.out.println("La lista esta ordena ");

                    } else {
                        System.out.println("La lista no esta ordenada");
                    }
                    break;
                case 7:
                    if (lista.esVacio()) {
                        System.out.println("Lista vacia ");
                    } else {
                        System.out.println("Ingrese numero a buscar");
                        int numeros = sc.nextInt();
                        if (lista.verificarSiSeEncuentraNumero(numeros)) {
                            System.out.println("NUMERO ENCONTRADO EN LA LISTA ");

                        } else {
                            System.out.println("NUMERO NO ENCONTRADO EN LA LISTA");

                        }

                    }
                    break;

                case 8:
                    System.out.println("LISTA INVERTIDA");
                    lista.mostrarInversa();
                    break;
                case 9:
                    if (lista.esVacio()) {
                        System.out.println("Lista vacia ");
                    } else {
                        System.out.println("cunatos elementos desea mostrar");
                        num = sc.nextInt();
                        if (num <= lista.getTamaño()) {
                            lista.imprimirNElementos(num);

                        } else {
                            System.out.println("NO EXISTE ESA CANTIDAD DE NUMEROS EN LA LISTA");

                        }
                    }
                    break;

                case 10:
                    if (lista.esVacio()) {
                        System.out.println("Lista vacia ");
                    } else {
                        System.out.println("MOSTRANDO NUMERO CENTRAL");
                        lista.elementoCentral();
                    }
                    break;
                case 11:
                    if (lista.esVacio()) {
                        System.out.println("No hay elementos en la lista ");
                    } else {
                        System.out.println("Ingrese numero ");
                        num = sc.nextInt();
                        lista.insertarOrdenada(num);
                        lista.mostrar();
                    }
                    break;
                case 12:
                    if (lista.esVacio()) {
                        System.out.println("La posicion a buscar ");
                    } else {
                        System.out.println("Ingrese numero ");
                        int n = sc.nextInt();
                        lista.suprimirLaIesima(n);
                        System.out.println("Elemnto eliminado");
                    }

                    break;

                default:
                    System.out.println("SALIENDO DEL PROGRAMA ");
            }
        } while (opcion != 13);
    }

    public static void main(String[] args) {
     
       menurPrincipal();
    }
}

SUB CLASE

package nuevo;

public class ListaEnlazada {

    protected Nodo primero;
    private int tamaño = 0;

    public ListaEnlazada() {
        primero = null;
        tamaño = 0;
    }

    public Nodo getPrimero() {
        return primero;

    }

    public void setPrimero(Nodo primero) {
        this.primero = primero;
    }

    public int getTamaño() {
        return tamaño;
    }

    public void setTamaño(int tamaño) {
        this.tamaño = tamaño;
    }

    public boolean esVacio() {
        return primero == null;
    }
 

    public void insertaAlFinal(int x) {
        Nodo nuevo = new Nodo(x);
        Nodo p;
        if (primero == null) {
            primero = nuevo;
        } else {
            p = primero;
            while (p.getSiguiente() != null) {
                p = p.getSiguiente();
            }
            p.setSiguiente(nuevo);

        }
        tamaño++;
    }

    //EJEMPLO 1
    public void insertarP(int x, int pos){
        Nodo nuevo= new Nodo(x,null);
        if(pos==1){
            nuevo.setSiguiente(primero);
            primero=nuevo;
        }else{
            Nodo p=primero;
            int cont=1;
            while(p!=null && cont<pos-1){
                p=p.getSiguiente();
                cont++;
            }
            if(p!=null){
                nuevo.setSiguiente(p.getSiguiente());
                p.setSiguiente(nuevo);
             
            }else
                System.out.println("Posiciòn no valida");        
        }        
    }
    public Nodo posicionDeLaiesima(int pos){
        Nodo a=primero;
        int con=0;
        for(int i=1;a!=null;i++){
            con++;
            if(con==pos) {
                return a;
            }
            a=a.getSiguiente();
        }
        return null;
    }
    //EJEMPLO 2
    public void suprimirLaIesima(int pos) {
       Nodo tem;
       if(pos<1 || pos>getTamaño()){
           System.out.println("La posicion no existe");
       }else
           if(pos==1){
               primero=primero.getSiguiente();
           }else{
                Nodo p=primero;
                int con=1;
                while(con<pos-1){
                    p=p.getSiguiente();
                    con++;
                }
                tem=p.getSiguiente();
                p.setSiguiente(tem.getSiguiente());
           }  
    }

    //EJEMPLO 3
    public void devolverUltimaPosicion() {
        Nodo a = primero, anterior, siguiente;
        int con = 0, posi = 0, numero = 0;
        while (a != null) {
            con++;
            anterior = a;
            siguiente = a.getSiguiente();
            if (siguiente == null) {
                posi = con;
                numero = a.getInfo();
            }
            a = a.getSiguiente();
        }
        System.out.println("la ultima posicion de la iesima es " + posi + " con numero [" + numero + "]");

    }

    //EJEMPLO 4
   public void ordenAscendente(){
        Nodo p,q;
        int aux;
        p=primero;
        while(p.getSiguiente()!=null){
            q=p.getSiguiente();
            while(q!=null){
                if(p.getInfo()>q.getInfo()){
                    aux=p.getInfo();
                    p.setInfo(q.getInfo());
                    q.setInfo(aux);
                }
                q=q.getSiguiente();
            }
            p=p.getSiguiente();
        }
    }
    public void insertarOrdenada(int x){
        Nodo nuevo= new Nodo(x);
        if(primero==null)
            primero=nuevo;
        else
            if(x<primero.getInfo()){
                nuevo.setSiguiente(primero);
                primero=nuevo;
            }
            else{
                Nodo p=primero;
                while(p.getSiguiente()!=null && p.getSiguiente().getInfo()<x)
                    p=p.getSiguiente();
                nuevo.setSiguiente(p.getSiguiente());
                p.setSiguiente(nuevo);
            }
    }

    //EJEMPLO 6
 
public boolean estaOrdenado(){
        Nodo p=primero;
        while(p.getSiguiente()!=null){
        if(p.getInfo()>p.getSiguiente().getInfo()){        
            return false;
        }
        p=p.getSiguiente();
    }
        return true;
}

    //EJEMPLO 7
    public boolean verificarSiSeEncuentraNumero(int inf) {
        Nodo a = primero;
        boolean verificar = false;
        while (a != null) {
            if (a.getInfo() == inf) {
                verificar = true;
                break;
            }
            a = a.getSiguiente();
        }
        return verificar;
    }
//ejemplo 8
    public void mostrarInversa() {
        alreves(primero);
    }

    public void alreves(Nodo p) {
        if (p != null) {
            alreves(p.siguiente);
            System.out.print("[" + p.info + "]" + "==>");
        }
    }

//EJEMPLO 9
    public void imprimirNElementos(int can) {
        Nodo a = primero;
        int con = 0;
        int total=getTamaño()-can;
        Nodo inicio;
       for(inicio=primero;inicio!=null;inicio=inicio.getSiguiente()){
           con++;
       
           if(con>total && con<=getTamaño()){
               System.out.println(inicio.getInfo());
       
          }
       }
     
    }

    //EJEMPLO 10
    public void elementoCentral() {
        Nodo a = primero;
        int con = 0, medio = getTamaño() / 2;
        if (!esVacio()) {
            while (a != null) {

                Nodo aux = a;
                Nodo siguiente = a.getSiguiente();
                con++;
                if (con == medio) {
                    if (getTamaño() % 2 == 0) {
                        System.out.println("Elemento central es [" + aux.getInfo() + "] y [" + siguiente.getInfo() + "]");
                    } else {
                        System.out.println("Elemento decntral es[" + siguiente.getInfo() + "]");
                    }
                }

                a = a.getSiguiente();
            }
        } else {
            System.out.println("Lista vacia");
        }

    }

    public void mostrar() {
        Nodo p = primero;
        while (p != null) {
            System.out.print("[" + p.getInfo() + "] ==> ");
            p = p.getSiguiente();
        }
    }
 
}


NODO


package nuevo;

public class Nodo {

    public int info;
    public Nodo siguiente;

    public Nodo() {
        siguiente = null;
        info = 0;
    }

    public Nodo(int x) {
        siguiente = null;

        info = x;
    }

    public Nodo(int x, Nodo siguiente) {
        info = x;
        this.siguiente = siguiente;

    }

    public int getInfo() {
        return info;
    }

    public void setInfo(int info) {
        this.info = info;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo siguiente) {
        this.siguiente = siguiente;
    }

}


Share:

Se tiene la siguiente información de n personas: dni, apellidos, nombres, sexo, edad y peso. Esta información se tiene que registrar en un ArrayList, buscar una persona dado el dni, eliminar una persona, ordenar por apellidos y mostrar todas las personas. Hacer un menú para realizar lo que se pide

package proyectolistapersonas;
import java.util.Objects;
public class Persona {
 private String dni;
 private String apellidos;
 private String nombres;
 private String sexo;
 private int edad;
 private double peso;
 public Persona(String dni, String apellidos, String nombres,
 String sexo, int edad, double peso) {
 this.dni = dni;
 this.apellidos = apellidos;
 this.nombres = nombres;
 this.sexo = sexo;
 this.edad = edad;
 this.peso = peso;
 }
 public Persona(String dni) {
 this.dni = dni;
 }
 public String getDni() {
 return dni;
 }
 public void setDni(String dni) {
 this.dni = dni;
 }
 public String getApellidos() {
 return apellidos;
 }
 public void setApellidos(String apellidos) {
 this.apellidos = apellidos;
 }
  public String getNombres() {
 return nombres;
 }
 public void setNombres(String nombres) {
 this.nombres = nombres;
 }
 public String getSexo() {
 return sexo;
 }
 public void setSexo(String sexo) {
 this.sexo = sexo;
 }
 public int getEdad() {
 return edad;
 }
 public void setEdad(int edad) {
 this.edad = edad;
 }
 public double getPeso() {
 return peso;
 }
 public void setPeso(double peso) {
 this.peso = peso;
 }
 @Override
 public String toString() {
 return "Persona{" + "dni=" + dni + ", apellidos=" + apellidos + ", nombres=" +
 nombres + ", sexo=" + sexo + ", edad=" + edad + ", peso=" + peso + '}';
 }
 @Override
 public int hashCode() {
 int hash = 7;
 hash = 13 * hash + Objects.hashCode(this.dni);
 return hash;
 }
 @Override
 public boolean equals(Object obj) {
 if (obj == null) {return false;
 }
 if (getClass() != obj.getClass()) {
 return false;
 }
 final Persona other = (Persona) obj;
 if (!Objects.equals(this.dni, other.dni)) {
 return false;
 }
 return true;
 }
}


/////7CALSE PRINCIPAL
package proyectolistapersonas;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class ProyectoListaPersonas {
 private ArrayList<Persona> listaPersonas;

 public static void main(String[] args){
 int opcion;
 ProyectoListaPersonas proyectoPersonas = new ProyectoListaPersonas();
 proyectoPersonas.listaPersonas = new ArrayList();
 Scanner entrada = new Scanner(System.in);
 do{
 System.out.println("\nLISTA DE PERSONAS:");
 System.out.println("[1] Registrar persona");
 System.out.println("[2] Buscar persona por DNI");
 System.out.println("[3] Eliminar persona");
 System.out.println("[4] Ordenar por apellidos");
 System.out.println("[5] Mostrar persona");
 System.out.println("[6] Salir\n");
 System.out.print("Ingrese opción (1-6): ");
 opcion = entrada.nextInt();
 switch(opcion){
 case 1: proyectoPersonas.registrarPersona();
 break;
 case 2: proyectoPersonas.buscarPersona();
 break;
 case 3: proyectoPersonas.eliminarPersona();
 break;
 case 4: proyectoPersonas.ordenarPorApellido();
12
 break;
 case 5: proyectoPersonas.mostrarPersonas();
 break;
 }
 }while(opcion != 6);
 }

 public void registrarPersona(){
 String dni,apellidos,nombres,sexo;
 int edad;
 double peso;
 Scanner entrada = new Scanner(System.in);
 System.out.print("DNI: ");
 dni = entrada.next();
 System.out.print("Apellidos: ");
 apellidos = entrada.next();
 System.out.print("Nombres: ");
 nombres = entrada.next();
 System.out.print("Sexo: ");
 sexo = entrada.next();
 System.out.print("Edad: ");
 edad = entrada.nextInt();
 System.out.print("Peso: ");
 peso = entrada.nextDouble();
 Persona persona = new Persona(dni, apellidos, nombres, sexo, edad, peso);
 listaPersonas.add(persona);
 }

 public void buscarPersona(){
 String dni;
 int indice;
 Scanner entrada = new Scanner(System.in);
 System.out.print("Ingrese DNI a buscar: ");
 dni = entrada.next();
 Persona persona = new Persona(dni);
 indice = listaPersonas.indexOf(persona);
 if (indice != -1){
 persona = listaPersonas.get(indice);
 System.out.println(persona);
 }
 else
 System.out.println("La persona no se encuentra");
 }

 public void eliminarPersona(){
 String dni;
 int indice;
 Scanner entrada = new Scanner(System.in);
13
 System.out.print("Ingrese DNI para eliminar: ");
 dni = entrada.next();
 Persona persona = new Persona(dni);
 indice = listaPersonas.indexOf(persona);
 if(indice != -1){
 persona = listaPersonas.remove(indice);
 System.out.println("Persona eliminada: " + persona);
 }
 else
 System.out.println("La persona no se encuentra");
 }

 public void mostrarPersonas(){
 if(listaPersonas.size() > 0)
 for(Persona persona : listaPersonas)
 System.out.println(persona);
 else
 System.out.println("No existen personas registradas");
 }

 public void ordenarPorApellido(){
 Collections.sort(listaPersonas, (Persona persona1, Persona persona2)
 -> persona1.getApellidos().compareTo(persona2.getApellidos()));
 mostrarPersonas();
 }
}

Share:

Ingresar los nombres y las notas de n alumnos y reportar la lista en orden alfabético y en orden de mérito

package proyectolistaalumnos;

public class Alumno {

    private String nombre;
    private double nota;

    public Alumno(String nombre, double nota) {
        this.nombre = nombre;
        this.nota = nota;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getNota() {
        return nota;
    }

    public void setNota(double nota) {
        this.nota = nota;
    }
}

package proyectolistaalumnos;
import java.util.Scanner;
import java.util.ArrayList;


import java.util.Collections;
public class ProyectoListaAlumnos {

    private ArrayList<Alumno> listaAlumnos;

    public static void main(String[] args) {
        ProyectoListaAlumnos proyectoAlumnos = new ProyectoListaAlumnos();
        proyectoAlumnos.ingresarDatos();
        proyectoAlumnos.ordenarPorNombre();
        proyectoAlumnos.ordenarPorNota();
    }

    public void ingresarDatos() {
        String nombre, respuesta;
        double nota;
        Scanner entrada = new Scanner(System.in);
        listaAlumnos = new ArrayList();
        int i = 0;
        do {
            System.out.println("\nAlumno " + ++i);
            System.out.print("Nombre: ");
            nombre = entrada.nextLine();
            System.out.print("Nota: ");
            nota = Double.parseDouble(entrada.nextLine());
            Alumno alumno = new Alumno(nombre, nota);
            listaAlumnos.add(alumno);
            System.out.print("Desea ingresar nuevo alumno (S/N): ");
            respuesta = entrada.nextLine();
        } while (respuesta.equals("S"));
    }

    public void imprimirDatos() {
        for (int i = 0; i < listaAlumnos.size(); i++) {
            System.out.println(listaAlumnos.get(i).getNombre() + ", "
                    + listaAlumnos.get(i).getNota());
        }
    }

    private void ordenarPorNombre() {
        System.out.println("\nDatos en orden alfabético:");
        Collections.sort(listaAlumnos, (Alumno alumno1, Alumno alumno2)
                -> alumno1.getNombre().compareTo(alumno2.getNombre()));
        imprimirDatos();
    }

    private void ordenarPorNota() {
        System.out.println("\nDatos en orden de mérito:");
        Collections.sort(listaAlumnos, (Alumno alumno1, Alumno alumno2)
                -> new Double(alumno2.getNota()).compareTo(alumno1.getNota()));
        imprimirDatos();
    }
}

Share:

Crear un programa que use ArrayList de números reales. El programa debe permitir mostrar un menú donde se pueda agregar un número, buscar un número, modificar un número, eliminar un número e insertar un número en una posición dada

package proyectolistareales;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class ProyectoListaReales {
 ArrayList<Double> listaReales;

 public static void main(String[] args) {
 ProyectoListaReales proyectoReales = new ProyectoListaReales();
 proyectoReales.listaReales = new ArrayList();
 proyectoReales.leerOpcion();
 }
 public void leerOpcion() {
 Scanner entrada = new Scanner(System.in);
 int opcion;
 do{
 System.out.println("\nLista 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] Orden ascendente");
 System.out.println("[8] Orden descendente");
 System.out.println("[9] Salir\n");
 System.out.print("Ingrese opcion (1-9): ");
 opcion = entrada.nextInt();
 switch(opcion){
 case 1: ingresarValor();
 break;
 case 2: buscarValor();
 break;
 case 3: modificarValor();
 break;
 case 4: eliminarValor();
 break; case 5: insertarValor();
 break;
 case 6: mostrarLista();
 break;
 case 7: ordenarAscendente();
 break;
 case 8: ordenarDescendente();
 break;
 }
 }while(opcion!=9);
 }
 public void ingresarValor() {
 Scanner entrada = new Scanner(System.in);
 double valor;
 System.out.print("Ingrese valor: ");
 valor = entrada.nextDouble();
 listaReales.add(valor);
 }

 public void buscarValor() {
 Scanner entrada = new Scanner(System.in);
 double valor;
 int indice;
 System.out.print("Valor a buscar: ");
 valor = entrada.nextDouble();
 indice = listaReales.indexOf(valor);
 if(indice != -1)
 System.out.println("Dato se encuentra en posicion: " + indice);
 else
 System.out.println("Dato no se encuentra");
 }

 public void modificarValor() {
 Scanner entrada = new Scanner(System.in);
 double valor, nuevoValor;
 int indice;
 System.out.print("Valor a modificar: ");
 valor = entrada.nextDouble();
 indice = listaReales.indexOf(valor);
 if(indice != -1){
 System.out.print("Nuevo valor: ");
 nuevoValor = entrada.nextDouble();
 listaReales.set(indice, nuevoValor);
 }
 else
 System.out.println("Dato no se encuentra");
 }
 public void eliminarValor() {
 Scanner entrada = new Scanner(System.in);
 double valor;
 int indice;
 System.out.print("Valor a eliminar: ");
 valor = entrada.nextDouble();
 indice = listaReales.indexOf(valor);
 if(indice != -1){
 listaReales.remove(indice);
 System.out.println("Dato eliminado");
 }
 else
 System.out.println("Dato no se encuentra");
 }

 public void insertarValor() {
 Scanner entrada = new Scanner(System.in);
 double valor;
 int indice;
 System.out.print("Valor a insertar: ");
 valor = entrada.nextDouble();
 System.out.print("Posicion donde desea insertar: ");
 indice = entrada.nextInt();
 listaReales.add(indice, valor);
 }
 public void mostrarLista() {
 if(!listaReales.isEmpty()) {
 System.out.println("Elementos de la lista:");
 for(int i = 0; i < listaReales.size(); i++)
 System.out.println(listaReales.get(i));
 }
 else
 System.out.println("No existen valores en la lista");
 }

 public void ordenarAscendente(){
 Collections.sort(listaReales);
 mostrarLista();
 }

 public void ordenarDescendente(){
 Comparator<Double> comparador = Collections.reverseOrder();
 Collections.sort(listaReales, comparador);
 mostrarLista();
 }
}
Share:

Crear la clase VectorReales que tenga como atributos un arreglo unidimensional y el número de elementos que se ingresan

 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;
 }

}
Share:

Crear clase VectorNumeros que tenga como atributos un arreglo unidimensional de números reales y el número de elementos ingresados.

package proyectovectornumeros;
public class VectorNumeros {
 private double vector[];
 private int totalElementos;

 public VectorNumeros(){
 vector = new double[10];
 totalElementos = 0;
 }

 public VectorNumeros(int limite){
 vector = new double[limite];
 totalElementos = 0;
 }

 public int obtenerLimite() {
 return vector.length;
 }

 public boolean agregar(double valor){
 if(totalElementos < vector.length){
 vector[totalElementos] = valor;
 totalElementos++;
 return true;
 }
 else
 return false;
 }

 public double obtenerMayor() {
 int i;
 double mayor;
 mayor = vector[0];
 for(i = 0; i < totalElementos; i++)
 if(vector[i] > mayor)
 mayor = vector[i];
 return mayor;
 }
 public double obtenerMenor() {
 int i;
 double menor;
 menor = vector[0];
 for(i = 0; i < totalElementos; i++)
 if(vector[i] < menor)
 menor = vector[i];
 return menor;
 }
 public double calcularPromedio() {
 int i;
 double suma = 0;
 for(i = 0; i < totalElementos; i++)
 suma += vector[i];
 return suma / totalElementos;
 }

 public double desviacionEstandar() {
 int i;
 double promedio, suma;
 promedio = calcularPromedio();
 suma = 0;
 for(i = 0; i < totalElementos; i++)
 suma += Math.pow(vector[i] - promedio, 2);
 return Math.sqrt(suma / (totalElementos - 1));
 }
}
package proyectovectornumeros;
import java.util.Scanner;
public class ProyectoVectorNumeros {
 public static void main(String[] args) {
 VectorNumeros vectorNumeros = crearVectorNumeros();
 ingresarVector(vectorNumeros);
 imprimirVector(vectorNumeros);
 }
 public static void imprimirVector(VectorNumeros vectorNumeros) {
 System.out.println("El mayor es: " + vectorNumeros.obtenerMayor());
 System.out.println("El menor es: " + vectorNumeros.obtenerMenor());
 System.out.println("El promedio es: " + vectorNumeros.calcularPromedio());
 System.out.println("La desviación estandar es: " + vectorNumeros.desviacionEstandar());
 }
 public static void ingresarVector(VectorNumeros vectorNumeros) {
 double valor;
 int i;
 Scanner entrada = new Scanner(System.in);
 for(i = 0; i < vectorNumeros.obtenerLimite(); i++){
 System.out.print("VectorNumeros[ " + (i+1) + " ] = ");
 valor = entrada.nextDouble();
 vectorNumeros.agregar(valor);
 }
 }
 public static VectorNumeros crearVectorNumeros() {
 int totalElementos;
 Scanner entrada = new Scanner(System.in);
 System.out.print("Numero de elementos: ");
 totalElementos = entrada.nextInt();
 return new VectorNumeros(totalElementos);
 }



}
Share:

Crear un Vector de números reales y un método para calcular el producto escalar de ellos

package proyectoproductoescalar;
public class VectorReales {
 private double numeros[];
 private int totalElementos;

 public VectorReales(){
 numeros = new double[10];
 totalElementos = 0;
 }

 public int obtenerLimite(){
 return numeros.length;
 }

 public boolean agregar(double valor){
 if(totalElementos < numeros.length){
 numeros[totalElementos] = valor;
 totalElementos++;
 return true;
 }
 else
 return false;
 }

 public double calcularProductoEscalar(VectorReales vector){
 int i;
 double productoEscalar = 0;
 for(i = 0; i < totalElementos; i++)
 productoEscalar += numeros[i] * vector.numeros[i];
 return productoEscalar;
 }

}
package proyectoproductoescalar;
import java.util.Scanner;
public class ProyectoProductoEscalar {
 public static void main(String[] args) {
 System.out.println("Primer Vector");
 VectorReales vector1 = crearVector();
 System.out.println("Segundo Vector");
 VectorReales vector2 = crearVector();
 double productoEscalar = vector1.calcularProductoEscalar(vector2);
 System.out.println("El producto escalar es: " + productoEscalar);
 }
 public static VectorReales crearVector() {
 double valor;
 Scanner entrada = new Scanner(System.in);
 VectorReales vectorReales = new VectorReales();
 for(int i = 0; i < vectorReales.obtenerLimite(); i++){
 System.out.print("numero" + (i+1) + ": ");
 valor = entrada.nextDouble();
 vectorReales.agregar(valor);
 }
 return vectorReales;
 }

Share:

Buscar este blog

Con tecnología de Blogger.

Blog Archive

Blog Archive