1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Perciso de ajuda a resolver este problema :S

Discussão em 'Programação' iniciada por NunO_oBealrmino, 18 de Outubro de 2008. (Respostas: 5; Visualizações: 496)

  1. Desenvolva um algoritmo que lê um número com mais de três algarismos e indica quantos dos seus algarismos são maiores que os seus vizinhos.


    Nao sei como resolver este algoritmo em pseudo codigo se alguem me der uma ajuda era muito bem vinda obrigado. . . .
     
  2. SunsetRider

    SunsetRider Power Member

    o algoritmo de ordenação chama-se bubble sort, agora o que tu precisas é de um contador que percorra o array, no teu caso especifico recebes um INT e pra isso tens que usar delimitadores para decompores o numero.

    Tens varias opçoes

    Em pseudo codigo nao sei explicar mas em java

    Código:
     
    
    public static void bubbleSort1(int[] x) {
        int n = x.length;
          for (int pass=1; pass < n; pass++) {  // count how many times
         
        for (int i=0; i < n-pass; i++) {
                      if (x[i] > x[i+1]) {
                           // Troca os elementos podes por aqui um contador. 
                             int temp = x[i];  x[i] = x[i+1];  x[i+1] = temp;
                    }
               }
          }
    }
    
    a Ideia é contar, a forma como contas acho q não é relevante, mas se queres um algoritmo pro teu problema, achama-se bubble sort ou pro teu caso "Bubble Count" n sei se existe.
     
  3. Ya a ideia é mesmo essa só que os profs da faculdade como ainda esta no incio de programaçao querem em pseudo codigo rofl é mesmo para rir se fosse em java ou se eventualmente podesse fazer um array com isso era muito mais facil:

    As unicas estruturas que se pode usar sao:

    For(estrutura para)
    repeat until (repetir ate)
    ou
    repeat while (repetir enquanto)
     
  4. SunsetRider

    SunsetRider Power Member

    nao consegues adaptar o codigo q te dei ?

    tens um livro que é o introduction to algorithms acho q tem lá o pseudo codigo q precisas saca esse livro e copia.
     
  5. tipo o teu codigo esta correcto para java como tu estas a utilizar um array e eu nao posso logo a partida nao vai dar e tbm depois tu usas o length metedo que nao existe em pseudo codigo pseudo codigo sux
    length
     
  6. Cheguei a esta conclusao deem opinioes e corrigam se acharem errado :

    Inicio
    cont <- 0
    cont2 <- 1

    Repetir
    Ler (num)
    Enquanto (num <= 999)

    copia <- num

    Enquanto (copia / 10 <> 0)
    cont2 <- cont2 + 1
    copia <- copia / 10
    Fim Enquanto

    copia <- num

    Para ( i <- 1 ate cont2 Passo 1)
    Se (i = 1) Entao
    Se (copia % 10 > (copia / 10) % 10) Entao
    cont <- cont + 1
    copia <- copia / 10
    Fim Se
    Fim Se

    Se (i + 1 = cont2) Entao
    Se (copia % 10 < (copia / 10) % 10) Entao
    cont <- cont + 1
    Fim Se
    Fim Se

    anterior <- num % 10
    digito <- (num / 10) % 10


    Se ( digito > anterior e digito > (copia / 10) % 10) Entao
    cont <- cont + 1
    Fim se

    num <- num / 10
    Fim Para

    Escrever (" O numero inserido tem ", cont," do seus algarismos maiores que os seus vizinhos")
    Fim
     

Partilhar esta Página