Ir para conteúdo
Fórum Script Brasil
  • 0

Inverter Vetores


VILLA_LOBOS

Pergunta

alguém consegue fazer o seguinte, e me dar uma força?

preciso preencher um vetor de 10 posições... até ae beleza...

em seguida, preciso inverter esse vetor....

eu criei outor vetor, (matriz unidimensional).....

e fiz dois for..... mas não to conseguindo a lógica

alguém pode me ajudar?

um abraço.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

olha o codigo ae

import javax.swing.*;

public class Exercicio2 {

/** Creates a new instance of Exercicio2 */

public Exercicio2() {

}

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

double[] matriz,maux;

matriz = new double[10];

maux= new double[10];

int i=0,j=0;

String s="",c="";

int aux=0;

for (i=0; i<matriz.length; i++)

{

s+=(JOptionPane.showInputDialog("Informe valor"));

matriz = Double.parseDouble(s);

}

JOptionPane.showMessageDialog(null,"Valores \n"+s);

aux=maux.length;

for (i=0; i<matriz.length; i++)

{

maux[aux] = matriz;

c += Double.toString(maux[aux]);

aux--;

}

JOptionPane.showMessageDialog(null,"Valores Invertidos \n"+c);

}

}

ta dando esse erro:

java.lang.ArrayIndexOutOfBoundsException: 10

at Exercicio2.main(Exercicio2.java:42)

deve ser estouro de matriz, mas como eu resolve, hein?

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui:

aux=maux.length;
Você atribui o "tamanho" (length) do vetor para a "aux", que é 10, porém os índices vão de 0 a 9 (ou seja, são 10 elementos). Length te retorna o tamanho do vetor e não o último índice dele (esse é Length-1). Agora, não seria mais simples apenas inverter os valores das posições? 0 com 9, 1 com 8, 2 com 7, 3 com 6 e 4 com 5? Veja:
import javax.swing.JOptionPane;

public class Exercicio2 {
	public static void main(String[] args) {
  double matriz[] = new double[10];
  int i=0;
  double aux;
  
  String s = "";
  String valores = "";
  String ivalores = "";
  
  for (i=0; i<matriz.length; i++)
  {
  	s = JOptionPane.showInputDialog("Informe valor");
  	matriz[i] = Double.parseDouble(s);
  	valores += s + ", ";
  }
  
  JOptionPane.showMessageDialog(null,"Valores \n" + valores);
  
  for (i=0; i<(matriz.length/2); i++)
  {
  	aux = matriz[i];
  	matriz[i] = matriz[matriz.length-i-1];
  	matriz[matriz.length-i-1] = aux;
  }

  for (i=0; i<matriz.length; i++)
  {
  	ivalores += Double.toString(matriz[i]) + ", ";
  }
  
  JOptionPane.showMessageDialog(null,"Valores Invertidos \n" + ivalores);
	}
}

Sacou? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...