Escreva uma função que recebe um vetor como parâmetro e inverte a ordem dos elementos do vetor no mesmo vetor

9 respostas
stedelboux

Olá pessoal, alguém pode me ajudar com esse exercício?

Escreva uma função que recebe um vetor como parâmetro e inverte a ordem dos elementos do vetor no mesmo vetor.
Exemplo:
V[] = { 4, 9, 10, 8, 6} o vetor V[] invertido é {6, 8, 10, 9, 4}

9 Respostas

staroski

Posta o código que você já começou a fazer.

Marco_Damasceno

Bom dia, seria possível me ajudar em um problema similar?

Preciso enviar o vetor A do tipo int para uma função que deve retornar um vetor com os mesmos valores, porém, ordenados do maior para o menor.
O problema é que não sei como fazer essa passagem de parâmetros.

FearX

Seria. Posta seu código pra gente te ajudar.

Passagem de parâmetro se faz na assinatura do método:

public int[] ordenaArray (int[] parametroDoTipoVetorDeInt){
//implementação do método;
}
Marco_Damasceno

public class formacao {
public static void main(String Args[]){

int tamanho;
    tamanho = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual o tamanho do vetor? "));
    int A[] = new int [tamanho];
    for(int i=0; i<A.length;i++){
        A[i] = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o número " +i));
    }
    
    int B[] = new int [tamanho];
    
    B[] = ordenar(A);
    
    for(int i=0;i<A.length;i++){
        System.out.println(A[i]);
    }
    
}
    
public static int[] ordenar(int A[]){
    int aux;
    for(int i=0;i<A.length;i++){
        for(int u=i;u<A.length;i++){
            if(A[u]<A[i]){
                aux = A[u];
                A[u] = A[i];
                A[i] = aux;
            }
        }
    }
    return(A);
}

}

FearX

Você tem que chamar ordenar(A[]);

Marco_Damasceno

Coloquei dessa maneira mas deu erro

B[] = ordenar(A[]);

FearX

E qual foi o erro? Não temos bola de cristal.

stilovl

o método pra retornar do menor para o maior é esse :

public static int[] ordenar (int a[]){

int aux;
    for (int i = 0; i < a.length; i++){
        for (int u=i; u < a.length; u++){
            if (a[u] > a[i]) {
                aux = a[u];
                a[u] = a[i];
                a[i] = aux;
            }
        }
    }
    return a;
}

quando for chamar o método faz assim :

<strong>int</strong>[] array = {10,1,20,5};

<strong>int</strong>[] retorno = ordenar(array);

<strong>for</strong> (<strong>int</strong> i : u){

System.<em>out</em>.println(i):

}
Marco_Damasceno

Nossa cara, muito obrigado, era essa a dificuldade que eu estava tendo, não sabia sintaxe correta para retornar o vetor, valeu!

Criado 16 de fevereiro de 2020
Ultima resposta 17 de mar. de 2020
Respostas 9
Participantes 5