miércoles, 30 de abril de 2014

Programa Listas Simples Enlazadas

import java.util.Scanner;
class Nodo
    {
    int Elemento;
    Nodo Siguiente;//crea el nodo con enlase a otro
   
    public Nodo(int x)
    {
    Elemento=x;
    Siguiente=null;//aterriza el nodo listo para ligarse a otro nodo
    }
    }
public class ListaSimple {
     
    /**
     * Creates a new instance of <code>ListaSimple</code>.
     */
    public ListaSimple() {
    }
 
    /**
     */
    private static Nodo Frente=null, Final=null;
    public static void main(String[] args)
    {
      //Declaracion de variables y creacion del arreglo
    int Max,Opcion;
    int [] listasim;
   
    Scanner entrada = new Scanner (System.in);
   
        do
        {
        System.out.println("---------------Menu----------------");
        System.out.println(" 1)Insertar (Ingresar Datos a la Lista) ");
        System.out.println(" 2)Eliminar (Eliminar datos de la Lista) ");
        System.out.println(" 3)Presentar Lista ");
        System.out.println(" 4)Limpia Lista ");
        System.out.println(" 5)Salir /n");
        System.out.println(" Seleccione un opcion ");
Opcion =entrada.nextInt();

//Alimentando la opcion elegida mendiante un switch
switch (Opcion)
        {
        case 1 :  Insertar();
        break;

case 2 :  Eliminar ();
        break;

case 3 :  Presentar();
        break;

case 4 :  Frente=null;
 Final=Frente;
 System.out.println("La Lista se ha vaciado");
        break;

case 5 :  break;
default : System.out.println(" Opcion Incorrecta Teclea una del Menu ");
break;
        }
        }while (Opcion !=5);
    }
    public static void Insertar ()
{
int valor;
Nodo aux;
Scanner entrada= new Scanner (System.in);
System.out.println("Ingrese Elemento: ");
valor=entrada.nextInt();
aux=new Nodo(valor);
if (Frente == null)
Frente=aux;
else Final.Siguiente=aux;
Final=aux;

}
public static void Presentar ()
{
Nodo aux;
if (Frente == null)
System.out.println("Lista Vacia");

else
{
for(aux=Frente;aux!=null;)
{
System.out.println("Elemento "+aux.Elemento);
aux=aux.Siguiente;
}
}
}
public static void Eliminar ()
{
if(Frente==null)
System.out.println("No existen Elementos por Eliminar Lista Vacia");
else
{
Frente = Frente.Siguiente;
System.out.println("Primer Elemento Eliminado");
}
}
}

lunes, 28 de abril de 2014

Cola Circular

//Programa de Colas con Arreglos en Forma Circular
import java.util.Scanner;
public class ColaCircular
{

public  ColaCircular()
    {
   
    }
    public static int Frente=0, Final=0;
    public static void main(String[] args)
{
    //Declaracion de variables y creacion del arreglo
    int Max,Opcion;
    int [] colacir;
   
    Scanner entrada = new Scanner (System.in);
   
    //Solicita el tamaño del arreglo
    System.out.println ("Ingrese el tamaño del arreglo");
    Max=entrada.nextInt();
    colacir = new int [Max];
        Final=Max;
        Final = Max - 1;
    Frente = Siguiente(Final,Max);
        // Creando menu de datos
        do
        {
        System.out.println("---------------Menu----------------");
        System.out.println(" 1)Insertar (Ingresar Datos a Cola) ");
        System.out.println(" 2)Eliminar (Eliminar datos de Cola) ");
        System.out.println(" 3)Presentar Cola ");
        System.out.println(" 4)Limpia Cola ");
        System.out.println(" 5)Salir /n");
        System.out.println(" Seleccione un opcion ");
Opcion =entrada.nextInt();

//Alimentando la opcion elejida mendiante un swich
switch (Opcion)
        {
        case 1 :  Insertar(colacir,Max);
        break;

case 2 :  Eliminar (colacir,Max);
        break;

case 3 :  Presentar(colacir,Max);
        break;

case 4 :  Frente=0;
 Final=Max;
 System.out.println("La pila se ha vaciado");
        break;

case 5 :  break;
default : System.out.println(" Opcion Incorrecta Teclea una del Menu ");
break;
        }
        }while (Opcion !=5);
    }


public static int Siguiente (int p, int m) //alojara la posicion
{
return (p+1) % m;//%modulo extrae el residuo de una division estrallendo
//el valor del siguiente de fin
}
public static void Insertar (int[]c, int m)
{
Scanner entrada= new Scanner (System.in);
System.out.println(Siguiente(Final,m));
if(Frente==Siguiente(Siguiente(Final,m),m))
System.out.println("Cola LLENA");
else
{
System.out.println("Ingrese el valor");
Final=Siguiente(Final,m);
c[Final]=entrada.nextInt();

}
}
public static void Eliminar(int[]p, int m)
{
if (Frente==Siguiente(Final,m))
{
System.out.println("   Cola Vacia");
}
else
{
System.out.println("Eliminado el elemento <<"+Frente+">> =" +p[Frente]);
Frente=Siguiente(Frente,m);
}

}
public static void Presentar(int []p, int m)
{
        for(int i=Frente; i!=Siguiente(Final,m); i++)
      {
        System.out.println("Cola["+i+"] = "+p[i]);
      }
     }
   
}

