Prazo de entrega:
Segunda chance:
Esta tarefa tem peso 4.
Você deve conhecer e utilizar conceitos de hashing e hash table. Além disso, você deve utilizar tipos de dados primitivos e tipos de dados compostos, como strings.
Ana está prestes a defender o seu mestrado e está correndo contra o tempo para entregar a versão final de sua dissertação. Como ela tem virado a noite escrevendo e muitas vezes dormido mal, Anna acaba cometendo vários erros de digitação durante a escrita do texto.
Anne precisa da sua ajuda para corrigir os erros de digitação, que podem ser esquecer de digitar um caractere, inserir um caractere a mais, ou digitar um caractere trocado.
Sua tarefa é fazer um programa em C com nome corretor
que, dada uma lista de
palavras que correspondem a um dicionário, indica o nível de correção de cada
palavra do texto. Os níveis são:
-
verde: a palavra está correta, isso é, está no dicionário;
-
amarelo: a palavra possui exatamente um erro de digitação, isso é, corresponde a um único erro de digitação de alguma palavra no dicionário;
-
vermelho: quando a palavra possui pelo menos dois erros de digitação.
Entrada
A entrada é composta por várias linhas. A primeira linha contém dois inteiros
Você pode supor que
5 3
algoritmos
demonstracao
linear
inteira
exato
algoritmoss
intiera
linear
Saída
A saída do seu programa deverá apresentar
algoritmoss: amarelo
intiera: vermelho
linear: verde
Observe que a palavra intiera
possui dois caracteres trocados, i
por e
e e
por i
.
Critérios
É obrigatório o uso de tabela de hashing para resolver esta tarefa eficientemente.