Programação Imperativa

100 Questões Fichas Testes/Exames

Questão 28: crescente

Voltar

Defina uma função int crescente (int a [], int i, int j) que testa se os elementos do vetor a, entre as posições i e j (inclusive) estão ordenados por ordem crescente. A função deve retornar 1 ou 0 consoante o vetor esteja ou não ordenado.

Exemplo

> int a[7] = {1,2,3,4,3,2,1};
> crescente(a, 0, 3)
(int) 1
> crescente(a, 0, 4)
(int) 0

Resolução

int crescente (int a[], int i, int j) {
    int k, cresc = 1;
    for(k = i; k < j && cresc; k++)
        if(a[k + 1] < a[k])
            cresc = 0;
    return cresc;
}