jueves, 16 de junio de 2011

Ejercicios intercalar y concatenar tablas

Dadas dos tablas (arrays) de float, cuyos valores deben estar ordenados de menor a mayor, intercalarlas en una tabla resultante, de forma que contenga los números de ambas tablas ordenados de menor a mayor.

public class Intercalar {
    public static void main(String[] args) {
        int i=0, j=0, k=0;
        float [] tablaA, tablaB, tablaResultante;
        tablaA = new float[]{4.51F, 7.2F, 14.41F, 20.2F};
        tablaB = new float[]{2.25F, 3.0F, 19.5F, 33.33F};
        tablaResultante = new float[tablaA.length + tablaB.length];
        while (i < tablaA.length & j < tablaB.length){
            if (tablaA[i] <= tablaB[j]){
                tablaResultante[k] = tablaA[i];
                i++;
            }
            else{
                tablaResultante[k] = tablaB[j];
                j++;
            }
            k++;
        }
        while (i < tablaA.length){
            tablaResultante[k] = tablaA[i];
            i++;
            k++;
        }
        while (j < tablaB.length){
            tablaResultante[k] = tablaB[j];
            j++;
            k++;
        }
        System.out.print("Tabla A: ");
        for (i=0; i < tablaA.length; i++)
            System.out.print(tablaA[i]+ "  ");
        System.out.println();
        System.out.print("Tabla B: ");
        for (j=0; j < tablaB.length; j++)
            System.out.print(tablaB[j]+ "  ");
        System.out.println();
        System.out.print("Tabla Resultante: ");
        for (k=0; k < tablaResultante.length; k++)
            System.out.print(tablaResultante[k]+ "  ");
    }
}

Dadas dos tablas (arrays) de float, concatenarlas en una tabla resultante, de forma que contenga primero todos los valores de una tabla y después de la otra. 

public class Concatenar {
    public static void main(String[] args) {
         int i=0, j=0, k=0;
         float [] tablaA, tablaB, tablaResultante;
         tablaA = new float[]{4.51F, 7.2F, 14.41F, 20.2F};
         tablaB = new float[]{2.25F, 3.0F, 19.5F, 33.33F};
         tablaResultante = new float[tablaA.length + tablaB.length];
         while (i < tablaA.length){
             tablaResultante[k] = tablaA[i];
             i++;
             k++;
         }
         while (j < tablaB.length & k < tablaResultante.length){
             tablaResultante[k] = tablaB[j];
             j++;
             k++;
         }
         System.out.print("Tabla A: ");
         for (i=0; i < tablaA.length; i++)
             System.out.print(tablaA[i]+ "  ");
         System.out.println();
         System.out.print("Tabla B: ");
         for (j=0; j < tablaB.length; j++)
             System.out.print(tablaB[j]+ "  ");
         System.out.println();
         System.out.print("Tabla Resultante: ");
         for (k=0; k < tablaResultante.length; k++)
             System.out.print(tablaResultante[k]+ "  ");
    }
}

No hay comentarios:

Publicar un comentario