Perciso de ajuda a resolver este problema :S

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. . . .
 
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.
 
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)
 
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.
 
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
 
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
 
Back
Topo