elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Explicación de un ejercicio de matriz unidad en lenguaje Java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Explicación de un ejercicio de matriz unidad en lenguaje Java.  (Leído 2,821 veces)
proview

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Explicación de un ejercicio de matriz unidad en lenguaje Java.
« en: 3 Marzo 2013, 17:22 pm »

Hola.

A ver si podéis resolverme esta duda( he leído las normas y no pido que me hagáis el ejercicio,ya que hecho ya está). Tengo un ejercicio de una matriz unidad,donde todos sus números son ceros excepto los de la diagonal principal.Os paso el código:

 public static void main (String[] args) {
   int [][] mUnidad= new int [4][4];
  
    for (int i=0; i < mUnidad.length; i++) {
        for (int j=0; j < mUnidad.length; j++) {
            if (i == j) {
                mUnidad[j]=1;
            }else {
                mUnidad[j] = 0;
            }
        }
    }

    for (int i=0; i < mUnidad.length; i++) {
        for (int j=0; j < mUnidad.length; j++) {
            System.out.print(mUnidad[j]+"\t");
        }
        System.out.println("");
    }
  }
}


Y el resultado sería:

1   0   0   0   
0   1   0   0   
0   0   1   0   
0   0   0   1


Pues mi duda,no entiendo en que momento del for hace que la fila sea igual a la columna para que ponga 1 ó distinta para que sea 0. Porque por ejemplo he intentado darle unos valores a la matriz,es decir, inicializarla para ver manualmente donde se repite y donde va el 1 o el 0 y puse esto:


int [][]mUnidad={
            {1,2,2,3},
            {5,6,5,3},
            {7,8,9,10},
            {13,2,2,3}
            };

Y bueno el resultado es el mismo, la matriz unidad con la diagonal a 1. Por lo que me deja perdido completamente. El que tengo más duda es en el primer for de i y j porque el segundo se que recorre lo guardado en el primer for y luego no muestra por pantalla.

¿Podéis sacarme de dudas ante este ejercicio? Gracias de antemano. Un saludo


« Última modificación: 3 Marzo 2013, 17:23 pm por proview » En línea

Chuidiang

Desconectado Desconectado

Mensajes: 161



Ver Perfil WWW
Re: Explicación de un ejercicio de matriz unidad en lenguaje Java.
« Respuesta #1 en: 3 Marzo 2013, 19:57 pm »

Hola:

No es difícil, el doble bucle de for i / for j con el if(i==j) dentro para poner 1.

El for i recorre las filas, es decir fila 0, fila 1, fila 2....

Para cada fila (ejemplo, fila 0), tienes dentro un bucle for j que recorre las columnas, es decir, vas teniendo fila0 columna0, fila0 columna1, fila0 columna2, ...

y el if mira si fila==columna pone un 1 y si no un 0.

Luego se repite para la fila1, luego para la fila2, ...

Se bueno.


En línea

proview

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Explicación de un ejercicio de matriz unidad en lenguaje Java.
« Respuesta #2 en: 4 Marzo 2013, 00:00 am »

Hola.

Gracias por responderme, al leerte se me ocurrió algo que probé en el eclipse y lo terminé de entender.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Explicacion de un simple ejercicio
Java
camaleon123 1 2,838 Último mensaje 6 Enero 2010, 06:07 am
por Leyer
ejercicio matriz
Programación C/C++
aral90 0 1,398 Último mensaje 9 Diciembre 2011, 20:18 pm
por aral90
Ejercicio con matriz tridimencional
Programación C/C++
luchofiattipo 5 2,954 Último mensaje 5 Octubre 2012, 15:46 pm
por xiruko
Ayuda explicación programa c++ (matriz inversa)
Programación C/C++
Cm7 0 2,346 Último mensaje 6 Diciembre 2017, 22:26 pm
por Cm7
Ejercicio matriz java
Java
shadow99 0 2,474 Último mensaje 16 Diciembre 2017, 14:55 pm
por shadow99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines