Java - Consulta evaluación de matriz en java

   
Vista:

Consulta evaluación de matriz en java

Publicado por Darío (5 intervenciones) el 06/08/2014 00:24:21
Buenas,

Estoy modelando un tumor utilizando java y ecuaciones matemáticas. Para ello utilizo el software EJS( easy java simulations), concebido para personas más interesadas en el contenido del modelo que en los aspectos técnicos necesarios para la construcción del mismo. Aún así, me he encontrado con un problema:

El modelo se construye a partir de una matriz donde cada elemento i,j (denominado cells[i][j]) puede ser 0 ( célula sana) o 1( célula cancerígena). Una de las reglas que pretendo escribir en código es que cuando un elemento i,j tenga los siguientes 60 elementos de su izquierda con el valor de 1, ese elemento i,j cambie de valor a 3 (cellsN[i][j]=3)

Lo que he pensado ha sido lo siguiente:

for (int i=0; i<n; i++) {
for (int j=0; j<n; j++) {
if (cells[i][j]==1) {
for (int it=0; it<=60 ; it++) {
if (cells[i+it][j]==1)
cellsN[i][j]=3;
}
}
}
}
El codigo esta mal, pero es una idea de como lo estoy escribiendo.
Lo que quiero es un código que me evalúe el valor de los 60 elementos a la izquierda del elemento en cuestión y si el valor de esos 60 elementos es 1, entonces el elemento en cuestión pasa a valer 3.

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fernando

Consulta evaluación de matriz en java

Publicado por Fernando (82 intervenciones) el 06/08/2014 01:16:23
mira esta es una idea la validacion de abajo no esta correcta pero no tengo mucho tiempo ahorita espero que te sierva para guiarte un poco en una forma de evaluar los for del final no estan bien validados pero quizas la idea te sierva, me gustaria ayudarte mas pero tengo que salir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public void prueba()
    {
        //llenamos el arreglo con puros unos para validar este se elimina despues
        int cells[][]=new int[200][200];
        int n;
        int contadorizquierda=0;
        int contadorderecha=0;
        int cellsN[][]= new int[200][200];
        for(int a=0;a<140;a++)
        {
            for(int b=0;b<140;b++)
            {
                cells[a][b]=1;
            }
        }
        //inicia la validaciondel arreglo
 
        for (int i=0; i<cells.length; i++)
        {
          for (int j=0; j<cells.length; j++)
          {
            if (cells[i][j]==1)
            {
                if(i>60)
                {
                    //valida 60 valores a la izquierda
                    for (int it=0; it<i ; it++)
                    {
                        if (cells[i][it]==1)
                        {
                            contadorizquierda++;
                        }
                    }
                    //valida 60 valores a la derecha
                    for (int ip=0; ip>i ; ip++)
                    {
                        if (cells[i][ip]==1)
                        {
                            contadorderecha++;
                        }
                    }
                        if (contadorizquierda==60 && contadorderecha == 60)
                        {
                            cellsN[i][j]=3;
                        }
                    }
                }
            }
            }
        }
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta evaluación de matriz en java

Publicado por Tom (910 intervenciones) el 06/08/2014 09:23:20
Creo que deberías definir mejor qué significa "a la izquierda".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta evaluación de matriz en java

Publicado por Dario (5 intervenciones) el 06/08/2014 16:10:49
Si el elemento es cells[i][j], entonces el primer vecino a su izquierda es cells[i-1][j], el segundo vecino a su izquierda es cells[i-2][j], así sucesivamente.


Gracias por el interés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar