viernes, 16 de diciembre de 2011

Laboratorio Arreglos java

Autor: Gabriel Pereira
Competencia: Desarrollo de Software.
Palabras Clave: Arreglos, ciclos,bucles.

Descripción: Trabajo en java con el proposito de desarrollar distintos métodos en la soulcioón de algunos problemas.

import java.lang.String;

public class metodos
{
    private int N;
    private int M[];
    private int C[];
    private boolean ok;
    public metodos(int n)
    {
        this.N = n;
        this.M = new int[N];
        this.C = new int[N];
    }
   
    public void LlenAzar(int lbajo,int lalto)
    {
        for(int i=0;i < N;i++)
        {
            M[i] = lbajo + (int)(Math.random() * (lalto-lbajo+1));
        }
        if(lbajo >= lalto)
        {
            System.out.print("Falso");
        }
        else
        {
            System.out.println("Arreglo llenado Verdadero  ");
        }
    }
   
    public void Mostrar()
    {
        System.out.println("Mostrando Arreglo");
        for (int i=0;i<N;i++)
        {
            System.out.print(M[i] + " - ");
        }
        System.out.println();
    }
   
    public void LlenarAscAzar(int inicio)
    {    
        int i= 0;
        ok = true;
        System.out.println(" Arreglo al Azar Ordenado Ascendentemente");
        M[i] = M[i] + (int)(Math.random()+ inicio);
        System.out.print(M[i] + " - ");
        if ( ok == true){
            for(i=1;i<N;i++){
                M[i] = M[i] + (int)(Math.random()+ inicio);
                if (M[i] > M[i-1]){
                    System.out.print(M[i] + " - ");
                    ok = true;
                } else { i-- ; }   
            }
        }
        System.out.println();
    }

   
   
    public void Invertir()
    {
        int i=0; int j=N-1;
        int aux=0;
        while (i<=j)
        {
            aux = M[j];
            M[j] = M[i];
            M[i] = aux;
            i++; j--;
        }   
    }
   
    public void MostrarRevertido()
    {
        System.out.println("Mostrando Arreglo Invertido");
        for (int i=0;i<N;i++)
        {
            System.out.print(M[i] + " - ");
        }
    }
   
    public int Promedio()
    {
        int sum = 0;
        for (int i = 0;i<N;i++)
        {
            sum = sum + M[i];
        }
        return (sum/N);
    }
   
    public int Men()
    {  
        int menor = 100;
        for(int i=0; i<N;i++)
        {
            if(M[i] < menor)
            {
                menor = M[i];
            }   
        }
        return menor;
    }
   
    public int May()
    {  
        int mayor = 10;
        for(int i=0; i<N;i++)
        {
            if(M[i] > mayor)
            {
                mayor = M[i];
            }
        }
        return mayor;
    }
   
    public int PosMen()
    {  
        int pos = 0;
        int menor = 100;
        for(int i=0; i<N;i++)
        {
            if(M[i] < menor)
            {
                menor = M[i];
                pos = i;
            }   
        }
        return pos;
    }
   
    public int PosMay()
    {  
        int pos = 0;
        int mayor = 10;
        for(int i=0; i<N;i++)
        {
            if(M[i] > mayor)
            {
                mayor = M[i];
                pos = i;
            }
        }
        return pos;
    }
   
    public int Orden()
    {
        int num = 0;
        int i = 0;
        ok = true;
        int n = M[i];
        if (ok == true){
            for(i=1;i<N;i++)
            {
                if(M[i] > n){
                    ok = true;
                    if(i == 9){
                        num =  -1;
                    }   
                }else { num = 0; }
           
                if(n > M[i]){
                    n = M[i];
                    if(i == 9){
                        num = 1;
                    } else { num = 0; }
                }   
            }
        }   
        return num;
    }
   
    public void Buscar(int numero)
    {
        int pos=0;
        for(int i=0;i<N;i++)
        {
            if(M[i] == numero){
                pos = i;
                System.out.println("El número fue encontrado en la posición: " +pos); break;
            } else{ System.out.println("No fue encontrado" +-1); break;}
        }
    }
   
    public int Intercambio()
    {
        int inter =0;
        int aux=0;
        for(int i=0;i<N;i++)
        {
            for(int j=1;j<N;j++)
            {
                if(M[i] < M[j]){
                    aux = M[j];
                    M[j] = M[i];
                    M[i] = aux;
                    inter++;
                }
            }   
        }
        return inter;
    }
   
    public void MostrarInter()
    {
        System.out.println("Mostrando Arreglo Inter");
        for (int i=0;i<N;i++)
        {
            System.out.print(M[i] + " - ");
        }
        System.out.println();
    }
   
   
    public boolean Repetidos()
    {
        boolean nfalso = false;
        int n=0;
        for(int i=1;i<N;i++)
        {
            if(M[i] == M[i-1]){
                n++;
            }
        }   
        if(n > 0){
            nfalso = true;
        } else{
            nfalso = false;
        }
        return nfalso;
    }  
   
     
   
