c) Sabendo que as senhas com a maior quantidade de caracteres são as senhas mais seguras,
deseja-se ordenar determinadas faixas de frequências de acordo com o tamanho das
senhas. Utilizando a função buscaFaixaFrequencia implementada no exercício
anterior, crie a função ordenaFaixaFrequencia que, dada uma certa faixa de
frequências, ela ordena somente as senhas presentes naquela faixa de frequência de
acordo com o tamanho das senhas (de modo crescente), mantendo o resto do vetor
inalterado. A função deve retornar 1 se encontrar ao menos um registro na faixa solicitada
e -1 se não for encontrado qualquer registro na faixa solicitada. A função também deve
retornar o índice inicial e final da faixa de frequências ordenada.
f) Uma senha pode ser considerada “não segura” se ela possuir uma quantidade muito
pequena de caracteres ou for utilizada por uma quantidade muito grande de usuários.
Para classificar as senhas não seguras, você deve criar uma lista simplesmente encadeada
contendo todas as senhas com menos de 4 caracteres ou cuja frequência de utilização é
maior que 40. Crie a função naoSegurasque recebe um vetor de ponteiros para Senhas
e retorna uma lista encadeada contendo todas as senhas não seguras existentes. Os nós da
lista devem ser representados pela seguinte estrutura:
struct nosenha{
Senha *senha;
struct nosenha *prox;
};
typedef struct nosenha NoSenha;
g) É importante saber o número de usuários que utilizam senhas não seguras. Para isso,
implemente a função recursiva contaUsuariosRecque recebe como parâmetro uma
lista simplesmente encadeada gerada pela função naoSeguras e retorne o total de
usuários que utilizam senhas não seguras. Lembre-se que a frequência de utilização da
senha indica o número de usuários que a utilizam. Obrigatoriamente a função deve ser
implementada de forma recursiva.
d) Utilizando as funções implementadas nos exercícios anteriores, modifique a função
principal do programa base fornecido de forma que ele permita que o usuário possa digitar
uma determinada faixa de frequência e o programa exiba na tela somente as senhas
existentes na faixa solicitada e em ordem crescente de acordo com o tamanho das senhas.
O programa também deve exibir na tela todas as senhas não seguras existentes
juntamente com o total de usuários que utilizam senhas não seguras.