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.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts