Mostrando entradas con la etiqueta matemáticas. Mostrar todas las entradas
Mostrando entradas con la etiqueta matemáticas. Mostrar todas las entradas

miércoles, 1 de febrero de 2017

Matrices: Tablas de multiplicar

Crea una función que en primer lugar genere esta matriz:

   0   1   2   3   4   5   6   7   8   9  10
   1   0   0   0   0   0   0   0   0   0   0
   2   0   0   0   0   0   0   0   0   0   0
   3   0   0   0   0   0   0   0   0   0   0
   4   0   0   0   0   0   0   0   0   0   0
   5   0   0   0   0   0   0   0   0   0   0
   6   0   0   0   0   0   0   0   0   0   0
   7   0   0   0   0   0   0   0   0   0   0
   8   0   0   0   0   0   0   0   0   0   0
   9   0   0   0   0   0   0   0   0   0   0
  10   0   0   0   0   0   0   0   0   0   0
Como ves la primera fila y la primera columna tienes valores del 1 al 10. A continuación rellena los valores centrales con el resultado de multiplicar el número que aparezca en la primera fila por el número que aparezca en la primera columna, de tal forma que quede esto:
   0   1   2   3   4   5   6   7   8   9  10
   1   1   2   3   4   5   6   7   8   9  10
   2   2   4   6   8  10  12  14  16  18  20
   3   3   6   9  12  15  18  21  24  27  30
   4   4   8  12  16  20  24  28  32  36  40
   5   5  10  15  20  25  30  35  40  45  50
   6   6  12  18  24  30  36  42  48  54  60
   7   7  14  21  28  35  42  49  56  63  70
   8   8  16  24  32  40  48  56  64  72  80
   9   9  18  27  36  45  54  63  72  81  90
  10  10  20  30  40  50  60  70  80  90 100


SOLUCIÓN EN JAVA:
package matricestablasmultiplicar;

public class MatricesTablasMultiplicar {

    static int[][] generaMatriz(int filas, int columnas){
        int i,j;
        int[][] matriz = new int[filas][columnas];
        
        //Relleno la primera fila y la primera columna de la matriz
        for (i=0 ; i < matriz.length ; i++){
            matriz[i][0]=i;
            matriz[0][i]=i;
        }
        //Ahora relleno el resto de la matriz
        for (i=1 ; i < matriz.length ; i++){
            for (j=1 ; j < matriz[i].length ; j++){
               matriz[i][j]=i*j; 
            }
        }
        return matriz;
    }
    //Con esta función hacemos un recorrido por la matriz para mostrar todas sus
    //casillas, utilizo la salida con formato "%4d" para que todos los valores salgan
    //tabulados con un ancho de 4 carácteres.
    static void muestraMatriz(int[][] matriz){
        int i,j;
        
        for (i=0; i < matriz.length ; i++){
            for (j=0 ; j < matriz[i].length ; j++){
                System.out.printf("%4d", matriz[i][j]);
            }
            System.out.println();
        }
    }
    public static void main(String[] args) {
        int[][] matriz=new int[11][11];
        
        matriz=generaMatriz(11,11);
        muestraMatriz(matriz);        
    }    
}