Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: DarioGarcia en 10 Agosto 2014, 11:46 am



Título: EVALUACION MATRIZ EN JAVA
Publicado por: DarioGarcia en 10 Agosto 2014, 11:46 am
Buenas,

tengo una matriz [n][n] donde sus elementos i,j pueden ser 0 o 1.
necesito evaluar cuantos elementos i,j  a la derecha de un elemento i,j  determinado, valen 1

Gracias


Título: Re: EVALUACION MATRIZ EN JAVA
Publicado por: Swain en 10 Agosto 2014, 21:37 pm
Dudo que alguien quiera hacer tu tarea.
Si tenes una matriz[n][n] porque tenes elementos i,j ???

matriz[0][0] = 0;
matriz[0][1] = 1;
matriz[0][2] = 0;
matriz[0][3] = 0;
matriz[1][0] = 1;
matriz[1][1] = 0;
matriz[1][2] = 0;
matriz[1][3] = 1;


Esto seria una matriz.

Ahora que queres hacer con esto?



Título: Re: EVALUACION MATRIZ EN JAVA
Publicado por: robertofd1995 en 11 Agosto 2014, 12:52 pm
sino me equivoco lo que quiere hacer es una aplicacion relacionada con la teoria de grafos , sino lo que esta haciendo no tiene ningun uso "aparante"

lo que dices que quieres hacer seria algo tan facil como crear una funcion que pida dos parametros que serian las coordenadas y una vez obtenidas , realizar un bucle para mirar los elementos de la derecha de ese elemento , cuanto dices a la derecha a que te refieres, ¿a la derecha de la columna o a la derecha de la columna y fila ?

es decir si tienes :

0 0 1                                                  x 1 0
j x x                         o                        x  j 1     
0 1 2                                                  x 0 1


Título: Re: EVALUACION MATRIZ EN JAVA
Publicado por: eLank0 en 22 Agosto 2014, 11:16 am
Buenas,

Según tus palabras, necesitas saber cuantos elementos a la derecha valen 1. Esta tarea es muy sencilla, ya que eliminamos los elementos circundantes para quedarnos solo con los de la derecha. Pongamos por ejemplo una matriz [3][3]

0000
0100
1011
1111

En este caso, el método o función que programemos deberá devolvernos un 2, ya que a la derecha de nuestro elemento parámetro, tenemos dos elementos de valor 1.

NOTA: Supondremos que la matriz está declarada de manera como public en las propiedades de clase.

Código
  1. int unosDerecha(int x, int y) {
  2.     int contador = 0
  3.  
  4.     for (int i = y; i < matriz[0].length; i++) {
  5.          if ( matriz[x][i] == 1 ) {
  6.               contador++;
  7.          }
  8.     }
  9.  
  10.     return contador;
  11. }
  12.  

Con este método obtendríamos los unos que hay a la derecha del código indicado.

Salu2