Inverção de matrizes [RESOLVIDO]

1. Inverção de matrizes [RESOLVIDO]

Augusto Cadini
tuto

(usa Fedora)

Enviado em 29/10/2011 - 18:01h

Olá pessoal, estou precisado fazer o seguinte exercicio:

Gera elementos para uma matriz A tipo vetor, igualar a uma matriz B de mesma dimensão, todos os valores.
Depois inverter a matriz B, ou seja, o elemento do indice A[0] sera o B[10], numa dimensão de 10 por exemplo.

Usei o seguinte método:

public class Exercicio4ListaA {

public static void main(String[] args){
int a[], b[];

a = new int[9];
b = new int[9];

for(int i = 0; i < a.length; i++){
a[i] = (int) (Math.random() * 100);
b[i] = a[i];
System.out.println(a[i] + " " + b[i]);
}
int i = 0;

System.out.println("Números invertidos: ");
int j = 9;
while(i < a.length){
b[j] = a[i];

System.out.println("A: " + a[i] + "B: " + b[j]);
i++;
j--;
}
}
}


Mas não funcionou, o que esta dentro do while nem executou, deu um erro:
Números invertidos:
"at Lista0.Exercicio4ListaA.main(Exercicio4ListaA.java:29)
Java Result: 1"

o que estou fazendo de errado?
Usei while, pq tentei for e nao deu também.


  


2. Re: Inverção de matrizes [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 29/10/2011 - 21:38h

O problema é o seguinte.
O vetor tem 9 elementos

após a linha que você mostra os números invertidos você faz:
int j = 9;

Ai depois você corre os elementos usando o j, por exemplo b[j], acontece que o vetor b[] tem 9 elementos e na hora de referenciar o ultimo elemento você deve considerar que o primeiro começa com 0, então o nono elemento tem que ser referenciado por 8.

Abraços


3. Re: Inverção de matrizes [RESOLVIDO]

Augusto Cadini
tuto

(usa Fedora)

Enviado em 31/10/2011 - 14:36h

Consegui amigo.
Fiquei um tempão olhando pra esse código até descobrir que era isso.
Mas obrigado pela ajuda.