Programação Imperativa

100 Questões Fichas Testes/Exames

Questão 32: maxCresc

Voltar

Defina uma função int maxCresc (int v [], int N) que calcula o comprimento da maior sequência crescente de elementos consecutivos num vetor v com N elementos.

Exemplo

> int v[10] = {1, 2, 3, 2, 1, 4, 10, 12, 5, 4};
> maxCresc(v, 10)
(int) 4 // correspondente a {1, 4, 10, 12}

Resolução

#define max(a,b) a > b ? a : b;

int maxCresc (int v[], int N) {
    int i, ans = 1, tempAns = 1;
    for(i = 1; i < N; i++) {
        if(v[i] > v[i-1]) tempAns++;
        else {
            ans = max(ans, tempAns);
            tempAns = 1;
        }
    }
    return max(ans, tempAns);
}