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);
}