jueves, 10 de abril de 2014

Programa Cola Lineal Con Arreglos

/*Programa para Crear Colas con arreglos y metodos mas bucles*/


import java.util.Scanner;
public class Colas
{
       
    public Colas()
    {
   
    }
    public static int Frente=0, Final=0;
    public static void main(String[] args)
    {
    //Declaracion de variables y creacion del arreglo
    int Max,Opcion;
    int [] cola;
    Scanner entrada = new Scanner (System.in);
   
    //Solicita el tamaño del arreglo
    System.out.println ("Ingrese el tamaño del arreglo");
    Max=entrada.nextInt();
    cola = new int [Max];
       
        // Creando menu de datos
        do
        {
        System.out.println("---------------Menu----------------");
        System.out.println(" 1)Insertar (Ingresar Datos a Cola) ");
        System.out.println(" 2)Eliminar (Eliminar datos de Cola) ");
        System.out.println(" 3)Presentar Cola ");
        System.out.println(" 4)Limpia Cola ");
        System.out.println(" 5)Salir /n");
        System.out.println(" Seleccione un opcion ");
Opcion =entrada.nextInt();

//Alimentando la opcion elejida mendiante un swich
switch (Opcion)
        {
        case 1 :  Insertar(cola,Max);
        break;

case 2 :  Eliminar (cola);
        break;

case 3 :  Presentar(cola, Frente, Final);
        break;

case 4 :  Frente=0;
 Final=0;
 System.out.println("La pila se ha vaciado");
        break;

case 5 :  break;
default : System.out.println(" Opcion Incorrecta Teclea una del Menu ");
break;
        }
        }while (Opcion !=5);
    }

//Declarar procedimiento mediante metedos
public static void Insertar (int []c, int m) //
{
Scanner ent = new Scanner(System.in);

if (Final<m)//Verifica que exista espacio para ingresar Valor
{
System.out.println("Ingrese el valor");
c[Final]= ent.nextInt();
Final++;
if(Final==1)
{
Frente=Final;
}
}
else
{
System.out.println("COLA LLENA DESBORDAMIENTO");
}

}
public static void Eliminar(int []c)
{
if (Frente>Final || Final==0)
{
System.out.println("LA COLA ESTA VACIA No existen elementos a Eliminar");
}
else
{
System.out.println("Se elimino el elemento c["+Frente+"]= "+c[Frente-1]);
Frente++;
}
}
public static void Presentar(int []c, int Frente, int Final)
{
if (Frente>Final || Final==0)
{
System.out.println("LA COLA ESTA VACIA");
}
else
{
System.out.println("--------Mostrando Elementos de Cola----------");
for (int i=Frente;i<=Final;i++)
            System.out.println("Cola ["+i+"]"+c[i-1]);
   
}
}
}

martes, 8 de abril de 2014

