Java - problema con matriz

 
Vista:

problema con matriz

Publicado por LFMI (1 intervención) el 06/06/2013 05:11:19
Hola, alquien me puede decir porfavor porque este programa rellena no rellena los coeficientes que se encuentran ni arriba ni a la izq del pto, gracias

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package t.ciencias;
import java.io.*;
public class NewClass1 {
    public static void main(String[] args) throws IOException {
    BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
    int a=4,i,j;
    double alcance=0.13;
    double matrizmet0[][]=new double[a][a];
    double matrizmet1[][]=new double[a][a];
    double matrizvigilantes[][]=new double[a][a];
 
 
    //RELLENAR MATRIZ DE RIESGO
    matrizmet1[0][0]=50;
    matrizmet1[0][1]=50;
    matrizmet1[0][2]=50;
    matrizmet1[0][3]=50;
    matrizmet1[1][0]=50;
    matrizmet1[1][1]=50;
    matrizmet1[1][2]=50;
    matrizmet1[1][3]=50;
    matrizmet1[2][0]=50;
    matrizmet1[2][1]=50;
    matrizmet1[2][2]=50;
    matrizmet1[2][3]=50;
    matrizmet1[3][0]=50;
    matrizmet1[3][1]=50;
    matrizmet1[3][2]=50;
    matrizmet1[3][3]=50;
 
 
 
    //RELLENAR MATRIZ VIGILANTES
    matrizvigilantes[0][0]=0;
    matrizvigilantes[0][1]=0;
    matrizvigilantes[0][2]=0;
    matrizvigilantes[0][3]=0;
    matrizvigilantes[1][0]=0;
    matrizvigilantes[1][1]=1;
    matrizvigilantes[1][2]=0;
    matrizvigilantes[1][3]=0;
    matrizvigilantes[2][0]=0;
    matrizvigilantes[2][1]=0;
    matrizvigilantes[2][2]=0;
    matrizvigilantes[2][3]=0;
    matrizvigilantes[3][0]=0;
    matrizvigilantes[3][1]=0;
    matrizvigilantes[3][2]=0;
    matrizvigilantes[3][3]=0;
 
    //CONTROLAR EL NIVEL DE RIESGO METODO 1 Y MOSTRAR POR PANTALLA
    System.out.println();
    System.out.println("CONTROL NIVEL DE RIESGO METODO 1:");
        for (i = 0; i < a; i++){
            for (j = 0; j < a; j++) {
                if((i>=1&&j>=1)&&(i<a-1&&j<a)&&(matrizvigilantes[i][j]==1)){
                    matrizmet1[i-1][j-1]=45;
                    matrizmet1[i-1][j]=45;
                    matrizmet1[i-1][j+1]=45;
                    matrizmet1[i][j+1]=matrizmet1[i][j+1]-5;// 3 2
                    matrizmet1[i+1][j+1]=matrizmet1[i+1][j+1]-5;//3 3
                    matrizmet1[i+1][j]=(matrizmet1[i+1][j])-5;//2 3
                    matrizmet1[i+1][j-1]=matrizmet1[i+1][j-1]-5;//1 3
                    matrizmet1[i][j-1]=45;
                    matrizmet1[i][j]=99;
                }
                System.out.print(" "+matrizmet1[i][j]);
            }
            System.out.println();
        }
       System.out.println();
 
 
}
}
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

problema con matriz

Publicado por Renzo (232 intervenciones) el 19/06/2013 22:02:19
Mira, ejecuta esta clase y veras la diferencia de pintar los valores de la matriz cuando estas recorriéndola y cuando ya terminaste de recorrerla.

------------------------------------------------
import java.io.*;
public class NewClass1 {
public static void main(String[] args) throws IOException {
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
int a=4,i,j;
double alcance=0.13;
double matrizmet0[][]=new double[a][a];
double matrizmet1[][]=new double[a][a];
double matrizvigilantes[][]=new double[a][a];


//RELLENAR MATRIZ DE RIESGO
matrizmet1[0][0]=50;
matrizmet1[0][1]=50;
matrizmet1[0][2]=50;
matrizmet1[0][3]=50;
matrizmet1[1][0]=50;
matrizmet1[1][1]=50;
matrizmet1[1][2]=50;
matrizmet1[1][3]=50;
matrizmet1[2][0]=50;
matrizmet1[2][1]=50;
matrizmet1[2][2]=50;
matrizmet1[2][3]=50;
matrizmet1[3][0]=50;
matrizmet1[3][1]=50;
matrizmet1[3][2]=50;
matrizmet1[3][3]=50;



//RELLENAR MATRIZ VIGILANTES
matrizvigilantes[0][0]=0;
matrizvigilantes[0][1]=0;
matrizvigilantes[0][2]=0;
matrizvigilantes[0][3]=0;
matrizvigilantes[1][0]=0;
matrizvigilantes[1][1]=1;
matrizvigilantes[1][2]=0;
matrizvigilantes[1][3]=0;
matrizvigilantes[2][0]=0;
matrizvigilantes[2][1]=0;
matrizvigilantes[2][2]=0;
matrizvigilantes[2][3]=0;
matrizvigilantes[3][0]=0;
matrizvigilantes[3][1]=0;
matrizvigilantes[3][2]=0;
matrizvigilantes[3][3]=0;

//CONTROLAR EL NIVEL DE RIESGO METODO 1 Y MOSTRAR POR PANTALLA
System.out.println();
System.out.println("CONTROL NIVEL DE RIESGO METODO 1:");
for (i = 0; i < a; i++){
for (j = 0; j < a; j++) {
if((i>=1&&j>=1)&&(i<a-1&&j<a)&&(matrizvigilantes[i][j]==1)){
matrizmet1[i-1][j-1]=45;
matrizmet1[i-1][j]=45;
matrizmet1[i-1][j+1]=45;
matrizmet1[i][j+1]=matrizmet1[i][j+1]-5;// 3 2
matrizmet1[i+1][j+1]=matrizmet1[i+1][j+1]-5;//3 3
matrizmet1[i+1][j]=(matrizmet1[i+1][j])-5;//2 3
matrizmet1[i+1][j-1]=matrizmet1[i+1][j-1]-5;//1 3
matrizmet1[i][j-1]=45;
matrizmet1[i][j]=99;
}
System.out.print(" "+matrizmet1[i][j]);
}
System.out.println();
}
System.out.println();
System.out.println("-----");
for (i = 0; i < a; i++){
for (j = 0; j < a; j++) {
System.out.print(" "+matrizmet1[i][j]);
}
System.out.println();
}
}
}
------------------------------------------------


Saludos

Renzo
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