Vetor!

5 respostas
L

Galera , eu fiz essa parada que ele faz o seguinte mas não se esta certo queria opniões!

vo explicar o que seria isso...

Então ele vai ler 20 posições e mostre- o, em seguida, troque o primeiro elemento com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e assim sucessivamente. Mostre o novo vetor depois da troca. "

(OBS: não trabalho de facul)

import java.util.*;
public class Exercicio_5 {

   
    public Exercicio_5() {
    }

  
    public static void main(String[] args) {
       

        int numeros[] = new int [4];
        int trocado[] = new int [4];
        int  i, t;

        Scanner en = new Scanner (System.in);

       for (i=0; i<4; i++)
       {
       	System.out.println ("Digite um número");
       	numeros[i] = en.nextInt ();
       }

       for (i=4; i>0; i--)
       {
       	for (t=0; t>4; t++)
       	trocado[t] = numeros[i];
       	}
   

       for (i=0; i<4; i++)
       	System.out.println ("O novo vetor ficará assim:" + numeros[i] );
    }
}

5 Respostas

eberson_oliveira

Olá,

Você pode fazer a troca com o seguinte for:

for ( int i = 0; i < numeros.length / 2; i++ ) { int numAux = numeros[ i ]; numeros[ i ] = numeros[ numeros.length - 1 - i ]; numeros[ numeros.length - 1 - i ] = numAux; }

Fiz apenas alguns testes… com apenas uma posição… e com algumas posições preenchidas… acho que está funcionando…

[]s
Éberson

L

opa blz!!

bom eu trocar nesse [color=orange]for[/color]

----> for (i=0; i<4; i++) System.out.println ("O novo vetor ficará assim:" + numeros[i] ); } }

edu_fernandes

Respondendo a sua pergunta.
Não está certo.

Uma dica valiosa. Ponha no papel o problema, não queira sair implementado sem antes ter visualizado corretamente o problema.
Se voce tem um vetor e tem que trocar o ultimo com o primeiro e assim por diante vamos desenhar…

[1][2][3][4][5]
Respectivas posições;
[0][1][2][3][4]

Voce tem que passar o ultimo pro primeiro.
Lógicamente teria que fazer o seguinte.

Pegar o valor da primeira posição e trocar com o valor da posição máxima do vetor.
Você pode fazer isso com apenas um vetor meu caro.

Armazene em uma variável o valor da primeira posição.
Passe o valor do ultimo para a primeira posição.
Copie o valor da variável para a ultima posição.

Vamos andar o vetor.
Ao chegar no segundo elemento eu tenho que trocalo com a posição máxima - 1;
Armazene em uma variável o valor da segunda posição.
Passe o valor do penultimo para a segunda posição.
Copie o valor da variável para a penultima posição.

Vamos andar o vetor.
Ao chegar no terceiro elemento eu tenho que troca-lo com o da posição máxima-2;
Armazene em uma variável o valor da terceira posição.
Passe o valor do anti penultimo valor para a terceira posição.
Copie o valor da variável para a penultima posição.

E assim por diante.

Lógicamente é assim que funciona e depois dessa dica pra implementar é easy.

Tente resolver sempre seus problemas assim. Pense matemáticamente e ponha no papel, somente depois implemente.
Fica bem mais fácil assim não acha?

Espero ter ajudado.
Boa sorte com o projeto.

eberson_oliveira

edu_fernandes:
Respondendo a sua pergunta.
Não está certo.

Uma dica valiosa. Ponha no papel o problema, não queira sair implementado sem antes ter visualizado corretamente o problema.
Se voce tem um vetor e tem que trocar o ultimo com o primeiro e assim por diante vamos desenhar…

[1][2][3][4][5]
Respectivas posições;
[0][1][2][3][4]

Voce tem que passar o ultimo pro primeiro.
Lógicamente teria que fazer o seguinte.

Pegar o valor da primeira posição e trocar com o valor da posição máxima do vetor.
Você pode fazer isso com apenas um vetor meu caro.

Armazene em uma variável o valor da primeira posição.
Passe o valor do ultimo para a primeira posição.
Copie o valor da variável para a ultima posição.

Vamos andar o vetor.
Ao chegar no segundo elemento eu tenho que trocalo com a posição máxima - 1;
Armazene em uma variável o valor da segunda posição.
Passe o valor do penultimo para a segunda posição.
Copie o valor da variável para a penultima posição.

Vamos andar o vetor.
Ao chegar no terceiro elemento eu tenho que troca-lo com o da posição máxima-2;
Armazene em uma variável o valor da terceira posição.
Passe o valor do anti penultimo valor para a terceira posição.
Copie o valor da variável para a penultima posição.

E assim por diante.

Lógicamente é assim que funciona e depois dessa dica pra implementar é easy.

Tente resolver sempre seus problemas assim. Pense matemáticamente e ponha no papel, somente depois implemente.
Fica bem mais fácil assim não acha?

Espero ter ajudado.
Boa sorte com o projeto.

É exatamente isso que meu for faz…

Só não coloquei o código da solução completa por não ter certeza de que isso não é um exercício de facul. Caso não seja, ele saberá onde por o for e atingir o objetivo.

[]s
Éberson

L

opa valeu pela…dica !!!

ja estou fazendo os testes !!! pelo jeito esta certo…

valeu!
éberson
edu_fernandes

abrxx

Criado 22 de novembro de 2010
Ultima resposta 22 de nov. de 2010
Respostas 5
Participantes 3