Creación de pilas con arreglos, métodos y bucles

/*Programa para Crear Pilas con arreglos y metodos mas bucles*/


import java.util.Scanner;
public class Pilas
{
       
    public Pilas()
    {
    }
   
    public static void main(String[] args)
    {
    //Declaracion de variables y creacion del arreglo
    int n,Opcion,Cima=0;
    int [] pila;
    Scanner entrada = new Scanner (System.in);
   
    //Solicita el tamaño del arreglo
    System.out.println ("Ingrese el tamaño del arreglo");
    n=entrada.nextInt();
    pila = new int [n];
       
        // Creando menu de datos
        do
        {
        System.out.println("---------------Menu----------------");
        System.out.println(" 1)Push (Ingresar Datos a Pila) ");
        System.out.println(" 2)Pop (Eliminar datos de pila) ");
        System.out.println(" 3)Presentar pila ");
        System.out.println(" 4)Limpiar pila ");
        System.out.println(" 5)Salir /n");
        System.out.println(" Seleccione un opcion ");
Opcion =entrada.nextInt();

//Alimentando la opcion elejida mendiante un swich
switch (Opcion)
        {
        case 1 :  Cima=push(pila,Cima);
        break;

case 2 :  Cima=Pop (pila,Cima);
        break;

case 3 :  Presentar(pila,Cima);
        break;

case 4 :  Cima=0;
 System.out.println("La pila se ha vaciado");
        break;

case 5 :  break;
default : System.out.println(" Opcion Incorrecta Teclea una del Menu ");
break;
        }
        }while (Opcion !=5);
    }

//Declarar procedimiento mediante metedos para las opciones del DO
public static int push (int []p, int c) //p nombre que otorgara valores a push
{
Scanner ent = new Scanner(System.in);

if (c<p.length)//Verifica que exista espacio para ingresar elemento
{
c++;
System.out.println("Ingrese elemento"+c+":");
p[c-1]= ent.nextInt();
}
else
{
System.out.println("PILA LLENA Elimine un Elemento");
}
return c;
}
public static int Pop(int []p, int c)
{

if (c!=0)
{
System.out.println("Se elimino el elemento"+c+"= "+p[c-1]);
c--;
}
else
{
System.out.println("LA PILA ESTA VACIA");
}
return c;
}
public static void Presentar(int []p, int c)
{
if (c!=0)
{
System.out.println("-----Mostrando los datos conenidos en la pila-----");
for (int i=c-1;i>=0;i--)
    {
    System.out.println("Elemento "+i+" : "+p[i]);
    }
}
else
{
System.out.println("PILA VACIA");
}
}
}

Ordenar Números Mediante Arreglos Método de la Burbuja

//Solicitar cantidad de elementos (unidimensional)
//Crear metodo de lectura
//Crear metodo de presentar datos
//Crear metodo ordenar datos(metodo de la burbuja)

import java.util.Scanner;

public class ArregloOrdenado
{
   
    public ArregloOrdenado()
    {
    }
 
    public static void main(String[] args)
    {
        int n;
   
    //se declara el arreglo
    int []x;
    Scanner entrada = new Scanner(System.in);
   
    //Se introduce el valor de n que sera el espacio del arreglo
    System.out.println("Cual sera el tamaño del arreglo: ");
    n=entrada.nextInt();
    x=new int[n];
         
        leerdatos(x);
        presentardatos(x);
        ordenardatos(x);
     
    }
    public static void leerdatos(int [] a)
    {
    Scanner entrada=new Scanner(System.in);
    for (int i=0;i<a.length;i++)
    {
    System.out.print("Ingresa el elemento a["+i+"]");
    a[i]=entrada.nextInt();
    }
    }
    public static void presentardatos (int [] a)
    {
    for (int i=0;i<a.length;i++)
    {
    System.out.println("los datos ingresados en a["+i+"]"+a[i]);
   
    }
    }
    public static void ordenardatos (int [] a)
    {
    int aux;
        for(int i=0;i<a.length-1;i++)
            for(int j=0;j<a.length-i-1;j++)
                   //condición que ordena los datos
                   if(a[j+1]<a[j])
                   {
                      aux=a[j+1];
                      a[j+1]=a[j];
                      a[j]=aux;
                   }
         // Mostrar el arreglo ordenado
        for(int k=0; k<a.length; k++)
        System.out.print(a[k]+" ");
    }
}

