Questão 46: cardinalMSet
Voltar
Uma forma de representar multi-conjuntos de índices consiste em usar um array de inteiros contendo em cada posição o número de ocorrências desse índice. Assim o multi-conjunto {1, 1, 4, 7, 7, 7}
seria representado por um array em que as primeiras 8 posições conteriam {0, 2, 0, 0, 1, 0, 0, 3}
.
Apresente uma definição da função int cardinalMSet (int N, int v[N])
que calcula o número de elementos do multi-conjunto v
.
Exemplo
> int v[8] = {0, 2, 0, 0, 1, 0, 0, 3};
> cardinalMSet(8, v)
(int) 6
Resolução
int cardinalMSet (int N, int v[N]) {
int i, len = 0;
for(i = 0; i < N; i++) len += v[i];
return len;
}