Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Exercícios de Array


01. Crie uma função que recebe um array de 2 números e coloque eles em ordem crescente. Não use o método sort.

02. Crie uma função que recebe um array de 3 números e coloque eles em ordem crescente. Crie sua própria função para isso.

03. Crie um script que pergunte 3 números ao usuário, coloque em um array, depois exiba tal array.
Modifique os elementos do array de modo a a sequência de números ficar do contrário.
Ou seja, se digitou: 1,2,3
Vai aparecer: 3,2,1

04. Refaça o script anterior, mas agora pergunte ao usuário quantos números ele deseja inserir no array.
Depois, o usuário vai preenchendo elemento por elemento do vetor.
Ao final, exiba o array e o array ao contrário (generalização do script anterior).


05. Faça uma função que recebe um array de qualquer tamanho e ordene seus elementos na ordem crescente. Faça sua função na mão, não invoque nenhum método de sorting. Dica: pesquise sobre bubble sort.

06. Crie uma função que recebe um vetor e um número.
Ela deve mostrar todos os índices onde esse número aparece no vetor, e não só apenas o primeiro e/ou  último índice em que o número aparece (como nos métodos indexOf e lastIndexOf).

07. Crie um script que pede um inteiro positivo para o usuário. Em seguida, popule uma array com os números de Fibonacci, na hora de somar com os termos anteriores, some com elementos anteriores do array.

08. Faça o mesmo do exercício anterior, mas com fatorial.
Fatorial de 0: 0! = '
Fatorial de 1: 1 x elemento0 = 1
Fatorial de 2: 2 x elemento1 = 2
Fatorial de 3: 3 x elemento2 = 3 x 2 = 6
...
Fatorial de n: n x elemento(n-1) = n x (n-1)! = n!

08. Usando matriz (array de array), crie o jogo da velha. Inicialmente, as posições são variáveis vazias.
O usuário fornece a linha e a coluna e clica num botão, então é marcado no tabuleiro X ou O (se for o jogador 1 ou jogador 2) que

09. Peça ao usuário uma quantidade de linhas e e outra de colunas, depois declare tal matriz, inicialize todos os elementos de 1 até 'linha x coluna'.

7 comentários:

  1. Tenho uma dúvida, amigo.

    Eu consegui fazer o Buble sort tranquilo, mas quis deixar mais legível sando uma funçao troca dentro do buble sorte, tipo: troca(vetor[i],vetor[i-1]), assim:

    function troca(menor, maior){
    var aux;
    aux=menor;
    menor=maior;
    maior=aux;
    }
    Entretanto a troca não ocorre, sabe me dizer por que?

    ResponderExcluir
    Respostas
    1. faltou um if ai ne kkk if(a[i]>a[i+1])

      Excluir
    2. const x=[4,8,6,5,2,9,7];

      function BBsort(a=[]){

      for(j=0;ja[i+1]){
      var aux=a[i];
      a[i]=a[i+1];
      a[i+1]=aux;
      }
      }
      console.log(a);
      }

      BBsort(x);

      Excluir
  2. cade as respostas meu patrao?

    ResponderExcluir
  3. Resposta da questão 5:
    function bubbleSort(array){
    let tam = array.length
    let aux = 0

    for(let per = 0; per < tam - 1; per++){
    for(let pos = 0; pos < tam - per - 1; pos++){
    if(array[pos] > array[pos + 1]){
    aux = array[pos + 1]
    array[pos + 1] = array[pos]
    array[pos] = aux
    }
    }
    }
    return array
    }

    var button = document.querySelector('#button-inp')
    button.addEventListener('click', function clique(){
    let num1 = document.querySelector('#input1').value
    let num2 = document.querySelector('#input2').value
    let num3 = document.querySelector('#input3').value
    let num4 = document.querySelector('#input4').value
    let res = document.querySelector('#res')

    res.innerHTML =`Ordem crescente:
    `

    if(!num1 || !num2 || !num3 || !num4){
    alert('Por-favor, preencha todos os campos')
    }else{
    num1 = Number(num1)
    num2 = Number(num2)
    num3 = Number(num3)
    num4 = Number(num4)

    let array1 = [num1,num2,num3,num4]
    let resul = bubbleSort(array1)

    res.innerHTML += `${resul} `
    }
    })

    ResponderExcluir
  4. Questão 1: eu fiz assim

    function orderByAsc([n1, n2]) {
    const applyOrder = [n1, n2].reduce((n1, n2) => {
    return n1 < n2 ? [n1, n2] : [n2, n1];
    });
    return applyOrder;
    }
    console.log(orderByAsc([45, 23]));

    ResponderExcluir