EVALUACION MATRIZ EN JAVA

Iniciado por DarioGarcia, 10 Agosto 2014, 11:46 AM

0 Miembros y 1 Visitante están viendo este tema.

DarioGarcia

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

Swain

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?

No me sigas.

robertofd1995

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

eLank0

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 (java) [Seleccionar]

int unosDerecha(int x, int y) {
    int contador = 0
   
    for (int i = y; i < matriz[0].length; i++) {
         if ( matriz[x][i] == 1 ) {
              contador++;
         }
    }
   
    return contador;
}


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

Salu2