• Matéria: Informática
  • Autor: douglassesion
  • Perguntado 8 anos atrás

Faça um programa utilizando funções, que leia um array de 10 elementos e o imprima. Em seguida, o programa deve trocar o primeiro elemento com o último, o segundo com o primeiro, o terceiro como antepenúltimo, e assim sucessivamente. O programa também deve imprimir o array depois de efetivar a troca dos elementos.

Respostas

respondido por: bokomoko
0
Pode-se usar até recursividade aí .... 

veja só

Imagine uma função que troca o último elemento com o primeiro apenas
Exemplo: 
Dado o array original 
[ 1 , 2 , 3 ,4 , 5 , 6 , 7 , 8 , 9 , 10]
a função troca(um_array) troca o último elemento com o primeiro do array dado como parametro
então ela retornaria algo assim
[ 10, 2, 3, 4, 5, 6, 7, 8, 9, 1]

Agora imagine que ela seja aplicada a um sub_array que começa da segunda posição e vai até a penúltima, no caso 
[ 2 , 3, 4, 5, 6, 7, 8, 9] 
Aplicamos a função troca nesse vetor temos
[ 9, 3 , 4 , 5 , 6, 7, 8, 2] 
Ora, se chamarmos a função troca recursivamente, podemos fazer algo bem interessante assim
funcao troca( um_vetor) 
se o tamanho do vetor for = 2
      retornar o vetor formado pelo ultimo elemento seguido do primeiro
      elemento
senao
    retornar o ultimo elemento concatenado com o o vetor a partir do segundo elemento até o penultimo elemento concatenado com o primeiro elemento

Em python fica assim
https://repl.it/@bokomoko/embaralha-vetor-de-10-posicoes



Perguntas similares