1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Alternar valores em um vetor em C

Alguém pode me ajudar com esse exercício? Eu só consigo trocar o valor da posição 9 para o maior.

Preencha um vetor de números inteiros, de 10 posições, com números randômicos entre o intervalo 0 e 49.

• Apresente os números do vetor.

• Coloque o maior número na posição 9, e o valor da posição 9 para a posição que o maior número ocupava (inverta as posições do maior número com a posição 9)

Exemplo:

Posição 0 1 2 3 4 5 6 7 8 9 Valor 22 13 47 6 18 35 28 44 5 16

Posição 0 1 2 3 4 5 6 7 8 9 Valor 22 13 16 6 18 35 28 44 5 47


Consegui chegar nessa lógica apenas:

int main(){

    int vet_numero[10];
    int cont, maior, pos, aux;

    srand(time(NULL));

    for(cont = 0; cont <= 9; cont++){

        vet_numero[cont] = rand() % 50;        
        printf("[%i] - numero: %i\n", cont, vet_numero[cont]);

        if(vet_numero[cont] > maior){

            maior = vet_numero[cont];
            pos = cont;    

        }
    }
    printf("\n");


    for(cont = 0; cont <= 9; cont++){
        printf("[%i] - numero: %i\n", cont, vet_numero[cont]);

        if(cont == pos){
            vet_numero[9] = maior;
        }
    }

    system("pause");
    return 0;
}

Obrigado!!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags code-readability arrays ou faça a sua própria pergunta.