    public void Suma(int tipo)
    {
        int sum=0;
        switch(tipo){
            case 0:
                for(int i=0;i<N;i++)
                {
                    sum = sum + M[i];
                }
                System.out.println("La suma de los n elementos es: " +sum);
                break;
            case 1:
                for(int i=0;i<N;i++)
                {
                    if(M[i] % 2 == 0){
                        sum = sum + M[i];
                    }   
                }
                System.out.println("La suma de los pares es: " +sum);
                break;
            case 2:
                for(int i=0;i<N;i++)
                {
                    if(M[i] % 2 == 1){
                        sum = sum + M[i];
                    }
                }
                System.out.println("La suma de los impares es: " +sum);
                break;
            case 3:
            int n1=0;int n2=0;
                for(int i=1;i<N;i++)
                {
                    if(M[i] > M[i-1]){
                        n1 = M[i];
                    }
                }
                for(int i=1;i<N;i++)
                {
                    if(M[i] < M[i-1]){
                        n2 = M[i];
                    }
                }
                sum = sum + n1 + n2;
                System.out.println("La suma del mayor y menor es: " +sum);
                break;
            default:
                System.out.println("Opción erronea");
                break;
        }
    }
   
    public void Cambiar(int este,int poreste)
    {
        for(int i=0;i<N;i++)
        {
            if(M[i] == este){
                M[i] = poreste;
            }   
        }
    }
   
    public void Cuantos(int tipo)
    {
        int cant=0;
        switch(tipo){
            case 0:
                for(int i=0;i<N;i++)
                {
                    if(M[i] % 2 == 0){
                        cant++;
                    }
                }
                System.out.println("La cantidad de pares es: " +cant);
                break;
            case 1:
                for(int i=0;i<N;i++)
                {
                    if(M[i] % 2 == 1){
                        cant++;
                    }
                }
                System.out.println("La cantidad de impares es: " +cant);
                break;
            case 3:
                for(int i=1;i<N;i++)
                {
                    if(M[i] < M[i-1]){
                        if(M[i] > M[i+1]){
                            cant++;
                        }   
                    }
                }
                System.out.println("La cantidad de n entre es: " +cant);
                break;
           default:
                System.out.println("Opción erronea");
                break;
        }
    }   
   
    public int Abajo()
    {
        int sum=0;int cant=0;
        for(int i=0;i<N;i++)
        {
            sum = sum + M[i];
        }
        sum = sum / 10;
        for(int i=0;i<N;i++)
        {
            if(M[i] < sum){
                cant++;
            }   
        }
        return cant;
    }
   
    public int Arriba()
    {
        int sum=0;int cant=0;
        for(int i=0;i<N;i++)
        {
            sum = sum + M[i];
        }
        sum = sum / 10;
        for(int i=0;i<N;i++)
        {
            if(M[i] > sum){
                cant++;
            }   
        }
        return cant;
    }
   
    public void Escribir(int valor,int posicion)
    {
        if(posicion < N){
            if(posicion > 0){
                M[posicion] = valor;
                System.out.println("Escritura con exito");
            }
        }else {
            System.out.println("Posición fuera de rango");
        }
    }
   
    public boolean Graficar()
    {
        ok = true;
        String cad="x";
        for(int i=0;i<N;i++)
        {
            int lim = M[i] / 2;
            for(int j=0;j<lim;j++)
            {
                System.out.print(cad);
                if(j == lim-1){
                    System.out.println();
                }
            }
           
        }
        return ok;
    }
   
    public boolean Desplazar()
    {
        int cant=0;
        ok = true;
        for(int i=0;i<N;i++)
        {
            for(int j=0;j<N;j++)
            {
                if(M[i] % 2 == 1){
                    cant++;
                    C[j] = M[i];
                }
                else {
                    for(int a=0;a<N;a++)
                        {
                            M[a] = M[i];
                        }
                }      
            }   
        }
        for(int i=N-cant+1;i<N;i++)
        {          
            for(int j=0;j<N;j++)
            {
                M[i] = C[j];
            }   
        }
        System.out.println("Arreglo dezplazado");
        for(int i=0;i<N;i++)
        {
            System.out.print("  -  " + M[i]);
        }
        System.out.println();
        return ok;
    }
   
    public void Por(int por)
    {
        for(int i=0;i<N;i++)
        {
            M[i] = M[i] * por;
            System.out.print("  -  ");
        }
        System.out.println();
    }
   
    public boolean Desordenar()
    {
        int n=0;
        ok = true;
        for(int i=0;i<N;i++)
        {
            n = (int)(Math.random() +9);
            M[n] = M[i];
        }
        return ok;
    }
   
    public void Ordenar(int tipo)
    {
        int aux=0;
        ok = true;
        switch(tipo){
            case 0:
                if(ok == true){
                    for(int i=0;i<N;i++)
                    {
                        for(int j=1;j<N;j++)
                        {
                            if(M[i] < M[j]){
                                ok = true;
                            } else{
                                aux = M[i];
                                M[i] = M[i+1];
                                M[i+1] = aux;
                            }    
                        }
                    }
                }   
                break;
            case 1:
                if(ok == true){
                    for(int i=0;i<N;i++)
                    {
                        for(int j=1;j<N;j++)
                        {
                            if(M[i] > M[j]){
                                ok = true;
                            } else{
                                aux = M[i];
                                M[i] = M[i+1];
                                M[i+1] = aux;
                            }  
                        }
                    } 
                    break;  
                }       
            }
        }
       
   
    public String Alfabetizar()
    {
        String Cadena[] = new String[10];
        for(int i=0;i<N;i++)
        {
            C[i] = M[i] % 26;
            C[i] = C[i] + 65;
            for(int j=0;j<N;j++)
            {
                Cadena[j] = Integer.toString(C[i]);       
            }   
        }           
        return Cadena[10];
    }
  
    public String About()
    {
        String cad = "Esta clase fue programada por Gabriel Pereira Flores";
        return cad;
    }   
}
       
   
PANTALLAZO PROGRAMA EN FUNCIONAMIENTO