Arreglo Multidimensional

import java.util.Scanner;

public class ArregloMultidimencional
{
       
    public ArregloMultidimencional()
    {
    }
   
    public static void main(String[] args)
    {
    int n,m;
    int [][]x;
    Scanner ent= new Scanner (System.in);
    System.out.println("Ingrese numero de renglones ");
    n=ent.nextInt();
    System.out.println("Ingrese numero de columnas ");
    m=ent.nextInt();
    x=new int[n][m];
   
      leerdatos(x);
      presentar(x);
    }
    // se recibe el parametro con el nombre del arreglo a utilizar
    public static void leerdatos (int [][]a)
    {
    Scanner ent = new Scanner(System.in);
    System.out.println("Ingrese los datos: ");
   
    for (int i=0;i<a.length;i++)// Guarda los datos del primer arreglo
    {
    for (int j=0;j<a[i].length;j++)// Guarda los datos del segundo arreglo
    {
    System.out.print("a["+i+"]["+j+"]= ");
    a[i][j]=ent.nextInt();
    }
    }
    }
    public static void presentar (int [][]a)
    {
    for (int i=0;i<a.length;i++)
    {
    for (int j=0;j<a[i].length;j++)
    {
    System.out.print(a[i][j]+"  ");
    }
    System.out.println();
    }
   
    }
}

Comparación de Números Enteros Mediante Arreglos

import java.util.Scanner;

public class ArregloUniV2
{

    public ArregloUniV2()
    {
    }
   
    public static void main(String[] args) {
      int n;
   
    //se declara el arreglo
    int []x;
    Scanner entrada = new Scanner(System.in);
   
    //Se introduce el valor de n que sera el espacio del arreglo
    System.out.println("Cual sera el tamaño del arreglo: ");
    n=entrada.nextInt();
    x=new int[n];
   
    //en lugar de crear un ciclo se creara la siguiente declaraciones
    //(metodos)
    leedatos(x);
    muestradatos(x);
    System.out.println("El menor es: "+menor(x));
    System.out.println("El mayor es: "+mayor(x));
    System.out.println("El Promedio es: "+prom(x));
    }
    public static void leedatos(int [] a)
    {
    Scanner entrada=new Scanner(System.in);
    for (int i=0;i<a.length;i++)
    {
    System.out.print("Ingresa el elemento a["+i+"]");
    a[i]=entrada.nextInt();
    }
    }
    public static void muestradatos (int [] a)
    {
    for (int i=0;i<a.length;i++)
    {
    System.out.println("los datos ingresados en a["+i+"]"+a[i]);
   
    }
    }
    public  static int menor (int [] a)
    {
    int min =a[0];
    for(int i=0;i<a.length;i++)
    {
    if(a[i]<min)
    min=a[i];
    }
    return min;
    }
    public static int mayor (int [] a)
    {
    int may =a[0];
    for (int i=0;i<a.length;i++)
    {
    if(a[i]>may)
    may=a[i];
    }
    return may;
    }
    public static double prom (int [] a)
    {
    int  suma=0;
    double  prom;
    for (int i=0;i<a.length;i++)
    {
    suma+=a[i];

    }
    prom=suma/a.length;
    return prom;
    }
}

Figuras Geométricas con Bucles Repetitivos

//Programa para utilizar bucles Repetitivos
import java.util.Scanner;
import matematicas.Area;
public class figurasgeometricasdowhile
{
       
    public figurasgeometricasdowhile()
    {
    }
   
