Jump to content
andremachado

[Resolvido] Código Morse - Dúvida

Recommended Posts

andremachado

Boa noite

Eu estou a desenvolver um código em linguagem c, porém sou muito novato, por isso pedia compreensão pelos erros que tenho no meu código provisório que mostrarei a seguir...

Programa :

Desenvolver um problema que recebe como Imput o código morse fornecido pelo utilizador, o numero de palavras de um dicionário, e as palavras do dicionário e sai como output o numero de frases possíveis com aquele dicionário

http://uva.onlinejudge.org/external/11/1113.html - está aqui descrito

Exemplo :

imput :

.---.--.-.-.-.---...-.---.

6

AT

TACK

TICK

ATTACK

DAWN

DUSK

output :

2

Restrições:

aceita só letras maiúsculas

palavras do dicionário máximo =10 000

numero de caracteres da sequência morse = 1000

atenção: caso algum caracter do morse nao tem correspondencia na palavra -> lixo -> nao devolve nada

código actual:

...

funcoes passar morse para letras e letras para morse:

...

Edited by brunoais
Código removido a pedido

Share this post


Link to post
Share on other sites
HappyHippyHippo

antes do mais, parabéns por não vires pedir que te façam o trabalho.

agora as más notícias :

na string com o código morse não existe espaços entre simbolos o que invalida completamente todo o teu algoritmos de codificação/descodificação.

pequenos erros/anotações:

int main()
{

 char phr[1000];
 // isto é um array de caracteres, nunca irás guardar palavras aqui ...

 fgets(morse,1000,stdin);
 // fazes bem em usar o fgets, no entanto tens de te lembrar que :
 //  - se a string inserida tiver mais de 1000 caracteres, vai ficar lixo no buffer de leitura
 //  - se tiver menos, tens de tirar o caracter '\n' lido e que foi escrito no buffer 'morse'

 printf("sentence invalidates (over 1000 characters)");
 // ok, apresentas a mensagem, mas no entanto continuas a executar o código

 scanf("%d",&np);
 // les bem o número, mas não te esqueças da limpeza do buffer de leitura

 strcmp (morse, s2); /*create spaces in morse code - string funcion*/
 // errado, a única coisa que faz é comparar strings, em que uma delas (s2) nem sequer está inicializada

 // a função main deverá retornar algo !!!
}

typedef struct smorse{
   char letter;
   char *morse;
} Morsecode[100];
// 100 !!! elá, mas afinal só precisas de 27 ...
// não te esquecas que o tipo de dados fica automaticamente definido como um array !!!

morsecode[100]
// então a declaração do tipo de dados ??
// não deveria ser [i]Morsecode[/i] ???
// e sem [100], isso já está no tipo de dados

// o resto nem vi porque como disse acima, necessitas de rever o problema por causa dos espaços no código morse


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.