Informática, perguntado por herlmanoel, 1 ano atrás

em java como verificar se um vetor esta em ordem crescente, decrescente ou ordenado?


liikearedsbr2: oq vc quer dizer com ordenado?

Soluções para a tarefa

Respondido por cledersonbc
0
int x, status = 0;
int vet[] = {1, 2, 3, 4, 5}; //Testar com 5, 4, 3, 2, 1 e 1, 2, 3, 5, 4

x = vet[0];

if (vet.length > 1) { //*ponto crítico aqui*
        if (x >= vet[1])
            status = -1;
        else
            status = 1;
}

        for (int i = 0; i < vet.length; i++) {
            if (x <= vet[i] && status == 1) {
                x = vet[i];
                continue;
            } else if (x >= vet[i] && status == -1) {
                x = vet[i];
                continue;
            } else {
                status = 0;
                break;
            }
        }

O que algoritmo faz?
Ele basicamente compara o vet[i - 1] (com i > 0) com vet[i] para ver se o elemento anterior foi menor ou maior que o atual e confere o status da ordem (1 = crescente até o momento, -1 = decrescente até o momento). Se o status muda, então é porque está desordenado.

Precisa delimitar o tamanho o vetor. Porque se o tamanho dele é igual a 1, não podemos afirmar que está ordenado ou desordenado. Em todo caso, meu algoritmo assume desordenado.
Respondido por nicolefc22
1

O código a seguir verifica se a ordem é crescente, decrescente ou ordenado?

int x, status = 0;

int vet[] = {1, 2, 3, 4, 5}; //Testar com 5, 4, 3, 2, 1 e 1, 2, 3, 5, 4

x = vet[0];

if (vet.length > 1) { //*ponto crítico aqui*

       if (x >= vet[1])

           status = -1;

       else

           status = 1;

}

       for (int i = 0; i < vet.length; i++) {

           if (x <= vet[i] && status == 1) {

               x = vet[i];

               continue;

           } else if (x >= vet[i] && status == -1) {

               x = vet[i];

               continue;

           } else {

               status = 0;

               break;

           }

       }

Programação

A função do algorítimo a seguir é comparar o vetor vet[i - 1] (com i > 0) com vet[i] , de forma que verifica:

  • o elemento anterior é menor ou maior que o atual
  • analisa o status da ordem do momento, onde:
  1.   1 = crescente
  2.  -1 = decrescente

O código que verifica verificar se um vetor está em ordem crescente, decrescente ou ordenado é:

int x, status = 0;

int vet[] = {1, 2, 3, 4, 5};

//Testar com 5, 4, 3, 2, 1 e 1, 2, 3, 5, 4

x = vet[0];

if (vet.length > 1) { //*ponto crítico aqui*

       if (x >= vet[1])

           status = -1;

       else

           status = 1;

}

       for (int i = 0; i < vet.length; i++) {

           if (x <= vet[i] && status == 1) {

               x = vet[i];

               continue;

           } else if (x >= vet[i] && status == -1) {

               x = vet[i];

               continue;

           } else {

               status = 0;

               break;

           }

       }

Aprenda mais sobre programação em: https://brainly.com.br/tarefa/29253823

Anexos:
Perguntas interessantes