Programação Imperativa

100 Questões Fichas Testes/Exames

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