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 0Como 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);
}
}