    public static void main(String[] args)
    {
        //Declaracion de variable
        int opcion,lado,l1,l2,a,b;
double pi=3.14159,r;
        //objeto para introduccir datos y alojarlos
        Scanner entrada = new Scanner (System.in);
        Area area = new Area ();
        do
        {
System.out.println(" 1) cuadrado");
System.out.println(" 2) rectangulo");
System.out.println(" 3) triangulo");
System.out.println(" 4) circulo");
System.out.println(" 0) salir");
System.out.println("seleccione un opcion");
opcion =entrada.nextInt();

        switch (opcion)
        {
        case 1 :  System.out.println("da el lado");
lado=entrada.nextInt();
System.out.println("el  area  es : "+area.cuadrado(lado));
break;

case 2 :  System.out.println("da el  primer lado");
l1=entrada.nextInt();
System.out.println("da el segundo  lado:");
l2=entrada.nextInt();
System.out.println("el  area  es : "+area.rectangulo(l1,l2));
break;

case 3 :  System.out.println("da la base ");
b=entrada.nextInt();
System.out.println("da la altura:");
a=entrada.nextInt();
System.out.println("el  area  es : "+area.triangulo(b,a));
break;

case 4 :  System.out.println("introduce el radio");
r=entrada.nextInt();
System.out.println("el  area  es : "+area.circulo(pi,r));
break;

case 0 :  break;
default : System.out.println("Te equivocaste  de opcion");
break;
}
}while (opcion!=0);

       
    }
}

Creando un paquete para importar a un programa

//package es el nombre de la carpeta creada
package matematicas;

//new file java class(crea esta estructura)
public class Area {
//constructor se obtiene del codigo creado
    public Area() {
    }
    public int cuadrado(int lado){
    int ret;
ret=lado*lado;
return ret;
    }
    public int rectangulo(int l1,int l2){
int ret;
ret=l1*l2;
return ret;
}
public int triangulo (int base, int altura){
int ret;
ret=(base*altura)/2;
return ret;
}
public double circulo (double pi, double radio){
double ret;
ret=pi*(radio*radio);
return ret;
}
}

Figuras Geométricas Importando un Paquete

//todas las clases de que esten en el paquete matematicas son importadas

import matematicas.*;

//se crea al generar aplicacion de java
public class Objetocuadradoobjeto {
       
    public Objetocuadradoobjeto() {
    }
   
    public static void main(String[] args) {
    int lado=4,l1=5,l2=6,base=7,altura=8;
        double pi=3.14159,radio=10;
       
        //creacion del Objeto
        Area area = new Area ();
       
        //linea de impresion por clase // objeto.metodo.(variable)
        System.out.println("Area del cuadrado es:"+ area.cuadrado(lado)+"\n");
        System.out.println("Area del cuadrado es:"+ area.rectangulo(l1,l2)+"\n");
        System.out.println("Area del triangulo es:"+ area.triangulo(base,altura)+"\n");
        System.out.println("Area del circulo es:"+ area.circulo(pi,radio)+"\n");  
    }
}

Figuras Geométricas con Arreglos

//Programas de Areas con Objetos

public class Objetocuadrado {
       
    public Objetocuadrado() {
    }
   
    public static void main(String[] args) {
        int lado=4,l1=5,l2=6,base=7,altura=8;
        double pi=3.14159,radio=10;
       
        //creacion del Objeto
        Area area = new Area ();
       
        //linea de impresion por clase // objeto.metodo.(variable)
        System.out.println("Area del cuadrado es:"+ area.cuadrado(lado)+"\n");
        System.out.println("Area del cuadrado es:"+ area.rectangulo(l1,l2)+"\n");
        System.out.println("Area del triangulo es:"+ area.triangulo(base,altura)+"\n");
        System.out.println("Area del circulo es:"+ area.circulo(pi,radio)+"\n");
    }
}
//Construccion de las clases se realiza fuera de la estructura.
class Area{
public Area(){
}
//Dentro de las clases se crean los metodos a llamar.
public int cuadrado(int lado){
int ret;
ret=lado*lado;
return ret;
}
public int rectangulo(int l1,int l2){
int ret;
ret=l1*l2;
return ret;
}
public int triangulo (int base, int altura){
int ret;
ret=(base*altura)/2;
return ret;
}
public double circulo (double pi, double radio){
double ret;
ret=pi*(radio*radio);
return ret;
}
}