[RESOLVIDO] Sobre Matrizes

Tenho um vetor assim : 2 1 0 , cada número desse corresponde a uma pessoa .
E tenho uma matriz com a distancia entre essas pessoas assim.

0 3 5
3 0 2
5 2 0
O que eu devo fazer é somar essas distancias de acordo com o vetor: distancia da (pessoa 2 p/ a 1) + (pessoa 2 p/ 0) + (pessoa 1 p/ pessoa 0).
soma=2+5+3

Se fosse para somar os valores seria simples assim, agora eu não posso estourar o tamanho do vetor, e tenho q usar os valores da matriz, o que fazer?

public void soma(){
    int soma=0;
    for (int l = 0; l < vetor.length; l++) {
        soma = soma + vetor[l];
    }
}

@joao123, você precisa somar os valores abaixo OU acima da diagonal principal.

Para isto, você deve iterar cada linha OU coluna. Se você escolher iterar cada linha, então, na primeira linha você soma a partir do segundo elemento na linha, na segunda linha, você deve somar a partir do terceiro elemento e assim por diante. Ficaria algo do tipo:

class soma {

    public static void main (String args[]) {

        int tam = 4; //alterar como quiser
        int[] vetor = new int[tam];

        // adicionar valores no vetor
        vetor[0] = 1;
        vetor[1] = 2;
        vetor[2] = 3;
        vetor[3] = 4;

        int[][] matriz = new int[tam][tam];

        // adicionar valores na matriz

        matriz[0][0]= 0;
        matriz[0][1] = 3;
        matriz[0][2] = 5;
        matriz[0][3] = 2;
        matriz[1][0] = 3;
        matriz[1][1] = 0;
        matriz[1][2] = 4;
        matriz[1][3] = 6;
        matriz[2][0] = 5;
        matriz[2][1] = 4;
        matriz[2][2] = 0;
        matriz[2][3] = 1;
        matriz[3][0] = 2;
        matriz[3][1] = 6;
        matriz[3][2] = 1;
        matriz[3][3] = 0;

        int soma = 0;
        for (int i = 0; i < vetor.length; i++) {
            for (int j = i+1 ; j < vetor.length; j++) {
                soma = soma + matriz[i][j];
            }
        }
        System.out.println(soma); //deve imprimir 21
    }            
}

Muito obrigada , resolvi meu problema! :wink:

:christmas_tree:

@joao123, você precisa adaptar seu código para receber um vetor de tamanho 3 e matriz 3x3 ou você pode fazer um loop e a cada loop você pede para o usuário imputar um valor da matriz.

//adicionar valores na matriz
for (int i = 0; i < tam; i++) {
    for (int j =0; j < tam; j++) {
        matriz[i][j] = valor_imputado_pelo_usuario;
    }
}